summaryrefslogtreecommitdiff
path: root/scripts/local-top/mdrun
diff options
context:
space:
mode:
authormaximilian attems <maks@debian.org>2006-08-17 17:14:01 +0200
committermaximilian attems <maks@debian.org>2006-08-17 17:14:01 +0200
commit839572386f35bf4b4404dac5f976566bc155de94 (patch)
tree3d4c49ba90c9070d8652b579b5039d4d67876c50 /scripts/local-top/mdrun
parenta84613ae7742190e50cc619eee462cc0cd17f6c8 (diff)
downloadinitramfs-tools-839572386f35bf4b4404dac5f976566bc155de94.tar.gz
initramfs-tools-839572386f35bf4b4404dac5f976566bc155de94.zip
Release 0.74:
- scripts/functions: fix debug boot param - update-initramfs: checkout /etc/kernel-img.conf if lilo and grub is installed - rename mdraid to mdrun, readd mdrun as it seems to work much better with sarge systems - add an help message for rescue shell - better package desc
Diffstat (limited to 'scripts/local-top/mdrun')
-rwxr-xr-xscripts/local-top/mdrun41
1 files changed, 41 insertions, 0 deletions
diff --git a/scripts/local-top/mdrun b/scripts/local-top/mdrun
new file mode 100755
index 0000000..1b6ca3e
--- /dev/null
+++ b/scripts/local-top/mdrun
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+PREREQ="udev_helper"
+
+prereqs()
+{
+ echo "$PREREQ"
+}
+
+case $1 in
+# get pre-requisites
+prereqs)
+ prereqs
+ exit 0
+ ;;
+esac
+
+if [ -e /scripts/local-top/mdadm ]; then
+ exit 0
+fi
+
+unset raidlvl
+gotraid=n
+
+# Detect raid level
+for x in /dev/hd[a-z][0-9]* /dev/sd[a-z][0-9]*; do
+ if [ ! -e ${x} ]; then
+ continue
+ fi
+ raidlvl=$(mdadm --examine ${x} 2>/dev/null | grep "Level" | sed -e 's/.*Raid Level : \(.*\)/\1/')
+ if [ "$raidlvl" ]; then
+ modprobe -q ${raidlvl} 2>/dev/null
+ gotraid=y
+ fi
+done
+
+[ "${gotraid}" = y ] || exit
+
+# Assemble all raid devices
+# FIXME: assemble root raid first due to initrd-tools compatibility
+/sbin/mdrun /dev