I have a system running VMWare server. I can boot the Gentoo install CD (I used minimal) in a guest virtual machine, and it installed fine, but when I try to boot up the installed guest it can't find the root device: >> Activating udev >> Determining root device... !! Block device /dev/sda2 is not a valid root device... !! The root block device is unspecified or not detected I've checked "grub.conf" quite a few times and I'm pretty sure it's right.I can boot the virtual machine with the Gentoo install CD, mount /dev/sda2 and chroot into it with no problems.
What is your partition layout and please post your grub.conf as an attachment. Honestly, I should close this as WORKSFORME, since it is definitely something with your configuration if the InstallCD boots fine, but you're one of the "good guys" that tends to help us out when we ask, so I'll help you out. *grin*
Also double check if your kernel supports the filesystem and the (virtual) scsi device, if you want you can attach your .config to this bug and I will check it for you.
if your kernel actually contains and is loading the appropriate modules (check output of dmesg, it should show /dev/sda2 being assigned)..then it could be a udev problem. I've seen that happen when setting up a vmware image using the latest 2006.0 livecds. I think I had to manually mknod the /dev/sdaX file in /dev and ensure that a tarball of /dev was being saved during restarts. I dont know why the problem occured - I think somehow the install process didnt create the initial tarball so first time your boot up, everything goes to hell. Hopefully, this isnt the case with you.
We actually don't even use the udev tarball on the CD itself. The only real issue I could see is if the system is booting faster than udev is initializing the device nodes, which has been known to happen from time to time.
*** Bug 128046 has been marked as a duplicate of this bug. ***
Created attachment 83409 [details] Partitions on the virtual SCSI disk /dev/sda
Created attachment 83410 [details] ls -l of /dev when the livecd is booted
Created attachment 83411 [details] kernel ".config" file
Created attachment 83412 [details] Grub config file "menu.lst"
a couple of other notes: 1. This particular guest machine was *not* built with the LiveCD -- it was built the "old-fashioned" way using the 2006.0 minimal CD over the Internet using my bash scripts. The kernel was built with "genkernel --menuconfig --gensplash all" and is from 2.6.15-r5 gentoo-sources. 2. I tried this with VMWare Server using both a Windows XP host and a Gentoo Linux host. Same thing both times. I also tried it with VMWare Workstation 5.5 on a Windows XP host and it's the same thing. For now I'm going to switch to an IDE virtual disk like the filer of bug 128046 did. I'm going out of town with a "company" laptop that is a "Penguin-free zone", so I need a virtual Gentoo to check my regular email, etc. By the way, this is going to end up as an entry in the VMWare Virtual Appliance contest.I don't know exactly what I'm going to do yet, but it *will* be Gentoo-based and *will* use a lightweight desktop, most likely XFCE4.
I see you have CONFIG_FUSION_SPI=m are you sure this module is loaded at startup? I.o.w. is the module in /etc/modules.autoload.d/kernel-2.6? You can also change it to y and rebuild your kernel (+copy to /boot). If you are sure that the module is loaded, attach the result of mount in the chroot after you mounted /dev/sda2 (just to double check what your fs is and if support for it is enabled in the kernel).
You can probably close this ... I found out how to at least work around it. When you boot the install CD, you have to put "doscsi" on the command line, e.g., boot: gentoo doscsi And you need a "doscsi" on the kernel command line in your "/boot/grub/menu.lst" file as well. Then it brings in the modules and finds all the SCSI gizmos just fine. It's probably a good idea to compile in the BusLogic module when you do a kernel build, but I haven't done that yet.
Yeah, any options you use on the command line of the CD need to be passed on to grub if you've used genkernel.