Rename --mbr-manager into --mbr-menu
[grml2usb.git] / grml2usb
index 1089dab..e8b0f1a 100755 (executable)
--- a/grml2usb
+++ b/grml2usb
@@ -53,8 +53,8 @@ parser.add_option("--force", dest="force", action="store_true",
 #                  help="install specified kernel instead of the default [TODO - not implemented yet]")
 parser.add_option("--lilo-binary", dest="lilobin",  action="store", type="string",
                   help="lilo executable to be used for installing MBR")
-parser.add_option("--mbr-manager", dest="mbrmgr", action="store_true",
-                  help="enable interactive boot manager menu in MBR")
+parser.add_option("--mbr-menu", dest="mbrmenu", action="store_true",
+                  help="enable interactive boot menu in MBR")
 parser.add_option("--quiet", dest="quiet", action="store_true",
                   help="do not output anything but just errors on console")
 parser.add_option("--skip-addons", dest="skipaddons", action="store_true",
@@ -262,7 +262,7 @@ fi
 
 menuentry "%(grml_flavour)s (default)" {
     set root=(hd0,%(install_partition)s)
-    linux   /boot/release/%(grml_flavour)s/linux26 apm=power-off lang=us vga=791 quiet boot=live nomce live-media-path=/live/%(grml_flavour)s/ %(bootoptions)s
+    linux   /boot/release/%(grml_flavour)s/linux26 apm=power-off vga=791 quiet boot=live nomce live-media-path=/live/%(grml_flavour)s/ %(bootoptions)s
     initrd  /boot/release/%(grml_flavour)s/initrd.gz
 }
 
@@ -346,7 +346,7 @@ menuentry "%(grml_flavour)s-nofb" {
 menuentry "%(grml_flavour)s-failsafe" {
     set root=(hd0,%(install_partition)s)
     linux /boot/release/%(grml_flavour)s/linux26
-    initrd /boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ vga=normal lang=us boot=live noautoconfig atapicd noacpi acpi=off nomodules nofirewire noudev nousb nohotplug noapm nopcmcia maxcpus=1 noscsi noagp nodma ide=nodma noswap nofstab nosound nogpm nosyslog nodhcp nocpu nodisc nomodem xmodule=vesa noraid nolvm %(bootoptions)s
+    initrd /boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ vga=normal boot=live noautoconfig atapicd noacpi acpi=off nomodules nofirewire noudev nousb nohotplug noapm nopcmcia maxcpus=1 noscsi noagp nodma ide=nodma noswap nofstab nosound nogpm nosyslog nodhcp nocpu nodisc nomodem xmodule=vesa noraid nolvm %(bootoptions)s
 }
 
 ## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
@@ -404,7 +404,7 @@ initrd (hd0,%(install_partition)s)/boot/release/%(grml_flavour)s/initrd.gz
 
 ## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
 title %(grml_flavour)s-failsafe
-kernel (hd0,%(install_partition)s)/boot/release/%(grml_flavour)s/linux26 apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ vga=normal lang=us boot=live noautoconfig atapicd noacpi acpi=off nomodules nofirewire noudev nousb nohotplug noapm nopcmcia maxcpus=1 noscsi noagp nodma ide=nodma noswap nofstab nosound nogpm nosyslog nodhcp nocpu nodisc nomodem xmodule=vesa noraid nolvm %(bootoptions)s
+kernel (hd0,%(install_partition)s)/boot/release/%(grml_flavour)s/linux26 apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ vga=normal boot=live noautoconfig atapicd noacpi acpi=off nomodules nofirewire noudev nousb nohotplug noapm nopcmcia maxcpus=1 noscsi noagp nodma ide=nodma noswap nofstab nosound nogpm nosyslog nodhcp nocpu nodisc nomodem xmodule=vesa noraid nolvm %(bootoptions)s
 initrd (hd0,%(install_partition)s)/boot/release/%(grml_flavour)s/initrd.gz
 
 ## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
@@ -439,7 +439,7 @@ background  = FFCC33
 
 # define entries:
 title %(grml_flavour)s  - Default boot (using 1024x768 framebuffer)
-kernel (hd0,%(install_partition)s)/boot/release/%(grml_flavour)s/linux26 apm=power-off lang=us vga=791 quiet boot=live nomce live-media-path=/live/%(grml_flavour)s/
+kernel (hd0,%(install_partition)s)/boot/release/%(grml_flavour)s/linux26 apm=power-off vga=791 quiet boot=live nomce live-media-path=/live/%(grml_flavour)s/
 initrd (hd0,%(install_partition)s)/boot/release/%(grml_flavour)s/initrd.gz
 
 title Memory test (memtest86+)
@@ -574,7 +574,7 @@ APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live n
 # flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
 LABEL  %(grml_flavour)s-failsafe
 KERNEL /boot/release/%(grml_flavour)s/linux26
-APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ vga=normal lang=us boot=live noautoconfig atapicd noacpi acpi=off nomodules nofirewire noudev nousb nohotplug noapm nopcmcia maxcpus=1 noscsi noagp nodma ide=nodma noswap nofstab nosound nogpm nosyslog nodhcp nocpu nodisc nomodem xmodule=vesa noraid nolvm %(bootoptions)s
+APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ vga=normal boot=live noautoconfig atapicd noacpi acpi=off nomodules nofirewire noudev nousb nohotplug noapm nopcmcia maxcpus=1 noscsi noagp nodma ide=nodma noswap nofstab nosound nogpm nosyslog nodhcp nocpu nodisc nomodem xmodule=vesa noraid nolvm %(bootoptions)s
 
 # flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
 LABEL  %(grml_flavour)s-forensic
@@ -703,21 +703,26 @@ def install_syslinux_mbr(device):
 def install_mir_mbr(mbrtemplate, device, partition, ismirbsdmbr=True):
     """install 'mbr' master boot record (MBR) on a device
 
-    Retrieve the partition table from "device", install an MBR from
-    the "mbrtemplate" file, set the "partition" (0..3) active, and
-    install the result back to "device".
+    Retrieve the partition table from "device", install an MBR from the
+    "mbrtemplate" file, set the "partition" (0..3) active, and install the
+    result back to "device".
 
     @mbrtemplate: default MBR file
 
-    @device: name of a file assumed to be a hard disc (or USB stick) image,
-    or something like "/dev/sdb"
+    @device: name of a file assumed to be a hard disc (or USB stick) image, or
+    something like "/dev/sdb"
+
     @partition: must be a number between 0 and 3, inclusive
 
-    @mbrtemplate: must be a valid MBR file of at least 440 (or 439
-    if ismirbsdmbr) bytes.
+    @mbrtemplate: must be a valid MBR file of at least 440 (or 439 if
+    ismirbsdmbr) bytes.
 
-    @ismirbsdmbr: if set the partitions' active flags are not changed.
-    Instead, the MBR's default value is set accordingly."""
+    @ismirbsdmbr: if true then ignore the active flag, set the mirbsdmbr
+    specific flag to 0/1/2/3 and set the MBR's default value accordingly. If
+    false then leave the mirbsdmbr specific flag set to FFh, set all
+    active flags to 0 and set the active flag of the partition to 80h.  Note:
+    behaviour of mirbsdmbr: if flag = 0/1/2/3 then use it, otherwise search for
+    the active flag."""
 
     logging.info("Installing default MBR")
 
@@ -1477,10 +1482,10 @@ def handle_mbr(device):
             if options.syslinuxmbr:
                 handle_syslinux_mbr(mbr_device)
             else:
-                if options.mbrmgr:
+                if options.mbrmenu:
                     install_mir_mbr('/usr/share/grml2usb/mbr/mbrmgr', mbr_device, partition_number, True)
                 else:
-                    install_mir_mbr('/usr/share/grml2usb/mbr/mbrldr', mbr_device, partition_number, True)
+                    install_mir_mbr('/usr/share/grml2usb/mbr/mbrldr', mbr_device, partition_number, False)
         except IOError, error:
             logging.critical("Execution failed: %s", error)
             sys.exit(1)