]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Fail with a clear error if sd-stub is not installed in the image
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Wed, 19 Apr 2023 19:39:07 +0000 (21:39 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 20 Apr 2023 08:11:03 +0000 (10:11 +0200)
mkosi/__init__.py

index 36d363279fa4354aac0bf7e91ca365564a06460c..468a78180b3145dd86e37d805ea22a3cdb42af7a 100644 (file)
@@ -766,11 +766,15 @@ def install_unified_kernel(state: MkosiState, roothash: Optional[str]) -> None:
             # nul terminators in argv so let's communicate the cmdline via a file instead.
             state.workspace.joinpath("cmdline").write_text(f"{' '.join(cmdline).strip()}\x00")
 
+            stub = state.root / f"lib/systemd/boot/efi/linux{EFI_ARCHITECTURES[state.config.architecture]}.efi.stub"
+            if not stub.exists():
+                die(f"sd-stub not found at {stub.relative_to(state.root)}")
+
             cmd: list[PathString] = [
                 shutil.which("ukify") or "/usr/lib/systemd/ukify",
                 "--cmdline", f"@{state.workspace / 'cmdline'}",
                 "--os-release", f"@{state.root / 'usr/lib/os-release'}",
-                "--stub", state.root / f"lib/systemd/boot/efi/linux{EFI_ARCHITECTURES[state.config.architecture]}.efi.stub",
+                "--stub", stub,
                 "--output", boot_binary,
                 "--efi-arch", EFI_ARCHITECTURES[state.config.architecture],
             ]