LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - General (https://www.linuxquestions.org/questions/linux-general-1/)
-   -   New Kernel unable to mount root device (https://www.linuxquestions.org/questions/linux-general-1/new-kernel-unable-to-mount-root-device-386927/)

xprometeus 11-27-2005 06:00 AM

New Kernel unable to mount root device
 
Hello ,


I am now using old RH9 , i downloaded new vanilla kernel 2.4.32 and build it,I used same
.config for it which is contributed with default RH9 kernel sources (2.4.20), everything looks fine but when i try to boot it with grub i get

,,Kernel panic unable to mount root device"

_________________________________________
title Red Hat Linux (2.4.32)
root (hd0,4)
kernel /vmlinuz-2.4.32 ro root=LABEL=/
initrd /initrd-2.4.32.img
__________________________________________

How can I check where is my Root device , i mean ,,/" (partition where are all my programs)?
How can i boot this kernel ?

Maybe it have something to do with my hardware, because I have Silicon Image SATA controller Sil3112A .I checked .config and in it is to build Silicon Image controller directly
to kernel (not as module)

lacerto 11-27-2005 06:19 AM

Did you create the initrd?

xprometeus 11-27-2005 06:31 AM

yes i have created it manualy with
mkinitrd /boot/initrd-2.4.32 2.4.32

and also when i try run make install ,red hat have some sripts which automaticaly generate initrd and make changes in grub.conf

lacerto 11-27-2005 06:49 AM

Got to be careful not to give you a bad idea here, but in Gentoo and SUSE the root option (where you have root=LABEL=/ ) is supposed to point to your real root device i.e. root=/dev/sda or whatever it is.

I only point this out, as I don't see yours pointing anywhere, but then again I don't quite know what the LABEL option does - perhaps it is the actual label of the device?

The only other thing I'd check is just ensure the initrd is there - I've only ever seen this problem when it can't find the initrd

xprometeus 11-27-2005 07:18 AM

No , I'm sure it can read initrd , for example if i make change

title Red Hat Linux (2.4.32)
root (hd0,4)
kernel /vmlinuz-2.4.32 ro root=LABEL=/
initrd /initrd-abrakadabra.img


grub stops ,and print something like ,,could not find file initrd-abrakadabra.img"

Just Kernel cant see my root directory. I think Label meant to set root partition to that one with label name ,,/"
On mandrake i see something like this
kernel /vmlinuz-2.4.32 ro root=0307 - root is hdc7

Maybe initrd is not good ... i really don't know where is problem

lacerto 11-27-2005 07:26 AM

Can you try setting root= the physical device where "/" is? i.e hda4 or whatever it is

Also, if it still dont work, post up the output of fdisk

sundialsvcs 11-27-2005 10:17 AM

You will find the actual cause of the problem in the messages which precede the actual kernel-panic message.

Some of the possibilities include:
  • The location of the root directory, which should be specified by the root= kernel-parameter at boot, was not specified or not specified correctly.
  • I've found that specification by means of labels, vs. an actual device-spec like root=/dev/hda3, doesn't work for me.
  • It's easy to specify the wrong device/partition! Make sure that you're not pointing to the boot-directory or to a swap-partition by mistake. Linux counts partitions starting at #1; Grub counts them from #0. Often the first partition is /boot; the second is swap; and the third (/dev/hda3) is the root. If you are booting from a slave drive, then it might be /dev/hdbx, and /dev/hda might contain (ick!) Windows. ;)
  • The kernel might not have support for the disk device and/or the filesystem being used. (I make it a point to put all of these into the kernel.)
  • The wrong filesystem types, or locations, can be specified in /etc/fstab.
  • There might be something actually wrong with the contents of the disk... such that a LiveCD can't mount the drive either.


All times are GMT -5. The time now is 10:19 AM.