Do not use UUID on SW-RAID
[grml-debootstrap.git] / chroot-script
index 0e93220..2b3e1ef 100755 (executable)
@@ -49,10 +49,10 @@ chrootmirror() {
   [ -n "$KEEP_SRC_LIST" ] && return
   if [ -n "$ISO" ] ; then
      echo "deb $ISO $RELEASE main contrib" > /etc/apt/sources.list
-     [ -n "$CHROOTMIRROR" ] && echo "deb $CHROOTMIRROR $RELEASE main contrib non-free" >> /etc/apt/sources.list
+     [ -n "$MIRROR" ] && echo "deb $MIRROR $RELEASE main contrib non-free" >> /etc/apt/sources.list
   else
-    if [ -n "$CHROOTMIRROR" ] ; then
-       echo "deb $CHROOTMIRROR $RELEASE main contrib non-free" > /etc/apt/sources.list
+    if [ -n "$MIRROR" ] ; then
+       echo "deb $MIRROR $RELEASE main contrib non-free" > /etc/apt/sources.list
     fi
   fi
 }
@@ -405,11 +405,20 @@ grub() {
      $UPDATEGRUB -y
      if [ -f /boot/grub/menu.lst ] ; then
         sed -i "s/^# groot=.*/# groot=(${GROOT})/g" /boot/grub/menu.lst
-       if [ -n "$TARGET_UUID" ] ; then
-          sed -i "s|^# kopt=root=.*|# kopt=root=UUID=${TARGET_UUID} ro ${BOOT_APPEND}|g" /boot/grub/menu.lst
-       else
-          sed -i "s|^# kopt=root=.*|# kopt=root=${TARGET} ro ${BOOT_APPEND}|g" /boot/grub/menu.lst
-       fi
+        case "$TARGET" in
+             # do NOT use uuid with SW-RAID
+             /dev/md*)
+               sed -i "s|^# kopt=root=.*|# kopt=root=${TARGET} ro ${BOOT_APPEND}|g" /boot/grub/menu.lst
+               ;;
+             *)
+               if [ -n "$TARGET_UUID" ] ; then
+                 sed -i "s|^# kopt=root=.*|# kopt=root=UUID=${TARGET_UUID} ro ${BOOT_APPEND}|g" /boot/grub/menu.lst
+               else
+                 sed -i "s|^# kopt=root=.*|# kopt=root=${TARGET} ro ${BOOT_APPEND}|g" /boot/grub/menu.lst
+               fi
+               ;;
+        esac
+
         # not sure why savedefault does not work for me; any ideas?
         sed -i "s/^savedefault.*/# &/g" /boot/grub/menu.lst
         $UPDATEGRUB -y