device_mountpoint = tempfile.mkdtemp(prefix="grml2usb")
register_tmpfile(device_mountpoint)
try:
- mount(device, device_mountpoint, "")
-
# If using --grub-mbr then make sure we install grub in MBR instead of PBR
if options.grubmbr:
logging.debug("Using option --grub-mbr ...")
grub_device = device
set_rw(device)
- set_rw(grub_device)
+ mount(device, device_mountpoint, "")
logging.info("Installing grub as bootloader")
for opt in ["", "--force"]:
+ set_rw(device)
+ set_rw(grub_device)
logging.debug("grub-install --recheck %s --no-floppy --root-directory=%s %s",
opt, device_mountpoint, grub_device)
proc = subprocess.Popen([GRUB_INSTALL, "--recheck", opt,
logging.debug("Source %s is not a device, therefore not mounting.", source)
return 0
- set_rw(source)
-
logging.debug("mount %s %s %s", mount_options, source, target)
proc = subprocess.Popen(["mount"] + list(mount_options) + [source, target])
proc.wait()
# ipxe.lkrn
handle_addon_copy('ipxe.lkrn', addons, iso_mount)
+ # netboot.xyz
+ handle_addon_copy('netboot.xyz.lkrn', addons, iso_mount)
+
def build_loopbackcfg(target):
"""Generate GRUB's loopback.cfg based on existing config files.
check_for_fat(device)
if not options.skipbootflag:
check_boot_flag(device)
+
+ set_rw(device)
mount(device, device_mountpoint, ['-o', 'utf8,iocharset=iso8859-1'])
except CriticalException as error:
mount(device, device_mountpoint, "")
if not os.path.isdir(device):
if device[-1:].isdigit():
if int(device[-1:]) > 4 or device[-2:].isdigit():
- logging.critical("Fatal: installation on partition number >4 not supported. (BIOS won't support it.)")
- sys.exit(1)
+ logging.warn("Warning: installing on partition number >4, booting *might* fail depending on your system.")
# provide upgrade path
handle_compat_warning(device)