--- /usr/share/genkernel/generic/linuxrc 2006-09-16 18:29:44.000000000 -0700 +++ linuxrc 2006-10-23 16:51:21.000000000 -0700 @@ -168,6 +168,9 @@ nfsroot\=*) NFSROOT=`parse_opt "${x}"` ;; + luks_root\=*) + LUKS_ROOT=`parse_opt "${x}"` + ;; esac done @@ -211,9 +214,12 @@ # Setup md device nodes if they dont exist setup_md_device -# Start EVMS +# Scan volumes startVolumes +# Iinitialize LUKS root device +startLUKS + # Set up unionfs mkdir -p ${NEW_ROOT} setup_unionfs @@ -361,26 +367,6 @@ then got_good_root=1 - #check if LUKS setup is needed - elif [ `echo ${REAL_ROOT} | sed -e "s/\([^:]*\):.*/\1/"` = "luks" ] - then - LUKSdev=`echo ${REAL_ROOT} | sed -e "s/luks:\(.*\)/\1/"` - if [ -e /sbin/cryptsetup ] - then - if cryptsetup isLuks ${LUKSdev} - then - good_msg "LUKS partition - opening $LUKSdev" - cryptsetup luksOpen ${LUKSdev} root && - REAL_ROOT=/dev/mapper/root && - got_good_root=1 - else - bad_msg "${LUKSDEV} is not a LUKS partition" - REAL_ROOT="" - fi - else - bad_msg "This initrd does not support LUKS" - REAL_ROOT="" - fi else bad_msg "Block device ${REAL_ROOT} is not a valid root device..." REAL_ROOT=""