summaryrefslogtreecommitdiff
path: root/debian/initramfs
diff options
context:
space:
mode:
authormadduck <madduck@3cfab66f-1918-0410-86b3-c06b76f9a464>2006-08-02 17:13:34 +0000
committermadduck <madduck@3cfab66f-1918-0410-86b3-c06b76f9a464>2006-08-02 17:13:34 +0000
commit664a93b2f8d922095579da42056c612e070ffb5d (patch)
tree6b708ad2f35ad3edaac9d989ccf8072c1c073a9b /debian/initramfs
parentf4cd5a41900b5bbe8f954e1ebc149007804b2076 (diff)
moved initramfs config file from conf/mdadm.conf to conf/raid.conf
changed representation of RAID_DEVS, s/:/=/ corrected handling of raid4 (by raid5) proper loading of raid456 instead of raid[456] if present
Diffstat (limited to 'debian/initramfs')
-rw-r--r--debian/initramfs/hook20
-rw-r--r--debian/initramfs/script.local-top8
2 files changed, 17 insertions, 11 deletions
diff --git a/debian/initramfs/hook b/debian/initramfs/hook
index 313f2322..8152b778 100644
--- a/debian/initramfs/hook
+++ b/debian/initramfs/hook
@@ -48,7 +48,7 @@ if [ "$INITRDSTART" != none ]; then
| while read a dev level num uuid; do
if [ "$INITRDSTART" = all ] || expr "$INITRDSTART" : ".*${dev}.*" >/dev/null; then
- DEVS="$DEVS ${dev}:${uuid#UUID=}"
+ DEVS="$DEVS ${dev}=${uuid#UUID=}"
LEVELS="$LEVELS ${level#level=}"
fi
@@ -66,12 +66,18 @@ uniquify()
if [ -n "$DEVS" ]; then
- touch $DESTDIR/conf/mdadm.conf
- echo "RAID_DEVS='${DEVS## }'" >> $DESTDIR/conf/mdadm.conf
+ echo "RAID_DEVS='${DEVS## }'" > $DESTDIR/conf/raid.conf
+ echo "RAID_LEVELS='${LEVELS## }'" >> $DESTDIR/conf/raid.conf
- # 1:1 mapping between level names and modules
- MODULES="$(uniquify $LEVELS | tr '\n' ' ')"
- echo "RAID_MODULES='$MODULES'" >> $DESTDIR/conf/mdadm.conf
+ # raid4 is handled by raid5
+ MODULES="$(echo $LEVELS | sed -e 's,raid4,raid5,g')"
+
+ # if raid456 module is present, use it for raid[456]
+ modprobe --set-version="$version" --show-depends raid456 >/dev/null 2>&1 \
+ && MODULES="$(echo $MODULES | sed -e 's,raid[456],raid456,g')"
+
+ MODULES="$(uniquify $MODULES | tr '\n' ' ')"
+ echo "RAID_MODULES='${MODULES%% }'" >> $DESTDIR/conf/raid.conf
copy_exec $MDADM /sbin
@@ -89,7 +95,7 @@ if [ -n "$DEVS" ]; then
if [ "$DEVS" = all ]; then
DEVNAMES="all RAID arrays"
else
- DEVNAMES="$(for i in $DEVS; do echo -n "${i%%:*},"; done)"
+ DEVNAMES="$(for i in $DEVS; do echo -n "${i%=*},"; done)"
DEVNAMES="${DEVNAMES%,}"
fi
diff --git a/debian/initramfs/script.local-top b/debian/initramfs/script.local-top
index 14f7db2d..bd326395 100644
--- a/debian/initramfs/script.local-top
+++ b/debian/initramfs/script.local-top
@@ -38,7 +38,7 @@ verbose()
esac
}
-[ -s /conf/mdadm.conf ] && . /conf/mdadm.conf
+[ -s /conf/raid.conf ] && . /conf/raid.conf
mkdir /etc/mdadm
$MDADM --examine --scan --config=partitions > /etc/mdadm.conf
@@ -63,7 +63,7 @@ mkdir --parent /dev/md
if [ ${RAID_DEVS:-all} = all ]; then
- verbose && log_begin_msg "Assemblinging all RAID arrays"
+ verbose && log_begin_msg "Assembling all RAID arrays"
if $MDADM --assemble --config=/etc/mdadm.conf --scan --run --auto=yes; then
verbose && log_success_msg "success"
@@ -76,8 +76,8 @@ if [ ${RAID_DEVS:-all} = all ]; then
else
for dev in ${RAID_DEVS:-}; do
- DEV=${dev%%:*}
- UUID=${dev#*:}
+ DEV=${dev%=*}
+ UUID=${dev#*=}
verbose && log_begin_msg "Assembling RAID array $DEV ($UUID)"