Package: kernel
Version: lenny

The initrd - boot-skript

/scripts/local-top/cryptroot

fails, if the luks-encrypted root-filesystem is on an usb-device like an
usb-key or an external harddisk.

This happens, because the kernel-modules for usb are completely loaded
(so the bootscripts will continue) but the drivers need some additional
time to register such removable devices, which often are not up, when
the cryptroot-script is searching for them.

So you get the error message "cryptsetup: Source device /dev/sdaX not
found" and the mountroot() will not find the devicemapper to mount the
root-filesystem ...

The following code (based on the solution for the same problems with
not encrypted usb-devices in the function mountroot() in /scripts/local)
added to /scripts/local-top/cryptroot in front of the lines
"
        if [ ! -e $cryptsource ]; then
                echo "cryptsetup: Source device $cryptsource not found"
                return 1
        fi
"

solves the problem:


        # If the cryptsource not up yet, give it a little while
        # to deal with removable devices
        if [ ! -e $cryptsource ] ; then
                echo "Waiting for root file system ..."

                # Default delay is 180s
                if [ -z "${ROOTDELAY}" ]; then
                        slumber=180
                else
                        slumber=${ROOTDELAY}
                fi

                slumber=$(( ${slumber} * 10 ))
                while [ ! -e $cryptsource ]; do
                        /bin/sleep 0.1
                        slumber=$(( ${slumber} - 1 ))
                        [ ${slumber} -gt 0 ] || break
                done

        fi



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to