for opt in ["", "--force"]:
logging.debug("grub-install --recheck %s --no-floppy --root-directory=%s %s",
opt, device_mountpoint, grub_device)
- proc = subprocess.Popen([GRUB_INSTALL, "--recheck", opt, "--no-floppy",
+ proc = subprocess.Popen([GRUB_INSTALL, "--recheck", opt,
+ "--no-floppy", "--target=i386-pc",
"--root-directory=%s" % device_mountpoint, grub_device],
stdout=file(os.devnull, "r+"))
proc.wait()
raise Exception("error executing dd (third run)")
del tmpf
+ # make sure we sync filesystems before returning
+ proc = subprocess.Popen(["sync"])
+ proc.wait()
+
def is_writeable(device):
"""Check if the device is writeable for the current user
if opts.grubmbr and not opts.grub:
raise CriticalException("--grub-mbr requires --grub option.")
+ if opts.copyonly and opts.grub:
+ raise CriticalException("Cannot use --copy-only and --grub at the same time.")
+
def check_programs():
"""check if all needed programs are installed"""