X-Git-Url: https://git.grml.org/?p=grml2usb.git;a=blobdiff_plain;f=grml2usb;h=0ea1d019b5469490fd59c1211eb06489d25d9b37;hp=695398464ccc91f910507ff660ba32cbd00b2b73;hb=aca4fce56995447d9d9aacc89ab29ec01d5ba71a;hpb=aaface0bc995335a4f44ad3e603333bfa1c83dcb diff --git a/grml2usb b/grml2usb index 6953984..0ea1d01 100755 --- a/grml2usb +++ b/grml2usb @@ -10,22 +10,6 @@ This script installs a grml system (either a running system or ISO[s]) to a USB :license: GPL v2 or any later version :bugreports: http://grml.org/bugs/ -TODO ----- - -* implement missing options (--grub, --kernel, --initrd, --squashfs, --uninstall) -* validate partition schema/layout: is the partition schema ok and the bootable flag set? (--validate?) -* provide --create-partition option? -* implement logic for storing information about copied files -> register every file in a set() -* the last line in bootsplash (boot.msg) should mention all installed grml flavours -* code improvements: - - improve error handling wherever possible :) - - use 'with open("...", "w") as f: ... f.write("...")' - - simplify functions/code as much as possible, especially: - Too many local variables - Too many branches - Too many statements -* graphical version? any volunteers? :) """ from __future__ import with_statement @@ -303,12 +287,11 @@ F10 /boot/syslinux/f10 # the default option (using %(grml_flavour)s) LABEL grml KERNEL /boot/release/%(grml_flavour)s/linux26 -APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce quiet module=%(grml_flavour)s %(bootoptions)s +APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce vga=791 quiet module=%(grml_flavour)s %(bootoptions)s # memtest LABEL memtest KERNEL /boot/addons/memtest -#APPEND BOOT_IMAGE=memtest # grub LABEL grub @@ -339,22 +322,22 @@ def generate_flavour_specific_syslinux_config(grml_flavour, bootoptions): # flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s] LABEL %(grml_flavour)s KERNEL /boot/release/%(grml_flavour)s/linux26 -APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce quiet module=%(grml_flavour)s %(bootoptions)s +APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce vga=791 quiet module=%(grml_flavour)s %(bootoptions)s # flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s] LABEL %(grml_flavour)s2ram KERNEL /boot/release/%(grml_flavour)s/linux26 -APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce quiet module=%(grml_flavour)s toram=%(grml_flavour)s %(bootoptions)s +APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce vga=791 quiet module=%(grml_flavour)s toram=%(grml_flavour)s %(bootoptions)s # flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s] LABEL %(grml_flavour)s-debug KERNEL /boot/release/%(grml_flavour)s/linux26 -APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce quiet module=%(grml_flavour)s debug boot=live initcall_debug%(bootoptions)s +APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce vga=791 quiet module=%(grml_flavour)s debug boot=live initcall_debug%(bootoptions)s # flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s] LABEL %(grml_flavour)s-x KERNEL /boot/release/%(grml_flavour)s/linux26 -APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce quiet module=%(grml_flavour)s startx=wm-ng %(bootoptions)s +APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce vga=791 quiet module=%(grml_flavour)s startx=wm-ng %(bootoptions)s # flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s] LABEL %(grml_flavour)s-nofb @@ -369,7 +352,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-forensic KERNEL /boot/release/%(grml_flavour)s/linux26 -APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce quiet module=%(grml_flavour)s nofstab noraid nolvm noautoconfig noswap raid=noautodetect %(bootoptions)s +APPEND initrd=/boot/release/%(grml_flavour)s/initrd.gz apm=power-off boot=live nomce vga=791 quiet module=%(grml_flavour)s nofstab noraid nolvm noautoconfig noswap raid=noautodetect %(bootoptions)s # flavour specific configuration for %(grml_flavour)s [grml2usb for %(grml_flavour)s: %(local_datestamp)s] LABEL %(grml_flavour)s-serial @@ -428,6 +411,13 @@ def install_bootloader(device): def install_lilo_mbr(lilo, device): """TODO""" + # TODO: check out the *real* difference between: + # * mbr-install /dev/ice + # * lilo -S /dev/null -M /dev/ice ext && lilo -S /dev/null -A /dev/ice 1 + # * cat /usr/lib/syslinux/mbr.bin > /dev/ice + # * syslinux -sf /dev/iceX + # * ...? + # to support -A for extended partitions: logging.info("Installing MBR") logging.debug("%s -S /dev/null -M %s ext" % (lilo, device)) @@ -710,7 +700,7 @@ def copy_addons(iso_mount, target): proc = subprocess.Popen(["install", "--mode=664", balderimg, addons + 'balder10.imz']) proc.wait() - # memtest86+ image + # memdisk image memdiskimg = search_file('memdisk', iso_mount) if memdiskimg is None: logging.warn("Warning: memdisk not found - can not install it") @@ -719,6 +709,15 @@ def copy_addons(iso_mount, target): proc = subprocess.Popen(["install", "--mode=664", memdiskimg, addons + 'memdisk']) proc.wait() + # memtest86+ image + memtestimg = search_file('memtest', iso_mount) + if memtestimg is None: + logging.warn("Warning: memtest not found - can not install it") + else: + logging.debug("cp %s %s" % (memtestimg, addons + '/memtest')) + proc = subprocess.Popen(["install", "--mode=664", memtestimg, addons + 'memtest']) + proc.wait() + def copy_bootloader_files(iso_mount, target): """"TODO"""