Click to See Complete Forum and Search --> : VFS kernel panic :-(


cfaun5
06-04-2004, 06:29 PM
I am having trouble booting a 2.6.6-1 kernel on debian (I compiled it). I have searched extensibly on this: my root paritition is ext3 and ext3 is compiled into the kernel (not as a module). In addition, MTRR is compiled in. VFS is as well. On the lilo prompt, I add root=/dev/hda7 (which is my root partition. The errors are:

VFS: Cannot open root device "hda7" or unkown block(0,0)
Please append the correct "root" boot option"
Kernel panic: VFS...

I am at a loss. If anyone could give me a a pointer, or a link, I would be very appreciative.

gehidore
06-04-2004, 07:02 PM
you will also need something like


boot=/dev/hda


to install lilo to the mbr, if you can boot from a live cd and chroot into your system add that then run

root@yourbox#lilo

cfaun5
06-04-2004, 08:50 PM
my lilo.conf already had that on the second line.

However, I tried to add boot=/dev/hda to the options to the kernel:
linux root=/dev/hda7 boot=/dev/hda

To no avail.

gehidore
06-05-2004, 03:22 AM
Originally posted by cfaun5
my lilo.conf already had that on the second line.

However, I tried to add boot=/dev/hda to the options to the kernel:
linux root=/dev/hda7 boot=/dev/hda

To no avail.

did you execute lilo?

cfaun5
06-05-2004, 09:10 AM
Yes. My lilo.conf is attached. Although it does not have an append="root=/dev/hda7", I enter that manually on the lilo command line. My kernel is a non-initrd kernel, version 2.6.6-1.

cfaun5
06-05-2004, 09:15 AM
Also, here is my kernel .config.

bwkaz
06-05-2004, 09:36 AM
Boot to a rescue CD or something similar, mount /dev/hda7, and look in its /dev directory. Make sure that hda7 is there.

Also, hda7 is the third logical partition inside the first extended partition. Are you sure that's right?

From the rescue CD, do an fdisk -l /dev/hda to see which partitions are defined.

Try changing append="root=/dev/hda7" to root=/dev/hda7 (in other words, lilo has a specific "root" directive that means you don't need to add that option using "append").

Also, kernel 2.6 uses some different disk geometry calculations than kernel 2.4 did. You have to make sure the old geometry is in effect when you're partitioning, otherwise your partition table will be screwy. There are instructions on how to fix it here, if that might be the problem:

http://groups.google.com/groups?hl=en&lr=&ie=UTF-8&selm=1Gjko-6Y1-5%40gated-at.bofh.it&rnum=4

Although it usually bites people that are trying to dual-boot (Windows stops booting due to incorrect values of C/H/S in the partition table, while Linux uses the LBA values in the partition table), it might be related.

cfaun5
06-05-2004, 10:52 AM
I can still boot from my 2.2 kernel so I did it in there:

cfaun@laptop:~$ ls /dev/hda7
/dev/hda7

laptop:/home/cfaun# fdisk -l /dev/hda
Warning: ignoring extra data in partition table 8
Warning: ignoring extra data in partition table 8
Warning: ignoring extra data in partition table 8
Warning: invalid flag 0xfffffeff of partition table 8 will be corrected by w(rite)

Disk /dev/hda: 12.0 GB, 12072517632 bytes
255 heads, 63 sectors/track, 1467 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/hda1 * 1 818 6570553+ b W95 FAT32
/dev/hda2 819 1467 5213092+ 5 Extended
/dev/hda5 819 983 1325331 83 Linux
/dev/hda6 998 1011 112423+ 82 Linux swap
/dev/hda7 1012 1467 3662788+ 83 Linux
/dev/hda8 ? 983 983 2147483647+ ff BBT

Partition table entries are not in disk order

The root directive was already in lilo.conf

The instructions for fixing geometry seem to involve loading a module. However, how can a 2.6 module be loaded when the kernel hasn't even started yet w/o a panic?

Thanks,
cfaun

cfaun5
06-05-2004, 12:40 PM
just an interesting observation. When I have the root="/dev/hda7" option, it says unknown block(0,0), while without it it says unknown block(3,7).

Also, the new 2.6 geometry cannot be the problem as I have the exact same problem with 2.4 kernels.

Thanks in advance,
cfaun5

cfaun5
06-05-2004, 02:41 PM
Please disregard the previous message. I give up and am switching to linux mandrake...

Thank you very much for all your help up to this point,
cfaun5

bwkaz
06-05-2004, 08:29 PM
Originally posted by cfaun5
I can still boot from my 2.2 kernel so I did it in there: Um, that's not a good test. ;)

If you're running any kernel that's booted to your root filesystem, it could easily have changed /dev as it booted (the most obvious way to change it would be devfs, which may have been patched into your 2.2, I'm not sure). When you use a separate boot CD (or boot+root disk, like tomsrtbt), you don't actually modify the host's /dev directory. You only view it.

Of course, it doesn't matter if you're moving to Mandrake, but hey whatever. (Do watch out for that geometry issue when installing Mandrake 10, though, if you plan on dual booting Windows...)