setattr(opt_parser.values, 'syslinux', False)
# cmdline parsing
-USAGE = "Usage: %prog [options] <[ISO[s] | /live/image]> </dev/sdX#>\n\
+USAGE = "Usage: %prog [options] <[ISO[s] | /lib/live/mount/medium]> </dev/sdX#>\n\
\n\
-%prog installs grml ISO[s] to an USB device to be able to boot from it.\n\
-Make sure you have at least one grml ISO or a running grml system (/live/image),\n\
+%prog installs Grml ISO[s] to an USB device to be able to boot from it.\n\
+Make sure you have at least one Grml ISO or a running Grml system (/lib/live/mount/medium),\n\
grub or syslinux and root access.\n\
\n\
Run %prog --help for usage hints, further information via: man grml2usb"
def check_boot_flag(device):
- with open(device, 'r') as image:
+ if device[-1:].isdigit():
+ boot_dev = re.match(r'(.*?)\d*$', device).group(1)
+ else:
+ boot_dev = device
+
+ with open(boot_dev, 'r') as image:
data = image.read(512)
bootcode = data[440:]
if bootcode[6] == '\x80':
else:
logging.debug("bootflag is NOT enabled")
raise VerifyException("Device %s does not have the bootflag set. "
- "Please enable it to be able to boot." % device)
+ "Please enable it to be able to boot." % boot_dev)
def mkfs_fat16(device):
version_files = search_file('grml-version', mountpath, lst_return=True)
if not version_files:
- if mountpath.startswith("/live/image"):
+ if mountpath.startswith("/lib/live/mount/medium"):
logging.critical("Error: could not find grml-version file.")
logging.critical("Looks like your system is running from RAM but required files are not available.")
logging.critical("Please either boot without toram=... or use boot option toram instead of toram=...")
def install_grml(mountpoint, device):
"""Main logic for copying files of the currently running grml system.
- @mountpoin: directory where currently running live system resides (usually /live/image)
+ @mountpoint: directory where currently running live system resides (usually /lib/live/mount/medium)
@device: partition where the specified ISO should be installed to"""
device_mountpoint = device