Adjust grub handling and support INSTALL_NOTES
[grml-debootstrap.git] / chroot-script
index 7a26927..ab1dc90 100755 (executable)
@@ -417,6 +417,7 @@ grub() {
      fi
      $UPDATEGRUB -y
 
      fi
      $UPDATEGRUB -y
 
+     # grub1:
      if [ -f /boot/grub/menu.lst ] ; then
         sed -i "s/^# groot=.*/# groot=(${GROOT})/g" /boot/grub/menu.lst
         case "$TARGET" in
      if [ -f /boot/grub/menu.lst ] ; then
         sed -i "s/^# groot=.*/# groot=(${GROOT})/g" /boot/grub/menu.lst
         case "$TARGET" in
@@ -437,6 +438,62 @@ grub() {
         sed -i "s/^savedefault.*/# &/g" /boot/grub/menu.lst
         $UPDATEGRUB -y
      fi
         sed -i "s/^savedefault.*/# &/g" /boot/grub/menu.lst
         $UPDATEGRUB -y
      fi
+
+     # grub2:
+     if [ -f /etc/default/grub ] ; then
+        # create a copy of the original:
+        cp /etc/default/grub /etc/default/grub.orig
+
+        case "$TARGET" in
+             # do NOT use uuid with SW-RAID
+             /dev/md*)
+               GRUB_CMDLINE="root=${TARGET} ro ${BOOT_APPEND}"
+               ;;
+             *)
+               if [ -n "$TARGET_UUID" ] ; then
+                 GRUB_CMDLINE="root=UUID=${TARGET_UUID} ro ${BOOT_APPEND}"
+               else
+                 GRUB_CMDLINE="root=${TARGET} ro ${BOOT_APPEND}"
+               fi
+               ;;
+        esac
+
+        cat > /etc/default/grub << EOF
+        # Note: this file has been generated by chroot-script of grml-debootstrap.
+        # This configuration file is a workaround being necessary as the device.map
+        # generated by the live system might not correspond with your harddisk
+        # installation.
+        #
+        # Please restore the original Debian configuration executing the following
+        # commands when running your harddisk installation:
+        #
+        #   grub-mkdevicemap
+        #   mv /etc/default/grub.orig /etc/default/grub
+        #   update-grub
+        # 
+GRUB_DEFAULT=0
+GRUB_TIMEOUT=5
+GRUB_DISTRIBUTOR=Debian
+GRUB_DISABLE_LINUX_UUID=true
+GRUB_CMDLLINE_LINUX="$GRUB_CMDLINE"
+EOF
+
+        [ -n "$INSTALL_NOTES" ] && echo "
+
+The grub2 configuration has been adjusted so you should
+be able to boot into your Debian installation now.
+After rebooting into your Debian installation please execute:
+
+  grub-mkdevicemap
+  mv /etc/default/grub.orig /etc/default/grub
+  update-grub
+
+to finalise configuration. This instructions are available
+in the header of /etc/default/grub as well.
+" >> $INSTALL_NOTES
+
+        $UPDATEGRUB -y
+     fi
   fi
 }
 # }}}
   fi
 }
 # }}}