The initramfs created by genkernel won't allow a root device specified using the root=LABEL=<label> option. Tracing through the linuxrc I found that it's (of course) trying to use findfs (which doesn't exist in the initramfs) then trying to use the findfs component of busybox when that fails. However, findfs isn't configured into busybox so this also fails, and the REAL_ROOT is never found. The solution is to add the following to /usr/share/genkernel/x86/busy-config: CONFIG_TUNE2FS=y CONFIG_FINDFS=y This can be easily resolved by unrolling the busybox source tarball (/usr/share/genkernel/pkg/busybox-1.1.3+gentoo.tar.bz2) somewhere, coping the default busybox config (/usr/share/genkernel/x86/busy-config) to .config in the same folder and running "make menuconfig". Enable the following: Linux Ext2 FS Progs--> [*] tune2fs [*] findfs Then delete /usr/share/genkernel/pkg/x86/busybox-1.1.3+gentoo-x86.bz2 to force genkernel to rebuild busybox and rerun genkernel.
Oops. After running make menuconfig, the modified .config must be copied back to the busy-config before running genkernel: cp .config /usr/share/genkernel/x86/busy-config
OK. I've updated this in subversion...
Fixed in 3.4.6