Changed isolinux vesamenu layout to support better multiiso layout
authorUlrich Dangel <uli@spamt.net>
Sun, 18 Oct 2009 14:46:18 +0000 (16:46 +0200)
committerMichael Prokop <mika@grml.org>
Sun, 18 Oct 2009 14:47:15 +0000 (16:47 +0200)
grml-live
templates/boot/isolinux/addons.cfg
templates/boot/isolinux/default.cfg [new file with mode: 0644]
templates/boot/isolinux/distri.cfg
templates/boot/isolinux/grml.cfg
templates/boot/isolinux/grmlmain.cfg [new file with mode: 0644]
templates/boot/isolinux/hd.cfg [new file with mode: 0644]
templates/boot/isolinux/hidden.cfg [new file with mode: 0644]
templates/boot/isolinux/isolinux.cfg
templates/boot/isolinux/isoprompt.cfg [new file with mode: 0644]
templates/boot/isolinux/options.cfg [new file with mode: 0644]

index 517a018..895fc78 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -692,10 +692,12 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
          sed -i "s/%ARCH%/$ARCH/"                  "$BUILD_OUTPUT"/boot/isolinux/grml.cfg
       fi
 
-      sed -i "s/%VERSION%/$VERSION/"           "$BUILD_OUTPUT"/boot/isolinux/grml.cfg
-      sed -i "s/%GRML_LONG_NAME%/$GRML_NAME/"  "$BUILD_OUTPUT"/boot/isolinux/grml.cfg
-      sed -i "s/%GRML_NAME%/$SHORT_GRML_NAME/" "$BUILD_OUTPUT"/boot/isolinux/grml.cfg
-      sed -i "s/%ARCH%/$ARCH/"                 "$BUILD_OUTPUT"/boot/isolinux/grml.cfg
+      for FILE in grml default ; do
+         sed -i "s/%VERSION%/$VERSION/"           "$BUILD_OUTPUT"/boot/isolinux/${FILE}.cfg
+         sed -i "s/%GRML_LONG_NAME%/$GRML_NAME/"  "$BUILD_OUTPUT"/boot/isolinux/${FILE}.cfg
+         sed -i "s/%GRML_NAME%/$SHORT_GRML_NAME/" "$BUILD_OUTPUT"/boot/isolinux/${FILE}.cfg
+         sed -i "s/%ARCH%/$ARCH/"                 "$BUILD_OUTPUT"/boot/isolinux/${FILE}.cfg
+      done
 
       sed -i "s/%DISTRI_INFO%/$DISTRI_INFO/" "$BUILD_OUTPUT"/boot/isolinux/vesamenu.cfg
       sed -i "s/%DISTRI_SPLASH%/$DISTRI_SPLASH/" "$BUILD_OUTPUT"/boot/isolinux/vesamenu.cfg
@@ -712,9 +714,16 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
       sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/f5
 
       if ! [ -r "${BUILD_OUTPUT}/boot/isolinux/${DISTRI_NAME}.cfg" ] || [ "$DISTRI_NAME" = "grml" ] ; then
-         log "including grml.cfg in ${BUILD_OUTPUT}/boot/isolinux/distri.cfg"
-         echo "include grml.cfg" > "${BUILD_OUTPUT}/boot/isolinux/distri.cfg"
-         [ -n "$NO_ADDONS" ] || echo "include addons.cfg" >> "${BUILD_OUTPUT}/boot/isolinux/distri.cfg"
+         log "including grmlmain.cfg in ${BUILD_OUTPUT}/boot/isolinux/distri.cfg"
+         echo "include grmlmain.cfg" > "${BUILD_OUTPUT}/boot/isolinux/distri.cfg"
+         echo "include grml.cfg" > "${BUILD_OUTPUT}/boot/isolinux/grmlmain.cfg"
+         echo "include options.cfg" >> "${BUILD_OUTPUT}/boot/isolinux/grmlmain.cfg"
+         if [ ! -n "$NO_ADDONS" ] ; then
+            echo "include addons.cfg" >> "${BUILD_OUTPUT}/boot/isolinux/grmlmain.cfg"
+         fi
+         echo "include hd.cfg" >> "${BUILD_OUTPUT}/boot/isolinux/grmlmain.cfg"
+         echo "include isoprompt.cfg" >> "${BUILD_OUTPUT}/boot/isolinux/grmlmain.cfg"
+         echo "include hidden.cfg" >> "${BUILD_OUTPUT}/boot/isolinux/grmlmain.cfg"
       else # assume we are building a custom distribution:
          log "File ${BUILD_OUTPUT}/boot/isolinux/${DISTRI_NAME}.cfg found, using it."
          einfo "File ${BUILD_OUTPUT}/boot/isolinux/${DISTRI_NAME}.cfg found, using it."
