diff options
author | David Härdeman <david@hardeman.nu> | 2007-04-13 21:02:50 +0200 |
---|---|---|
committer | David Härdeman <david@hardeman.nu> | 2007-04-13 21:02:50 +0200 |
commit | f8ccffbf604d146b7fc6bab77fcf1862bbe59de8 (patch) | |
tree | 29773fbaead2cac778e7e120c56c16dc2d779243 /hooks | |
parent | 3f94f7f380f1a5fe9afd7e20d0796365c2da25c3 (diff) | |
download | initramfs-tools-f8ccffbf604d146b7fc6bab77fcf1862bbe59de8.tar.gz initramfs-tools-f8ccffbf604d146b7fc6bab77fcf1862bbe59de8.zip |
Move legacy code from mkinitramfs to separate hooks.
Diffstat (limited to 'hooks')
-rwxr-xr-x | hooks/legacy-lvm | 26 | ||||
-rwxr-xr-x | hooks/legacy-mdadm | 38 |
2 files changed, 64 insertions, 0 deletions
diff --git a/hooks/legacy-lvm b/hooks/legacy-lvm new file mode 100755 index 0000000..ffdf038 --- /dev/null +++ b/hooks/legacy-lvm @@ -0,0 +1,26 @@ +#!/bin/sh + +PREREQ="" + +prereqs() +{ + echo "$PREREQ" +} + +case $1 in +# get pre-requisites +prereqs) + prereqs + exit 0 + ;; +esac + +# FIXME: Remove this hook after Lenny releases +if [ -x /sbin/vgchange ] && [ -d /lib/lvm-200 ] \ + && [ ! -f /usr/share/initramfs-tools/hooks/lvm2 ]; then + copy_exec /lib/lvm-200/vgchange /sbin + for x in dm_mod dm_snapshot dm_mirror; do + manual_add_modules ${x} + done +fi +exit 0 diff --git a/hooks/legacy-mdadm b/hooks/legacy-mdadm new file mode 100755 index 0000000..66c6d8e --- /dev/null +++ b/hooks/legacy-mdadm @@ -0,0 +1,38 @@ +#!/bin/sh + +PREREQ="" + +prereqs() +{ + echo "$PREREQ" +} + +case $1 in +# get pre-requisites +prereqs) + prereqs + exit 0 + ;; +esac + +# FIXME: Remove this hook after Etch releases +if [ -x /sbin/mdadm ] && [ ! -f /usr/share/initramfs-tools/hooks/mdadm ]; then + # use mkinitrd magic for Sarge backwards compat + rootraiddev="$(df / | sed -rne 's,^(/dev/[^[:space:]]+).*,\1,p')" + echo "rootraiddev=${rootraiddev}" > ${DESTDIR}/conf/mdrun.conf + mdadm=$(mdadm --detail "${rootraiddev}") + echo "${mdadm}" | awk ' + $1 == "Number" && $2 == "Major" { start = 1; next } + $1 == "UUID" { print "uuid=" $3; next } + !start { next } + $2 == 0 && $3 == 0 { next } + { devices = devices " " $NF } + END { print "devices='\''" devices "'\''" }' \ + >> ${DESTDIR}/conf/mdrun.conf + copy_exec /sbin/mdadm /sbin + for x in md linear multipath raid0 raid1 raid456 raid5 raid6 raid10; do + manual_add_modules ${x} + done +fi +[ -x /sbin/mdrun ] && copy_exec /sbin/mdrun /sbin +exit 0 |