hello, default d-i MODULES=dep on arm/armel uncovered a mkinitramfs trouble for lvm on md. rwhitby boot tested belows fix.
please dannf review belows diff. If md turns up as slave from a dm it lacked a check for it's physical device, so that the corresponding device driver lands on initramfs (as bonus fixed confusing comments in the code region). reuse of almost same awk snippet for md root 2 lines below. on ack this should land in Lenny. kind regards maks diff --git a/debian/changelog b/debian/changelog index 60f4cc4..036a27b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +initramfs-tools (0.92i) unstable; urgency=high + + * MODULES=dep fix for root lvm on md. (closes: #498237) + Thanks Rod Whitby <[EMAIL PROTECTED]> for report and test. + + -- maximilian attems <[EMAIL PROTECTED]> Mon, 08 Sep 2008 16:13:24 +0200 + initramfs-tools (0.92g) unstable; urgency=high [ maximilian attems ] diff --git a/hook-functions b/hook-functions index 8bbbbd4..6a5aebf 100644 --- a/hook-functions +++ b/hook-functions @@ -245,13 +245,19 @@ dep_add_modules() # Add rootfs manual_add_modules "${FSTYPE}" - # lvm luks root + # lvm or luks root if [ "${root#/dev/mapper/}" != "${root}" ]; then minor=$((0x$(stat --format "%T" ${root}) % 256)) block=$(ls -1 /sys/block/dm-${minor}/slaves | head -n 1) + # lvm on luks or luks on lvm if [ "${block#dm-}" != "${block}" ]; then block=$(ls -1 /sys/block/${block}/slaves | head -n 1) fi + # lvm on md or luks on md + if [ "${block#md}" != "${block}" ]; then + block=$(awk "/^${block}/{print substr(\$5, 1, 4); exit}" \ + /proc/mdstat) + fi block=${block%[0-9]*} # md root new naming scheme /dev/md/X elif [ "${root#/dev/md/}" != "${root}" ]; then -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]