diff options
author | madduck <madduck@3cfab66f-1918-0410-86b3-c06b76f9a464> | 2006-08-02 17:13:34 +0000 |
---|---|---|
committer | madduck <madduck@3cfab66f-1918-0410-86b3-c06b76f9a464> | 2006-08-02 17:13:34 +0000 |
commit | 664a93b2f8d922095579da42056c612e070ffb5d (patch) | |
tree | 6b708ad2f35ad3edaac9d989ccf8072c1c073a9b /debian/initramfs | |
parent | f4cd5a41900b5bbe8f954e1ebc149007804b2076 (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/hook | 20 | ||||
-rw-r--r-- | debian/initramfs/script.local-top | 8 |
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)" |