]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
qemu: Add some sanity checks
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 7 Sep 2023 14:56:28 +0000 (16:56 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 7 Sep 2023 17:00:33 +0000 (19:00 +0200)
mkosi/qemu.py

index 23d09febf03205c786737a569791a894f0e304ab..1aab8628eae937a407bceb31c4cb4d020e7d0dd6 100644 (file)
@@ -216,6 +216,15 @@ def copy_ephemeral(config: MkosiConfig, src: Path) -> Iterator[Path]:
 
 
 def run_qemu(args: MkosiArgs, config: MkosiConfig) -> None:
+    if config.output_format not in (OutputFormat.disk, OutputFormat.cpio, OutputFormat.uki):
+        die(f"{config.output_format} images cannot be booted in qemu")
+
+    if config.output_format == OutputFormat.uki and config.qemu_firmware not in (QemuFirmware.auto, QemuFirmware.uefi):
+        die(f"uki images cannot be booted with the '{config.qemu_firmware}' firmware")
+
+    if config.output_format == OutputFormat.cpio and config.qemu_firmware not in (QemuFirmware.auto, QemuFirmware.direct, QemuFirmware.uefi):
+        die(f"cpio images cannot be booted with the '{config.qemu_firmware}' firmware")
+
     accel = "tcg"
     auto = config.qemu_kvm == ConfigFeature.auto and config.architecture.is_native() and qemu_check_kvm_support(log=True)
     if config.qemu_kvm == ConfigFeature.enabled or auto: