-def generate_main_grub2_config(grml_flavour, bootoptions):
- """Generate grub2 configuration for use via grub.cfg
-
- @grml_flavour: name of grml flavour the configuration should be generated for
- @bootoptions: additional bootoptions that should be used by default"""
-
- local_datestamp = DATESTAMP
-
- return("""\
-## main grub2 configuration - generated by grml2usb [main config generated at: %(local_datestamp)s]
-set default=0
-set timeout=10
-
-insmod fat
-
-if loadfont /boot/grub/ascii.pf2 ; then
- insmod png
- set gfxmode=640x480
- insmod gfxterm
- insmod vbe
- if terminal_output gfxterm ; then true ; else
- # For backward compatibility with versions of terminal.mod that don't
- # understand terminal_output
- terminal gfxterm
- fi
-fi
-
-if background_image /boot/grub/grml.png ; then
- set color_normal=black/black
- set color_highlight=red/black
-else
- set menu_color_normal=white/black
- set menu_color_highlight=black/yellow
-fi
-
-menuentry "%(grml_flavour)s (default)" {
- set gfxpayload=1024x768x16,1024x768
- linux /boot/release/%(flavour_filename)s/linux26 apm=power-off quiet boot=live nomce live-media-path=/live/%(grml_flavour)s/ bootid=%(uid)s %(bootoptions)s
- initrd /boot/release/%(flavour_filename)s/initrd.gz
-}
-
-menuentry "Memory test (memtest86+)" {
- linux16 /boot/addons/memtest
-}
-
-menuentry "Boot Grub (all in one image)" {
- linux /boot/addons/memdisk
- initrd /boot/addons/allinone.img
-}
-
-menuentry "Boot FreeDOS" {
- linux /boot/addons/memdisk
- initrd /boot/addons/balder10.imz
-}
-
-if [ ${iso_path} ] ; then
- # assume loopback.cfg boot
- if [ -e /boot/addons/bsd4grml/loopback.0 ] ; then
- # bsd4grml 20100815 and later
- menuentry "Boot MirOS bsd4grml" {
- multiboot /boot/addons/bsd4grml/ldbsd.com
- module /boot/addons/bsd4grml/bsd.rd bsd
- module /boot/addons/bsd4grml/loopback.0 boot.cfg
- module /boot/addons/bsd4grml/loopback.1 boot.1
- module /boot/addons/bsd4grml/loopback.2 boot.2
- module /boot/addons/bsd4grml/loopback.3 boot.3
- module /boot/addons/bsd4grml/loopback.4 boot.4
- module /boot/addons/bsd4grml/loopback.5 boot.5
- module /boot/addons/bsd4grml/loopback.6 boot.6
- }
- else
- # old bsd4grml
- menuentry "Boot MirOS bsd4grml" {
- multiboot /boot/addons/bsd4grml/ldbsd.com
- module /boot/addons/bsd4grml/bsd.rd bsd.rd
- module /boot/addons/bsd4grml/boot.cfg boot.cfg
- module /boot/addons/bsd4grml/boot.1 boot.1
- module /boot/addons/bsd4grml/boot.2 boot.2
- module /boot/addons/bsd4grml/boot.3 boot.3
- module /boot/addons/bsd4grml/boot.4 boot.4
- module /boot/addons/bsd4grml/boot.5 boot.5
- }
- fi
-else
- # assume grub.cfg boot
- menuentry "Boot MirOS bsd4grml" {
- multiboot /boot/addons/bsd4grml/ldbsd.com
- module /boot/addons/bsd4grml/bsd.rd bsd.rd
- module /boot/addons/bsd4grml/boot.cfg boot.cfg
- module /boot/addons/bsd4grml/boot.1 boot.1
- module /boot/addons/bsd4grml/boot.2 boot.2
- module /boot/addons/bsd4grml/boot.3 boot.3
- module /boot/addons/bsd4grml/boot.4 boot.4
- module /boot/addons/bsd4grml/boot.5 boot.5
- module /boot/addons/bsd4grml/boot.6 boot.6
- }
-fi
-
-menuentry "Boot OS of first partition on first disk" {
- set root=(hd0,1)
- chainloader +1
-}
-
-""" % {'grml_flavour': grml_flavour, 'local_datestamp': local_datestamp,
- 'flavour_filename': grml_flavour.replace('-', ''),
- 'uid': UUID, 'bootoptions': bootoptions } )
-
-
-def generate_flavour_specific_grub2_config(grml_flavour, bootoptions):
- """Generate grub2 configuration for use via grub.cfg
-
- @grml_flavour: name of grml flavour the configuration should be generated for
- @bootoptions: additional bootoptions that should be used by default"""
-
- local_datestamp = DATESTAMP
-
- return("""\
-## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
-menuentry "%(grml_flavour)s - boot in default mode" {
- set gfxpayload=1024x768x16,1024x768
- linux /boot/release/%(flavour_filename)s/linux26 apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ bootid=%(uid)s %(bootoptions)s
- initrd /boot/release/%(flavour_filename)s/initrd.gz
-}
-
-## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
-menuentry "%(grml_flavour)s-persistent - enable persistency feature" {
- set gfxpayload=1024x768x16,1024x768
- linux /boot/release/%(flavour_filename)s/linux26 apm=power-off boot=live nomce quiet persistent live-media-path=/live/%(grml_flavour)s/ bootid=%(uid)s %(bootoptions)s
- initrd /boot/release/%(flavour_filename)s/initrd.gz
-}
-
-## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
-menuentry "%(grml_flavour)s2ram - copy compressed grml file to RAM" {
- set gfxpayload=1024x768x16,1024x768
- linux /boot/release/%(flavour_filename)s/linux26 apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ toram=%(grml_flavour)s.squashfs bootid=%(uid)s %(bootoptions)s
- initrd /boot/release/%(flavour_filename)s/initrd.gz
-}
-
-## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
-menuentry "%(grml_flavour)s-debug - enable debugging options" {
- set gfxpayload=1024x768x16,1024x768
- linux /boot/release/%(flavour_filename)s/linux26 apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ debug bootid=%(uid)s initcall_debug %(bootoptions)s
- initrd /boot/release/%(flavour_filename)s/initrd.gz
-}
-
-## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
-menuentry "%(grml_flavour)s-x - start X Window System" {
- set gfxpayload=1024x768x16,1024x768
- linux /boot/release/%(flavour_filename)s/linux26 apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ startx=wm-ng bootid=%(uid)s %(bootoptions)s
- initrd /boot/release/%(flavour_filename)s/initrd.gz
-}
-
-## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
-menuentry "%(grml_flavour)s-nofb - disable framebuffer" {
- linux /boot/release/%(flavour_filename)s/linux26 apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ vga=normal video=ofonly bootid=%(uid)s %(bootoptions)s
- initrd /boot/release/%(flavour_filename)s/initrd.gz
-}
-
-## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
-menuentry "%(grml_flavour)s-nokms - disable Kernel Mode-Setting" {
- linux /boot/release/%(flavour_filename)s/linux26 apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ bootid=%(uid)s %(bootoptions)s radeon.modeset=0 i915.modeset=0 nouveau.modeset=0 nomodeset
- initrd /boot/release/%(flavour_filename)s/initrd.gz
-}
-
-## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
-menuentry "%(grml_flavour)s-failsafe - disable hardware detection" {
- linux /boot/release/%(flavour_filename)s/linux26 apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ 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 bootid=%(uid)s %(bootoptions)s
- initrd /boot/release/%(flavour_filename)s/initrd.gz
-}
-
-## flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s]
-menuentry "%(grml_flavour)s-forensic - do not touch harddisks during hw recognition" {
- set gfxpayload=1024x768x16,1024x768
- linux /boot/release/%(flavour_filename)s/linux26 apm=power-off boot=live nomce quiet live-media-path=/live/%(grml_flavour)s/ nofstab noraid nolvm noautoconfig noswap raid=noautodetect forensic readonly bootid=%(uid)s %(bootoptions)s
- initrd /boot/release/%(flavour_filename)s/initrd.gz
-}
-
-""" % {'grml_flavour': grml_flavour, 'local_datestamp': local_datestamp,
- 'flavour_filename': grml_flavour.replace('-', ''),
- 'uid': UUID, 'bootoptions': bootoptions } )
-
-def generate_isolinux_splash(grml_flavour):
- """Generate bootsplash for isolinux/syslinux
-
- @grml_flavour: name of grml flavour the configuration should be generated for"""
-
- grml_name = grml_flavour
-
- return("""\
-\ f17\f\18/boot/syslinux/logo.16
-
-Some information and boot options available via keys F2 - F10. http://grml.org/
-%(grml_name)s
-""" % {'grml_name': grml_name} )
-
-
-def generate_main_syslinux_config(*arg):
- """Generate main configuration for use in syslinux.cfg