]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Introduce boot_directory() function
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Thu, 7 Jul 2022 18:12:24 +0000 (20:12 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Tue, 12 Jul 2022 22:38:59 +0000 (00:38 +0200)
Deduplicates some repeated logic

mkosi/__init__.py

index 9eec93e51079f3be476c33d8e0a7151be8df15a2..edd7d43e066a36c17a2709537ef12162b275d588 100644 (file)
@@ -4276,7 +4276,7 @@ def install_unified_kernel(
             osrelease = root / "usr/lib/os-release"
             cmdline = workspace(root) / "cmdline"
             cmdline.write_text(boot_options)
-            initrd = root / prefix / args.machine_id / kver / "initrd"
+            initrd = root / boot_directory(args, kver) / "initrd"
 
             cmd: Sequence[PathString] = [
                 "objcopy",
@@ -4383,15 +4383,13 @@ def extract_kernel_image_initrd(
     if do_run_build_script or for_cache or "linux" not in args.boot_protocols:
         return None, None
 
-    prefix = "efi" if args.get_partition(PartitionIdentifier.esp) else "boot"
-
     with mount():
         kimgabs = None
         initrd = None
 
         for kver, kimg in gen_kernel_images(args, root):
             kimgabs = root / kimg
-            initrd = root / prefix / args.machine_id / kver / "initrd"
+            initrd = root / boot_directory(args, kver) / "initrd"
 
         if kimgabs is None:
             die("No kernel image found, can't extract.")
@@ -7292,6 +7290,11 @@ def setup_netdev(args: MkosiArgs, root: Path, do_run_build_script: bool, cached:
         run(["systemctl", "--root", root, "enable", "systemd-networkd"])
 
 
+def boot_directory(args: MkosiArgs, kver: str) -> Path:
+    prefix = "boot" if args.get_partition(PartitionIdentifier.xbootldr) or not args.get_partition(PartitionIdentifier.esp) else "efi"
+    return Path(prefix) / args.machine_id / kver
+
+
 def run_kernel_install(args: MkosiArgs, root: Path, do_run_build_script: bool, for_cache: bool, cached: bool) -> None:
     if not args.bootable or do_run_build_script:
         return