index 22cd42b..e297eba 100644 (file)
@@ -1,4 +1,9 @@
-# addons:
+menu begin addons
+menu title Addons
+
+label mainmenu
+menu label ^Back to main menu...
+menu exit
 menu separator
 
 label grub
@@ -49,13 +54,16 @@ label hdt
                                         Tool.
   endtext
 
-label hd
-  menu label Boot from H^ard Disk
-  localboot 0x80
+label exit
+menu hide
+kernel isolinux.bin
 
-  text help
-                                        Boot from first local hard disk -
-                                        if present and bootable.
-  endtext
+label back
+menu hide
+kernel isolinux.bin
 
-menu separator
+label quit
+menu hide
+kernel isolinux.bin
+
+menu end
diff --git a/templates/boot/isolinux/default.cfg b/templates/boot/isolinux/default.cfg
new file mode 100644 (file)
index 0000000..e3d3e07
--- /dev/null
@@ -0,0 +1,14 @@
+label grml
+  menu DEFAULT
+  menu label Grml ^Default Mode (%GRML_LONG_NAME% %VERSION%, %ARCH%)
+  kernel /boot/%GRML_NAME%/linux26
+  append apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce 
+
+  text help
+                                        Grml is a Debian based Linux live
+                                        system for system administrators
+                                        and users of text tools.
+
+                                                         http://grml.org/
+  endtext
+
index cac2f0a..79882e8 100644 (file)
@@ -1,19 +1,9 @@
 ## labels
 
 # generic ones
-label grml
-  menu DEFAULT
-  menu label Grml ^Default Mode (%GRML_LONG_NAME% %VERSION%, %ARCH%)
-  kernel /boot/%GRML_NAME%/linux26
-  append apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce 
 
-  text help
-                                        Grml is a Debian based Linux live
-                                        system for system administrators
-                                        and users of text tools.
+include default.cfg
 
-                                                         http://grml.org/
-  endtext
 
 label failsafe
   menu label Grml ^Failsafe Mode
@@ -55,133 +45,15 @@ label grml2ram
                                         to use this option.
   endtext
 
-menu separator
-
-label help
-  menu label Furt^her boot options...
-  config /boot/isolinux/prompt.cfg
-  text help
-                                        Further information regarding
-                                        available boot options.
-  endtext
-
-# entries *without* a visible entry in the graphical bootsplash
-label splash
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live splash nomce
-
-label grml2hd
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
-
-label debian2hd
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off vga=791 initrd=/boot/%GRML_NAME%/initrd.gz boot=live BOOT_IMAGE=debian2hd nomce
-
-label debug
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off vga=791 verbose debug=vc debug initrd=/boot/%GRML_NAME%/initrd.gz boot=live initcall_debug nomce
-
-label bootchart
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append init=/sbin/bootchartd apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
-
-label vmware
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off nousb nousb2 nofirewire vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
-
-label qemu
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off nousb nousb2 nofirewire vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce qemu
-
-label grmlx
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off startx=wm-ng vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
-
-label nofb
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off vga=normal video=ofonly quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
-
-label linux26
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
-
-label memtest
+# back to main menu
+label exit
 menu hide
-kernel /boot/addons/memtest
-append BOOT_IMAGE=memtest
+kernel isolinux.bin
 
-label fb1280x1024
+label back
 menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off vga=794 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
+kernel isolinux.bin
 
-label fb1024x768
+label quit
 menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
