It is true that when you start using Gentoo, you learn a lot about Linux, because it appears some problems that you have to solve, and you need to understand something before you can fix it.
That was the case when I installed Gentoo Linux at my office, I do already have Ubuntu Linux installed there, so I followed the alternate method of installation which is really easy cause you have a running system with browser and Internet while installing so, you can be reading the instructions, and also googling if you find problems.
But, following that method made me make a mistake and as soon as I tried to boot into my new Gentoo, I got this error:
Kernel panic - not syncing:VFS: Unable to mount root fs on unknown-block (1,2)
The problem was on two files,
/etc/fstab and /boot/grub/grub.conf (aka /boot/grub/menu.lst)
You may have the problem only in one of them.
How do this files work?
the grub.conf file tells Linux where the Kernel is and also where root partition is.
title Gentoo Linux 2.6.25-r8 root (hd2,5) kernel /boot/kernel-2.6.25-gentoo-r8 root=/dev/hdc7
This is part of my grub.conf file.
The root(hd2,5) is saying Linux where is the boot partition and it means, Third hard disk (the 0 counts and is the first disk) and sixth partition, in that disk. so, it is /dev/sdc6 or /dev/hdc6.
the next line is saying where to find the kernel and the root partition.
Then, is the fstab file, which tells Linux the partitions to mount, and where to mount them.
/dev/hdc6 /boot ext2 defaults,noatime 1 2 /dev/evms/sda5 none swap sw 0 0 /dev/hdc7 / ext3 noatime 0 1
This is part of my /etc/fstab file, and it is telling Linux to mount /dev/hdc6 as /boot and /dev/hdc7 as root partitions.
This configuration works now, but when I first wrote this files (by hand as Gentoo needs ‘cause there is no automatic tool to make it for you), I entered sdc</strong> where I should have write hdc* this was because Ubuntu names all partitions as s even if they are ATA and not Serial ATA.
This not only happens in Gentoo, I have seen a lot of people asking for this error in forums, and all you need is to double check this two files, because is almost sure that the problem is in one or in both of them.