[solved] encrypted root partition mit keyfile > kernel panic

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
xfon
Beiträge: 139
Registriert: 18.01.2004 19:33:56
Kontaktdaten:

[solved] encrypted root partition mit keyfile > kernel panic

Beitrag von xfon » 01.03.2010 12:21:23

Hallo zusammen,

ich betreibe einen server mit debian lenny, kernel 2.6.26-2-686.
habe das ganze mit dm-crypt / luks ausgestattet, besser gesagt, der debian installer hat das für mich erledigt und alles läuft soweit einwandfrei.

nun möchte ich allerdings die platte per keyfile von einem usb stick freischalten was interessanterweise zu einer kernel panic führt:

Code: Alles auswählen

run init: nuking initramfs contents: Directory not empty.
kernel panic: not syncing
google hab ich bereits ausgiebig befragt, bin aber nicht schlauer geworden. im anhang noch das keyscript:

Code: Alles auswählen

#!/bin/sh

fatal_error() {
    echo "Boot Error: $1" > /dev/console
    exit 1
}

# Check for the presence of parameters
if [ -z $1 ]; then
    fatal_error "No script parameters"
fi

KEYDEVICE="${1%\%*}"
KEYFILE="${1##*\%}"

# KEYDEVICE=/dev/disk/by-uuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# KEYFILE=path/to/key/file/keyfile.key

# Wait for udev to be ready, see https://launchpad.net/bugs/85640
if [ -x /sbin/udevsettle ]; then
    /sbin/udevsettle --timeout=30 > /dev/null 2>&1
fi

# Wait max 8 seconds for the KEYDEVICE to appear
if [ ! -b "${KEYDEVICE}" ] || ! /lib/udev/vol_id "${KEYDEVICE}" >/dev/null 2>&1; then
    slumber=8
    slumber=$(( ${slumber} * 10 ))

    while [ ! -b "${KEYDEVICE}" ] || ! /lib/udev/vol_id "${KEYDEVICE}" >/dev/null 2>&1; do
        /bin/sleep 0.1
        slumber=$(( ${slumber} - 1 ))
        [ ${slumber} -gt 0 ] || break
    done
fi

# Device must exist at this point
if [ ! -b "${KEYDEVICE}" ]; then
    fatal_error "Device not found"
fi

# Create mount point and mount the opened device
if [ ! -d /mnt/bootkey ]; then
    mkdir -p -m 0700 /mnt/bootkey > /dev/null 2>&1
fi

mount -t ext3 -o ro "${KEYDEVICE}" /mnt/bootkey > /dev/null 2>&1

# Check status
if [ $? -ne 0 ]; then
    fatal_error "Failed to mount device"
elif [ -r "/mnt/bootkey/${KEYFILE}" -a -s "/mnt/bootkey/${KEYFILE}" ]; then
    # SUCCESS: echo the KEYFILE contents
    cat /mnt/bootkey/${KEYFILE}
else
    fatal_error "Could not find ${KEYFILE} on ${KEYDEVICE}"
fi
habe per rescue disk wieder auf den alten key umgestellt und update-initramfs -u ausgeführt, jetzt läuft alles wieder wie vorher.
bin ziemlich ratlos, vielleicht kann ja jemand helfen.

vielen dank
Zuletzt geändert von xfon am 02.03.2010 11:59:36, insgesamt 1-mal geändert.

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: encrypted root partition mit keyfile > kernel panic

Beitrag von rendegast » 01.03.2010 14:13:22

Erfolgt der Aufruf in dieser Form?

Code: Alles auswählen

$ ./script.sh /dev/disk/by-uuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%boot/grub/menu.list
KEYDEVICE /dev/disk/by-uuid/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
KEYFILE boot/grub/menu.list
usb_storage, [eou]hci_hcd sind geladen?

Dateisystem ist ext3?

Muß der Stick nach dem Auslesen wieder umountet werden?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

xfon
Beiträge: 139
Registriert: 18.01.2004 19:33:56
Kontaktdaten:

Re: encrypted root partition mit keyfile > kernel panic

Beitrag von xfon » 02.03.2010 11:58:59

das unmounten wars, ein

Code: Alles auswählen

umount /mnt/bootkey > /dev/null 2>&1
am ende des keyscripts hat das problem gelöst!
Danke;)

Antworten