[vox-tech] new kernel -> kernel panic

Issac Trotts vox-tech@lists.lugod.org
Fri, 27 Dec 2002 17:24:06 -0800


On Fri, Dec 27, 2002 at 03:28:20PM -0800, ME wrote:
> Good reading:
> Very good for building a kernel: (good idea to read through this before
> building your own.)
> http://www.linux.org/docs/ldp/howto/Kernel-HOWTO.html
> 
> Details on kernel modules:
> http://www.linux.org/docs/ldp/howto/Module-HOWTO/index.html
> 
> (bootloader info with LILO:)
> http://www.linux.org/docs/ldp/howto/BootPrompt-HOWTO.html
> (Bootloader for GRUB)
> http://www.cri74.org/linux/howto/grub-howto-2.html
> 
> The above can help answer many questions you might have. :-)
> 
> (more)
> 
> Issac Trotts said:
> > On Fri, Dec 27, 2002 at 01:02:00PM -0800, ME wrote:
> >> This suggests that you are using CFS (Cryptographic Filesystem) for
> >> your root filesystem ("/") and the new kernel does not have support
> >> for it.
> >>
> >> 03:02 refers to device major 03 (hda) minor 2 (partition 2) or
> >> /dev/hda2
> >>
> >> It is also possible that support for ide controllers was omited from
> >> your new kernel. Verify that you have ide support in this kernel/
> >
> > I guess the only way to be sure is to compile the kernel myself...
> 
> With the *nix way, there is often more than one way...
> With RedHat and Debian, you can often get ahold of the ".config" file
> that was used when your distro compiled the kernel they give to you in
> pre-compiled format. You can often find a ".config" file located in the
> root of the kernel source tree. As configuration options are changed for
> the kernel to be compiled, this file is updated to reflect the new
> choices. It is a "human readable" text file which permits you to see
> what config options were enabled, and which were not or set to be
> modules.
> 
> For example, when I look at the contents of this file, I see:
> [chop]
> #
> # IDE, ATA and ATAPI Block devices
> #
> CONFIG_BLK_DEV_IDE=y
> [chop]
> Telling me the config file includes (=y) support fore IDE as a static
> part of the kernel (not a module (=m))
> 
> Another? During kernel boot, you can look for mention of the item that
> seems to be missing. In this case, look for mention of ide devices. An
> example:
> [chop]
> Dec 14 23:44:20 hoch kernel: hda: WDC WD200BB-18DEA0, ATA DISK drive
> Dec 14 23:44:20 hoch kernel: hdc: CD-224E, ATAPI CD/DVD-ROM drive
> Dec 14 23:44:20 hoch kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> Dec 14 23:44:20 hoch kernel: ide1 at 0x170-0x177,0x376 on irq 15
> [chop]
> 
> Lacking sight of the above based on your reported error, I would expect
> your kernel did not have support for your ide controller included as a
> static part of the kernel.
> 
> There are other methods for when you have a booted system and can inspect
> proc and examine available modules.
> 
> >> Did you build your own kernel, or use one from your vendor?
> >
> > The old kernel was a 2.2.18 binary from Debian.  The new one was a
> > 2.4.something binary from Debian.
> >
> >> Did the previous kernel use an initrd disk image to preload modules
> >> before switching roots?
> >
> > I'm not sure.  How can I find out?
> 
> Your bootloader program (LILO/GRUB) would include directives for the
> kernel to use an initrd image. Such things make options like "root
> filesystem software/kernel RAID support" or "NFS root with special boot
> CD" easier. It permits you to have a kernel start up, load critical
> modules, and the switch its root from the initrd to the device that
> would not otherwise be possible (or easy) if the kernel tried to boot
> directly and mount its root.
> 
> )I think most Debian are not initrd based kewrnels, but newer RedHat often
> use initrd based kernels, but I could be very wrong on this point as I
> usually build my own patched kernel.
> 
> For LILO, inspect /etc/lilo.conf
> 
> For GRUB? (not sure, but other members use it on this list and they may
> be able to help with this.)
> 
> >> in your bootloader,m what is your root= set to?
> >
> > Do you know where to find bootloader,m ?
> 
> Sorry, typo. "bootloader". As I understand it, GRUB is more userfriendly
> and forgiving, while LILO is older with an established user base. For
> LILO, you configure your kernel's boot options (such as where it should
> look for its root filesystem and if it should use an initrd or not, and
> possibly specify hardware configurations and assignments (uncommon).)
> With "LILO" after you modify your /etc/lilo.conf to know about your new
> kernel (usually without tossing out your working kernel so you can fall
> back to it if something should break) and then you run "lilo" to have
> the MBR (master boot record - or wherever boot= was set to write lilo
> boot info). This is how lilo is able to learn about new kernels.
> 
> Since you are using grub, it is a bit different.
> 
> Perhaps reading the man pages for grub can help you locate the grub
> config file, or another user who uses grub can help you with it.

Excellent.  Thanks very much for your assistance.

Issac