In early user space the /dev/sda* nodes are not created since the sd_mod is not loaded (when I use the emergency shell, if I load manually the sd_mod module, the /dev/sda* entries are created by mdev). The root fs is a partition on a sata/ahci block device. Moreover, since I use a fully modular kernel, the block scheduler (cfq in my case) is made a module, but genkernel does not put it in the cpio archive. I noticed the new "generic scsi" block support does create dev entries (1:0:0...), but there is no partition information created to mount the root fs.
It'd work a lot better if you passed doscsi option to kernel I'd say...
I don't know how I managed to miss that kernel param in the man page... 1 in the morning maybe... :) anyway... and as for the block scheduler, the noop one is fine to reach the module part to load my cfq.