I have a fairly old PC running Gentoo with a 2.6.38 kernel. The machine was built on a stack of UW160 SCSI drives and an Adaptec 39160 controller and works fine. However, the drives are now rather on the small size so I have installed a SATA controller and a pair of SATA drives. The controller is based on the Sil3512 controller, so I've re-compiled the kernel to include support for sata_sil. That all works well, and I've partitioned the new drives and copied across the filesystems.
After doing this, it wouldn't boot, sticking at the grub> prompt resisting all attempts to boot it. I decided to clean things up, so I booted a CD running a 2.6.38 kernel and chrooted into my new disks, spent some time emerging newer versions of packages so I could get a more up-to-date portage installed, re-installed the grub bootloader and generated an initramfs; the initramfs was built without specifying any modules as the crucial drivers are in the kernel.
Now when I boot, I get a message stating "Could not find the root block device in ." I opted to go to the shell where I ran mount with the following result (only the relevant line shown) /dev/sda2 on /newroot type ext3 (ro)
My menu.lst file contains these entries for the kernel I'm using:
kernel /vmlinuz-2.6.38-gentoo root=/dev/sda2 init=/bin/bash rootfstype=ext3
initrd /initramfs-genkernel-x86-2.6.38-gentoo.
The /boot partition is sda1 and the root partition is sda2.
I don't understand why it's reporting it can't find the root block device, then successfully mounts it on /newroot (I've checked and the entire filesystem is as I expect it); any ideas what I could be missing here?