-
-label fb800x600
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off vga=788 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
-
-label serial
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append apm=power-off vga=normal video=vesafb:off quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce console=tty1 console=ttyS0,9600n8
-
-label userdef
-menu hide
-menu hide
-kernel /boot/%GRML_NAME%/linux26
-append ###############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
-
-label hda
-menu hide
-kernel /boot/addons/chain.c32
-append hd0 0
-
-label fd0
-menu hide
-kernel /boot/addons/chain.c32
-append fd0
-
-label hd
-menu hide
-localboot 0x80
-
-label hd1
-menu hide
-localboot 0x81
-
-label hd2
-menu hide
-localboot 0x82
-
-label hd3
-menu hide
-localboot 0x83
-
-label floppy
-menu hide
-localboot 0x0
-
-label next
-menu hide
-localboot -1
-
-label menu
-menu hide
-config /boot/isolinux/vesamenu.cfg
-
+kernel isolinux.bin
diff --git a/templates/boot/isolinux/grmlmain.cfg b/templates/boot/isolinux/grmlmain.cfg
new file mode 100644 (file)
index 0000000..f546b5d
--- /dev/null
@@ -0,0 +1 @@
+# will be generated by grml-live
diff --git a/templates/boot/isolinux/hd.cfg b/templates/boot/isolinux/hd.cfg
new file mode 100644 (file)
index 0000000..2da71db
--- /dev/null
@@ -0,0 +1,9 @@
+# local disk:
+label hd
+  menu label ^Boot from Hard Disk
+  localboot 0x80
+  text help
+                                        Boot from first local hard disk -
+                                        if present and bootable.
+  endtext
+
diff --git a/templates/boot/isolinux/hidden.cfg b/templates/boot/isolinux/hidden.cfg
new file mode 100644 (file)
index 0000000..cd4d7e8
--- /dev/null
@@ -0,0 +1,119 @@
+label splash
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live splash nomce
+
+label grml2hd
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
+
+label debian2hd
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off vga=791 initrd=/boot/%GRML_NAME%/initrd.gz boot=live BOOT_IMAGE=debian2hd nomce
+
+label debug
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off vga=791 verbose debug=vc debug initrd=/boot/%GRML_NAME%/initrd.gz boot=live initcall_debug nomce
+
+label bootchart
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append init=/sbin/bootchartd apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
+
+label vmware
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off nousb nousb2 nofirewire vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
+
+label qemu
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off nousb nousb2 nofirewire vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce qemu
+
+label grmlx
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off startx=wm-ng vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
+
+label nofb
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off vga=normal video=ofonly quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
+
+label linux26
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
+
+label memtest
+menu hide
+kernel /boot/addons/memtest
+append BOOT_IMAGE=memtest
+
+label fb1280x1024
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off vga=794 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
+
+label fb1024x768
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
+
+label fb800x600
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off vga=788 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce
+
+label serial
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append apm=power-off vga=normal video=vesafb:off quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce console=tty1 console=ttyS0,9600n8
+
+label userdef
+menu hide
+menu hide
+kernel /boot/%GRML_NAME%/linux26
+append ###############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
+
+label hda
+menu hide
+kernel /boot/addons/chain.c32
+append hd0 0
+
+label fd0
+menu hide
+kernel /boot/addons/chain.c32
+append fd0
+
+label hd
+menu hide
+localboot 0x80
+
+label hd1
+menu hide
+localboot 0x81
+
+label hd2
+menu hide
+localboot 0x82
+
+label hd3
+menu hide
+localboot 0x83
+
+label floppy
+menu hide
+localboot 0x0
+
+label next
+menu hide
+localboot -1
+
+label menu
+menu hide
+config /boot/isolinux/vesamenu.cfg
+
index 2f044f3..79e1d2c 100644 (file)
@@ -9,13 +9,18 @@
 # - boot-beep.msg -> bootsplash config for console version sending beep sound
 # - boot.msg      -> bootsplash config for console version (no graphical boot menu)
 # - console.cfg   -> console version configuration of isolinux (no graphical boot menu)
+# - default.cfg   -> default boot entry (default select)
 # - distri.cfg    -> configuration file which specifies which file provides the labels
 # - f1. ..f10     -> bootsplash screens when pressing f1...f10 in console version
 # - grml.cfg      -> definitions of labels for main bootoptions of the grml live system
 # - grml.png      -> background image of graphical bootsplash for grml
+# - hd.cfg        -> definition for boot from hd menu entry
+# - hidden.cfg    -> definitions for isolinux prompt
 # - isolinux.bin  -> isolinux binary
 # - isolinux.cfg  -> this file, includes the according files as requested
+# - isopromt.cfg  -> definition for isoprompt menu entry
 # - logo.16       -> logo visible in console version of bootsplash
+# - options.cfg   -> label definitions for further boot layout
 # - prompt.cfg    -> helper file to jump between graphical and console based version
 # - syslinux.cfg  -> syslinux specific configuration file
 # - vesamenu.c32  -> vesamenu binary for graphical boot menu
diff --git a/templates/boot/isolinux/isoprompt.cfg b/templates/boot/isolinux/isoprompt.cfg
new file mode 100644 (file)
index 0000000..88ec885
--- /dev/null
@@ -0,0 +1,9 @@
+label help
+  menu label ^Isolinux prompt
+  config prompt.cfg
+  text help
+                                        Jump to old style isolinux prompt
+                                        featuring further information
+                                        regarding available boot options.
+  endtext
+
diff --git a/templates/boot/isolinux/options.cfg b/templates/boot/isolinux/options.cfg
new file mode 100644 (file)
index 0000000..8334d21
--- /dev/null
@@ -0,0 +1,7 @@
+menu end
+menu separator
+
+# addons:
+label -
+menu label ^Further boot options:
+menu disable