Rework variable replacements in templates
authorMichael Prokop <mika@grml.org>
Sun, 18 Oct 2009 15:47:50 +0000 (17:47 +0200)
committerMichael Prokop <mika@grml.org>
Sun, 18 Oct 2009 23:02:02 +0000 (01:02 +0200)
debian/changelog
grml-live
templates/boot/isolinux/default.cfg
templates/boot/isolinux/grml.cfg
templates/boot/isolinux/hidden.cfg
templates/boot/isolinux/isolinux.cfg
templates/boot/isolinux/menudefault.cfg [new file with mode: 0644]
templates/boot/isolinux/menuoptions.cfg [new file with mode: 0644]
templates/boot/isolinux/syslinux.cfg

index 91123ed..caed9c7 100644 (file)
@@ -10,8 +10,15 @@ grml-live (0.9.24) UNRELEASED; urgency=low
     - Drop isic + lcap (packages gone) from GRML_FULL.
     - Drop ipset from GRML_FULL + GRML_FORENSIC (it's part of
       xtables-addons-common).
-
- -- Michael Prokop <mika@grml.org>  Sun, 18 Oct 2009 16:51:22 +0200
+  * Rework variable replacements in templates. Now the %VAR% strings
+    in the templates match with the ones used inside grml-live ($VAR),
+    currently ARCH, DATE, DISTRI_INFO, DISTRI_NAME, DISTRI_SPLASH,
+    GRML_NAME, SQUASHFS_NAME, RELEASE_INFO, SHORT_NAME and VERSION
+    are supported. If you use your own templates from older grml-live
+    versions please make sure to adjust them.
+    Thanks to Ulrich for helping with integration within grml2usb.
+
+ -- Michael Prokop <mika@grml.org>  Sun, 18 Oct 2009 17:44:42 +0200
 
 grml-live (0.9.23) unstable; urgency=low
 
index 895fc78..49e2ad7 100755 (executable)
--- a/grml-live
+++ b/grml-live
@@ -276,7 +276,7 @@ ISO_OUTPUT="$OUTPUT/grml_isos"
 
 # trim characters that are known to cause problems inside $GRML_NAME;
 # for example isolinux does not like '-' inside the directory name
-[ -n "$GRML_NAME" ] && export SHORT_GRML_NAME="$(echo $GRML_NAME | tr -d ',./;\- ')"
+[ -n "$GRML_NAME" ] && export SHORT_NAME="$(echo $GRML_NAME | tr -d ',./;\- ')"
 
 # export variables to have them available in fai scripts:
 [ -n "$GRML_NAME" ]   && export GRML_NAME="$GRML_NAME"
@@ -580,7 +580,7 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
    else
       # booting stuff:
       [ -d "$BUILD_OUTPUT"/boot/isolinux ] || mkdir -p "$BUILD_OUTPUT"/boot/isolinux
-      [ -d "$BUILD_OUTPUT"/boot/"${SHORT_GRML_NAME}" ] || mkdir -p "$BUILD_OUTPUT"/boot/"${SHORT_GRML_NAME}"
+      [ -d "$BUILD_OUTPUT"/boot/"${SHORT_NAME}" ] || mkdir -p "$BUILD_OUTPUT"/boot/"${SHORT_NAME}"
 
       if [ -z "$NO_ADDONS" ] ; then
          [ -d "$BUILD_OUTPUT"/boot/addons   ] || mkdir -p "$BUILD_OUTPUT"/boot/addons
@@ -601,7 +601,7 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
       # during build, so check for the file:
       INITRD="$(ls $CHROOT_OUTPUT/boot/initrd* 2>/dev/null| grep -v '.bak$' | sort -r | head -1)"
       if [ -n "$INITRD" ] ; then
-         cp $INITRD "$BUILD_OUTPUT"/boot/"${SHORT_GRML_NAME}"/initrd.gz
+         cp $INITRD "$BUILD_OUTPUT"/boot/"${SHORT_NAME}"/initrd.gz
          find $CHROOT_OUTPUT/boot/ -name initrd\*.bak -exec rm {} \;
       else
          log    "Error: No initrd found inside $CHROOT_OUTPUT/boot/ - Exiting"
