summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordann frazier <dannf@debian.org>2008-12-14 19:24:11 +0100
committermaximilian attems <maks@debian.org>2008-12-14 19:24:11 +0100
commit10ac5c60e51125d45f3923edd1dd1f560ad0df1f (patch)
tree6ea9701d7f372b5726688f5caaff76d7a72f4434
parente0ff2bedbd4da0c0638c21b2c2736d9a47415f73 (diff)
downloadinitramfs-tools-10ac5c60e51125d45f3923edd1dd1f560ad0df1f.tar.gz
initramfs-tools-10ac5c60e51125d45f3923edd1dd1f560ad0df1f.zip
Fix MODULES=dep for cciss devices
A coworker reported a lenny install failure today. Turns out he had asked the installer to run mkinitramfs w/ MODULES=dep, which I'd never tried before: dl380g5:/home/dannf# mkinitramfs-kpkg -o /boot/initrd.img-2.6.26-1-686 2.6.26-1-686 mkinitramfs: missing cciss/c0d0p root /dev/cciss/c0d0p1 /sys entry mkinitramfs: workaround is MODULES=most mkinitramfs: Error please report the bug dep_add_modules() expects to find a /sys/block/cciss/c0d0p file, but it should be trying /sys/block/cciss!c0d0: (closes: #507619)
-rw-r--r--hook-functions4
1 files changed, 4 insertions, 0 deletions
diff --git a/hook-functions b/hook-functions
index 53867da..d8875b7 100644
--- a/hook-functions
+++ b/hook-functions
@@ -269,6 +269,10 @@ dep_add_modules()
root=${root#/dev/}
block=$(awk "/^${root}/{print substr(\$5, 1, 3); exit}" \
/proc/mdstat)
+ # cciss device
+ elif [ "${root#/dev/cciss/}" != "${root}" ]; then
+ block=${root#/dev/cciss/*}
+ block="cciss!${block%p*}"
# classical root device
else
block=${root#/dev/}