]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
initrd can be versioned in Debian
authorLuca Boccassi <bluca@debian.org>
Sun, 9 Oct 2022 20:09:31 +0000 (21:09 +0100)
committerLuca Boccassi <luca.boccassi@gmail.com>
Mon, 10 Oct 2022 09:17:09 +0000 (11:17 +0200)
In Bookworm the initrd is installed with the same version suffix
as the directory, for reasons. Check for both.

mkosi/__init__.py

index b07a614fffe08f2fa515c5348b7bd271ea1c114f..1b468f398511c25ddc0ae1b4d24994120cda8be9 100644 (file)
@@ -3903,6 +3903,15 @@ def gen_kernel_images(state: MkosiState) -> Iterator[Tuple[str, Path]]:
         yield kver.name, kimg
 
 
+def initrd_path(state: MkosiState, kver: str) -> Path:
+    # initrd file is versioned in Debian Bookworm
+    initrd = state.root / boot_directory(state, kver) / f"initrd.img-{kver}"
+    if not initrd.exists():
+        initrd = state.root / boot_directory(state, kver) / "initrd"
+
+    return initrd
+
+
 def install_unified_kernel(
     state: MkosiState,
     root_hash: Optional[str],
@@ -3982,7 +3991,7 @@ def install_unified_kernel(
             osrelease = state.root / "usr/lib/os-release"
             cmdline = state.workspace / "cmdline"
             cmdline.write_text(boot_options)
-            initrd = state.root / boot_directory(state, kver) / "initrd"
+            initrd = initrd_path(state, kver)
             pcrsig = None
             pcrpkey = None
 
@@ -4142,7 +4151,7 @@ def extract_kernel_image_initrd(
 
         for kver, kimg in gen_kernel_images(state):
             kimgabs = state.root / kimg
-            initrd = state.root / boot_directory(state, kver) / "initrd"
+            initrd = initrd_path(state, kver)
 
         if kimgabs is None:
             die("No kernel image found, can't extract.")