mdraids for lenny need to use metadata format 0.90
[grml-debootstrap.git] / grml-debootstrap
index 30682a2..bf97635 100755 (executable)
@@ -11,7 +11,7 @@ set -e # exit on any error
 
 # variables {{{
 PN="$(basename $0)"
-VERSION='0.37'
+VERSION='0.39'
 MNTPOINT="/mnt/debootstrap.$$"
 
 # inside the chroot system locales might not be available, so use minimum:
@@ -409,11 +409,17 @@ for i in $(cat $TMPFILE) ; do
    NUM_PARTITIONS=$((${NUM_PARTITIONS}+1))
 done
 
+# force metadata version 0.90 for lenny so old grub can boot from this array.
+METADATA_VERSION=""
+if [ $RELEASE = "lenny" ]; then
+   METADATA_VERSION="-e0"
+fi
+
 ERRORFILE=$(mktemp)
 set +e
 # TODO: better error handling?
 yes | mdadm --create "${TARGET}" --level="${RAIDLEVEL}" \
-      --raid-devices="${NUM_PARTITIONS}" ${SELECTED_PARTITIONS} >/dev/null 2>$ERRORFILE
+      --raid-devices="${NUM_PARTITIONS}" ${METADATA_VERSION} ${SELECTED_PARTITIONS} >/dev/null 2>$ERRORFILE
 RC=$?
 set -e
 
@@ -522,14 +528,14 @@ interactive_mode()
 {
   welcome_dialog
 
+  prompt_for_release
+
   prompt_for_swraid
 
   prompt_for_target
 
   prompt_for_bootmanager
 
-  prompt_for_release
-
   prompt_for_hostname
 
   prompt_for_password
@@ -644,7 +650,7 @@ bailout(){
         [ -x "$MNTPOINT"/etc/init.d/ssh   ] && "$MNTPOINT"/etc/init.d/ssh stop
         [ -x "$MNTPOINT"/etc/init.d/mdadm ] && "$MNTPOINT"/etc/init.d/mdadm stop
         # ugly, but make sure we really don't leave anything (/proc /proc is intended)
-        for ARG in /sys -a /proc /proc ; do
+        for ARG in /sys /proc /proc ; do
           [ -x "$MNTPOINT"/bin/umount ] && chroot "$MNTPOINT" umount $ARG >/dev/null 2>&1 || true
         done
         umount "$MNTPOINT"/dev >/dev/null 2>&1 || true