@@ -611,7 +611,7 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
 
       KERNEL_IMAGE="$(ls $CHROOT_OUTPUT/boot/vmlinuz* 2>/dev/null | sort -r | head -1)"
       if [ -n "$KERNEL_IMAGE" ] ; then
-         cp "$KERNEL_IMAGE" "$BUILD_OUTPUT"/boot/"${SHORT_GRML_NAME}"/linux26
+         cp "$KERNEL_IMAGE" "$BUILD_OUTPUT"/boot/"${SHORT_NAME}"/linux26
       else
          log    "Error: No kernel found inside $CHROOT_OUTPUT/boot/ - Exiting"
          eerror "Error: No kernel found inside $CHROOT_OUTPUT/boot/ - Exiting" ; eend 1
@@ -625,6 +625,8 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
          bailout 8
       fi
 
+      # *always* copy files to output directory so the variables
+      # get adjusted according to the build
       cp ${TEMPLATE_DIRECTORY}/boot/isolinux/*  "$BUILD_OUTPUT"/boot/isolinux/
 
       if [ -n "$NO_ADDONS" ] ; then
@@ -668,62 +670,45 @@ if [ "$ARCH" = i386 ] || [ "$ARCH" = amd64 ] ; then
       RELEASE_INFO="$(extend_string_end 68 "$RELEASE_INFO")"
 
       sed -i "s/%RELEASE_INFO%/$GRML_NAME $VERSION - $RELEASENAME/" "$BUILD_OUTPUT"/GRML/grml-version
-      sed -i "s/%DATE%/$ISO_DATE/"             "$BUILD_OUTPUT"/GRML/grml-version
-
-      sed -i "s/%RELEASE_INFO%/$RELEASE_INFO/" "$BUILD_OUTPUT"/boot/isolinux/boot.msg
-      sed -i "s/%DATE%/$ISO_DATE/"             "$BUILD_OUTPUT"/boot/isolinux/boot.msg
-
-      sed -i "s/%GRML_NAME%/$SHORT_GRML_NAME/" "$BUILD_OUTPUT"/boot/isolinux/isolinux.cfg
-      sed -i "s/%GRML_NAME%/$SHORT_GRML_NAME/" "$BUILD_OUTPUT"/boot/isolinux/syslinux.cfg
-
-      sed -i "s/%RELEASE_INFO%/$RELEASE_INFO/" "$BUILD_OUTPUT"/boot/isolinux/boot-beep.msg
-      sed -i "s/%DATE%/$ISO_DATE/"             "$BUILD_OUTPUT"/boot/isolinux/boot-beep.msg
-
-      sed -i "s/%VERSION%/$VERSION/"           "$BUILD_OUTPUT"/boot/grub/menu.lst
-      sed -i "s/%GRML_NAME%/$SHORT_GRML_NAME/" "$BUILD_OUTPUT"/boot/grub/menu.lst
-
-      sed -i "s/%VERSION%/$VERSION/"           "$BUILD_OUTPUT"/boot/grub/grub.cfg
-      sed -i "s/%GRML_NAME%/$SHORT_GRML_NAME/" "$BUILD_OUTPUT"/boot/grub/grub.cfg
-
-      if [ -r "${BUILD_OUTPUT}/boot/isolinux/${DISTRI_NAME}.cfg" ] ; then
-         sed -i "s/%VERSION%/$VERSION/"            "$BUILD_OUTPUT"/boot/isolinux/grml.cfg
-         sed -i "s/%GRML_LONG_NAME%/$DISTRI_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
-      fi
-
-      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
+      sed -i "s/%DATE%/$ISO_DATE/"                                  "$BUILD_OUTPUT"/GRML/grml-version
 
       # make sure the squashfs filename is set accordingly:
-      GRML_NAME_SQUASHFS="$GRML_NAME.squashfs"
-      sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/isolinux.cfg
-      sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/syslinux.cfg
-      sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/grub/menu.lst
+      SQUASHFS_NAME="$GRML_NAME.squashfs"
+
+      # adjust all variables in the templates with the according distribution information
+      for file in "${BUILD_OUTPUT}"/boot/isolinux/*.cfg "${BUILD_OUTPUT}"/boot/isolinux/*.msg \
+                  "${BUILD_OUTPUT}"/boot/grub/* ; do
+        sed -i "s/%ARCH%/$ARCH/g"                    "${file}"
+        sed -i "s/%DATE%/$ISO_DATE/g"                "${file}"
+        sed -i "s/%DISTRI_INFO%/$DISTRI_INFO/g"      "${file}"
+        sed -i "s/%DISTRI_NAME%/$DISTRI_NAME/g"      "${file}"
+        sed -i "s/%DISTRI_SPLASH%/$DISTRI_SPLASH/g"  "${file}"
+        sed -i "s/%GRML_NAME%/$GRML_NAME/g"          "${file}"
+        sed -i "s/%SQUASHFS_NAME%/$SQUASHFS_NAME/g"  "${file}"
+        sed -i "s/%RELEASE_INFO%/$RELEASE_INFO/g"    "${file}"
+        sed -i "s/%SHORT_NAME%/$SHORT_NAME/g"        "${file}"
+        sed -i "s/%VERSION%/$VERSION/g"              "${file}"
+      done
 
-      GRML_NAME_SQUASHFS="$(cut_string 20 "$GRML_NAME_SQUASHFS")"
-      GRML_NAME_SQUASHFS="$(extend_string_end 20 "$GRML_NAME_SQUASHFS")"
-      sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/f4
-      sed -i "s/%GRML_NAME_SQUASHFS%/$GRML_NAME_SQUASHFS/" "$BUILD_OUTPUT"/boot/isolinux/f5
+      # adjust bootsplash accordingly but make sure the string has the according lenght
+      SQUASHFS_NAME="$(cut_string 20 "$SQUASHFS_NAME")"
+      SQUASHFS_NAME="$(extend_string_end 20 "$SQUASHFS_NAME")"
+      sed -i "s/%SQUASHFS_NAME%/$SQUASHFS_NAME/" "$BUILD_OUTPUT"/boot/isolinux/f4
+      sed -i "s/%SQUASHFS_NAME%/$SQUASHFS_NAME/" "$BUILD_OUTPUT"/boot/isolinux/f5
 
       if ! [ -r "${BUILD_OUTPUT}/boot/isolinux/${DISTRI_NAME}.cfg" ] || [ "$DISTRI_NAME" = "grml" ] ; then
          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"
+         echo "include grmlmain.cfg"    >  "${BUILD_OUTPUT}/boot/isolinux/distri.cfg"
+         echo "include default.cfg"     >  "${BUILD_OUTPUT}/boot/isolinux/grmlmain.cfg"
+         echo "include menuoptions.cfg" >> "${BUILD_OUTPUT}/boot/isolinux/grmlmain.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"
+           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"
+         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 e3d3e07..15fb85d 100644 (file)
@@ -1,8 +1,8 @@
-label grml
+label %GRML_NAME%
   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 
+  menu label %GRML_NAME% ^Standard (%VERSION%, %ARCH%)
+  kernel /boot/%SHORT_NAME%/linux26
+  append initrd=/boot/%SHORT_NAME%/initrd.gz boot=live apm=power-off vga=791 quiet nomce 
 
   text help
                                         Grml is a Debian based Linux live
index 79882e8..4ca3f15 100644 (file)
@@ -2,13 +2,44 @@
 
 # generic ones
 
-include default.cfg
+label debug
+  menu label %GRML_NAME% - Debug Mode
+  kernel /boot/%SHORT_NAME%/linux26
+  append initrd=/boot/%SHORT_NAME%/initrd.gz boot=live apm=power-off vga=791 verbose debug=vc debug initcall_debug nomce 
 
+  text help
+                                        Boot Grml in debug mode, which
+                                        activates debug shells during
+                                        bootup sequence.
+  endtext
+
+label nofb
+  menu label %GRML_NAME% - Disable Framebuffer
+  kernel /boot/%SHORT_NAME%/linux26
+  append initrd=/boot/%SHORT_NAME%/initrd.gz boot=live apm=power-off vga=normal quiet nomce 
+
+  text help
+                                        Boot Grml without framebuffer.
+  endtext
+
+label lang-de
+  menu label %GRML_NAME% - Enable SSH (with random password)
+  kernel /boot/%SHORT_NAME%/linux26
+  append initrd=/boot/%SHORT_NAME%/initrd.gz boot=live apm=power-off vga=791 quiet nomce ssh
+
+  text help
+                                        Boot Grml and automatically start
+                                        SSH Server. The password for user
+                                        'grml' will be set to a random
+                                        password, unless you add an option
+                                        to the ssh argument in the command
+                                        line (for example: ssh=secret).
+  endtext
 
 label failsafe
-  menu label Grml ^Failsafe Mode
-  kernel /boot/%GRML_NAME%/linux26
-  append initrd=/boot/%GRML_NAME%/initrd.gz vga=normal boot=live noautoconfig atapicd noapic noacpi acpi=off nomodules nofirewire noudev nousb nohotplug noapm nopcmcia nosmp maxcpus=0 noscsi noagp nodma ide=nodma noswap nofstab nosound nogpm nosyslog nodhcp nocpu nodisc nomodem xmodule=vesa noraid nolvm noresume selinux=0 edd=off pci=nomsi 
+  menu label %GRML_NAME% - ^Failsafe Mode
+  kernel /boot/%SHORT_NAME%/linux26
+  append initrd=/boot/%SHORT_NAME%/initrd.gz boot=live vga=normal noautoconfig atapicd noapic noacpi acpi=off nomodules nofirewire noudev nousb nohotplug noapm nopcmcia nosmp maxcpus=0 noscsi noagp nodma ide=nodma noswap nofstab nosound nogpm nosyslog nodhcp nocpu nodisc nomodem xmodule=vesa noraid nolvm noresume selinux=0 edd=off pci=nomsi 
 
   text help
                                         Boot Grml in failsafe mode, which
@@ -19,21 +50,41 @@ label failsafe
   endtext
 
 label forensic
-  menu label Grml F^orensic Mode
-  kernel /boot/%GRML_NAME%/linux26
-  append initrd=/boot/%GRML_NAME%/initrd.gz vga=791 forensic nofstab noraid nolvm noautoconfig noswap raid=noautodetect readonly quiet boot=live 
+  menu label %GRML_NAME% - F^orensic Mode
+  kernel /boot/%SHORT_NAME%/linux26
+  append initrd=/boot/%SHORT_NAME%/initrd.gz boot=live apm=power-off nomce vga=791 forensic nofstab noraid nolvm noautoconfig noswap raid=noautodetect readonly quiet 
+
+  text help
+                                        Boot Grml in forensic mode. This
+                                        mode prevents touching any harddisks
+                                        during hardware recognition and
+                                        forces all blockdevices to readonly
+                                        mode.
+  endtext
+
+label lang-de
+  menu label %GRML_NAME% - German Settings
+  kernel /boot/%SHORT_NAME%/linux26
+  append initrd=/boot/%SHORT_NAME%/initrd.gz boot=live apm=power-off vga=791 quiet nomce lang=de 
+
+  text help
+                                        Boot Grml with german settings.
+  endtext
+
+label %GRML_NAME%x
+  menu label %GRML_NAME% - Graphical Mode
+  kernel /boot/%SHORT_NAME%/linux26
+  append initrd=/boot/%SHORT_NAME%/initrd.gz boot=live apm=power-off quiet nomce startx=wm-ng 
 
   text help
-                                        Boot Grml in forensic mode. This mode
-                                        prevents touching any harddisks during
-                                        hardware recognition and forces all
-                                        blockdevices to readonly mode.
+                                        Boot Grml and automatically invoke
+                                        grml-x to start X Window System.
   endtext
 
 label grml2ram
-  menu label Grml to ^RAM
-  kernel /boot/%GRML_NAME%/linux26
-  append apm=power-off vga=791 quiet initrd=/boot/%GRML_NAME%/initrd.gz boot=live nomce toram=%GRML_NAME%.squashfs 
+  menu label %GRML_NAME% - Load to ^RAM
+  kernel /boot/%SHORT_NAME%/linux26
+  append initrd=/boot/%SHORT_NAME%/initrd.gz boot=live apm=power-off vga=791 quiet nomce toram=%SQUASHFS_NAME% 
 
   text help
                                         Load Grml into the memory (RAM).
@@ -45,6 +96,16 @@ label grml2ram
                                         to use this option.
   endtext
 
+label serial
+  menu label %GRML_NAME% - Serial Console
+  kernel /boot/%SHORT_NAME%/linux26
+  append initrd=/boot/%SHORT_NAME%/initrd.gz boot=live apm=power-off vga=normal video=vesafb:off quiet nomce console=tty1 console=ttyS0,9600n8 
+
+
+  text help
+                                        Activate ttyS0 and start mgetty.
+  endtext
+
 # back to main menu
 label exit
 menu hide
@@ -57,3 +118,5 @@ kernel isolinux.bin
 label quit
 menu hide
 kernel isolinux.bin
+
+menu end
index 30580e2..0359298 100644 (file)
@@ -1,52 +1,52 @@
 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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off vga=791 quiet initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off quiet initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off vga=791 initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off vga=791 verbose debug=vc debug initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append init=/sbin/bootchartd apm=power-off vga=791 quiet initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off nousb nousb2 nofirewire vga=791 quiet initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off nousb nousb2 nofirewire vga=791 quiet initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off startx=wm-ng vga=791 quiet initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off vga=normal video=ofonly quiet initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off vga=791 quiet initrd=/boot/%SHORT_NAME%/initrd.gz boot=live nomce 
 
 label memtest
 menu hide
@@ -55,28 +55,28 @@ 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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off vga=794 quiet initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off vga=791 quiet initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off vga=788 quiet initrd=/boot/%SHORT_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 
+kernel /boot/%SHORT_NAME%/linux26
+append apm=power-off vga=normal video=vesafb:off quiet initrd=/boot/%SHORT_NAME%/initrd.gz boot=live nomce console=tty1 console=ttyS0,9600n8 
 
 label userdef
 menu hide
 menu hide
-kernel /boot/%GRML_NAME%/linux26
+kernel /boot/%SHORT_NAME%/linux26
 append ###############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
 
 label hda
index 79e1d2c..1aa618e 100644 (file)
@@ -5,26 +5,29 @@
 # License:       This file is licensed under the GPL v2 or any later version.
 ################################################################################
 # File Overview:
-# - addons.cfg    -> configuration file for /boot/addons/ (only used if NO_ADDONS not set)
-# - 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
-# - vesamenu.cfg  -> configuration of graphical boot splash/menu
+# - addons.cfg       -> configuration file for /boot/addons/ (only used if NO_ADDONS not set)
+# - 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
+# - grmlmain.cfg     -> automatically generated by grml-live (includes several other files)
+# - 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
+# - menudefaults.cfg -> menu entry for default boot mode
+# - menuoptions.cfg  -> menu for additional boot entries for the (grml) flavour
+# - 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
+# - vesamenu.cfg     -> configuration of graphical boot splash/menu
 ################################################################################
 
 # timeout settings:
diff --git a/templates/boot/isolinux/menudefault.cfg b/templates/boot/isolinux/menudefault.cfg
new file mode 100644 (file)
index 0000000..60b4492
--- /dev/null
@@ -0,0 +1,4 @@
+# menu entry for default boot mode
+label -
+menu label Default boot mode for %GRML_NAME%:
+menu disable
diff --git a/templates/boot/isolinux/menuoptions.cfg b/templates/boot/isolinux/menuoptions.cfg
new file mode 100644 (file)
index 0000000..14508d5
--- /dev/null
@@ -0,0 +1,13 @@
+menu separator
+
+label -
+menu label Additional boot entries for %GRML_NAME%:
+menu disable
+
+menu begin %GRML_NAME%-options
+menu title Boot options for %GRML_NAME%
+
+label mainmenu
+menu label ^Back to main menu...
+menu exit
+menu separator
index 664b863..b508be4 100644 (file)
@@ -33,7 +33,7 @@ APPEND apm=power-off vga=791 quiet initrd=initrd.gz boot=live nomce
 LABEL grml2ram
 MENU LABEL grml2ram - Copy Squashfs file to RAM
 KERNEL linux26
-APPEND apm=power-off toram=%GRML_NAME_SQUASHFS% vga=791 quiet initrd=initrd.gz boot=live nomce 
+APPEND apm=power-off toram=%SQUASHFS_NAME% vga=791 quiet initrd=initrd.gz boot=live nomce 
 
 LABEL splash
 MENU LABEL grml - Bootsplash