I tried to create an initrd with this command: genkernel --dmraid --udev --no-initrdmodules initrd The created initrd will not boot from dmraid-Arrays. A little digging leads to this: The /linuxrc of the initrd contains this code which is executed when loading modules: if [ -d '/lib/modules' ] then echo -e "${GOOD}>>${NORMAL}${BOLD} Loading modules...${NORMAL}" # Load appropriate kernel modules for modules in $MY_HWOPTS do modules_scan $modules eval DO_`echo $modules | sed 's/-//'`=1 done else echo -e "${GREEN}>>${NORMAL}${BOLD} Skipping module load; no modules in the initrd!${NORMAL}" fi That means when not using initrd to load modules the DO_* variables do not get set and without DO_dmraid the raid will not be started. This loop should consist of two loops: A uncoditional one to set the DO_* variables and a conditional one to load the modules.
Please grab 3.2.0_pre9 and try: diff -u -r1.52 linuxrc --- linuxrc 15 Jun 2005 19:05:31 -0000 1.52 +++ linuxrc 21 Jun 2005 17:31:22 -0000 @@ -144,6 +144,10 @@ eval DO_`echo $modules | sed 's/-//'`=1 done else + for modules in $MY_HWOPTS + do + eval DO_`echo $modules | sed 's/-//'`=1 + done good_msg 'Skipping module load; no modules in the initrd!' fi
Fix is in genkernel-3.2.1 please reopen if this doesnt work properly.
closing this bug as genkernel-3.2.2 is out. Reopen if its not fixed properly.