diff options
author | maximilian attems <maks@debian.org> | 2008-09-08 14:08:06 +0200 |
---|---|---|
committer | maximilian attems <maks@debian.org> | 2008-09-08 14:08:06 +0200 |
commit | b2019d165312d6a6020086904bf37e6d3cc84388 (patch) | |
tree | e023eb7e7ebcd82d633a02d5ec861f00a567560b | |
parent | 1c5e3dd3801d9d142d2502fc550f6407b54f83b2 (diff) | |
download | initramfs-tools-b2019d165312d6a6020086904bf37e6d3cc84388.tar.gz initramfs-tools-b2019d165312d6a6020086904bf37e6d3cc84388.zip |
MODULES=dep fix for root lvm on md
mkinitramfs MODULES=dep detection didn't account for lvm on md, fixes
mkinitramfs: missing md root /dev/mapper/ts409-root /sys entry
(closes: #498237)
thanks for report to Rod Whitby <rod@whitby.id.au>
-rw-r--r-- | hook-functions | 8 |
1 files changed, 7 insertions, 1 deletions
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 |