summaryrefslogtreecommitdiff
path: root/hooks
diff options
context:
space:
mode:
authorDavid Härdeman <david@hardeman.nu>2007-04-13 21:02:50 +0200
committerDavid Härdeman <david@hardeman.nu>2007-04-13 21:02:50 +0200
commitf8ccffbf604d146b7fc6bab77fcf1862bbe59de8 (patch)
tree29773fbaead2cac778e7e120c56c16dc2d779243 /hooks
parent3f94f7f380f1a5fe9afd7e20d0796365c2da25c3 (diff)
Move legacy code from mkinitramfs to separate hooks.
Diffstat (limited to 'hooks')
-rwxr-xr-xhooks/legacy-lvm26
-rwxr-xr-xhooks/legacy-mdadm38
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