X-Git-Url: https://git.grml.org/?p=grml2usb.git;a=blobdiff_plain;f=grml2usb;h=28a09dff903e93dc396320f90c07e4fb19150e06;hp=55f24bbb482db2175abee21af46c3f8bb1761c3d;hb=9f38f3398cc3664e18b26ea00079ffd087be4254;hpb=e1e094cbd8cda57a3dcf3ca627604d5459334b3f diff --git a/grml2usb b/grml2usb index 55f24bb..28a09df 100755 --- a/grml2usb +++ b/grml2usb @@ -214,7 +214,7 @@ def mkfs_fat16(device): proc = subprocess.Popen(["mkfs.vfat", "-F", "16", device]) proc.wait() if proc.returncode != 0: - raise Exception("error executing mkfs.vfat") + raise CriticalException("error executing mkfs.vfat") def generate_main_grub2_config(grml_flavour, install_partition, bootoptions): @@ -233,13 +233,20 @@ set timeout=5 insmod fat -insmod png -if background_image (hd0, %(install_partition)s)/boot/grub/grml.png ; then +if font (hd0,%(install_partition)s)/boot/grub/ascii.pff ; then + insmod png + set gfxmode=640x480 + insmod gfxterm + insmod vbe + terminal gfxterm +fi + +if background_image (hd0,%(install_partition)s)/boot/grub/grml.png ; then set color_normal=black/black - set color_highlight=magenta/black + set color_highlight=red/black else - set menu_color_normal=cyan/blue - set menu_color_highlight=white/blue + set menu_color_normal=white/black + set menu_color_highlight=black/yellow fi menuentry "%(grml_flavour)s (default)" { @@ -265,7 +272,7 @@ menuentry "FreeDOS" { initrd /boot/addons/balder10.imz } -menuentry "Boot Operating System on first partition of first disk" { +menuentry "Boot OS of first partition on first disk" { set root=(hd0,1) chainloader +1 } @@ -972,6 +979,20 @@ def copy_bootloader_files(iso_mount, target): grub_target + 'splash.xpm.gz']) proc.wait() + # grml splash in grub + if os.path.isfile("/usr/share/grml2usb/grub/grml.png"): + logging.debug("cp /usr/share/grml2usb/grub/grml.png to %s" % grub_target + 'grml.png') + proc = subprocess.Popen(["install", "--mode=664", '/usr/share/grml2usb/grub/grml.png', + grub_target + 'grml.png']) + proc.wait() + + # font file for graphical bootsplash in grub + if os.path.isfile("/usr/share/grub/ascii.pff"): + logging.debug("cp /usr/share/grub/ascii.pff to %s" % grub_target + 'ascii.pff') + proc = subprocess.Popen(["install", "--mode=664", '/usr/share/grub/ascii.pff', + grub_target + 'ascii.pff']) + proc.wait() + if not os.path.isfile("/usr/share/grml2usb/grub/stage2_eltorito"): logging.critical("Error: /usr/share/grml2usb/grub/stage2_eltorito can not be read.") raise @@ -1278,10 +1299,14 @@ def handle_vfat(device): sys.exit(1) # make sure the user is aware of what he is doing - f = raw_input("Are you sure you want to format the device with a fat16 filesystem? y/N ") + f = raw_input("Are you sure you want to format the specified partition with fat16? y/N ") if f == "y" or f == "Y": logging.info("Note: you can skip this question using the option --force") - mkfs_fat16(device) + try: + mkfs_fat16(device) + except CriticalException, error: + logging.critical("Execution failed: %s", error) + sys.exit(1) else: sys.exit(1)