]> git.ipfire.org Git - thirdparty/mkosi.git/commitdiff
Introduce apply_runtime_size()
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Sat, 16 Mar 2024 19:32:00 +0000 (20:32 +0100)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Sun, 17 Mar 2024 08:26:05 +0000 (09:26 +0100)
mkosi/qemu.py
mkosi/vmspawn.py

index f64748140daf38521b55f45efdab810983e251a5..218931fa7cb4da05c54b7990d988d379da1ae2b2 100644 (file)
@@ -505,6 +505,24 @@ def finalize_firmware_variables(config: Config, ovmf: OvmfConfig, stack: context
     return Path(ovmf_vars.name), ovmf_vars_format
 
 
+def apply_runtime_size(config: Config, image: Path) -> None:
+    if config.output_format != OutputFormat.disk or not config.runtime_size:
+        return
+
+    run(
+        [
+            "systemd-repart",
+            "--definitions", "",
+            "--no-pager",
+            f"--size={config.runtime_size}",
+            "--pretty=no",
+            "--offline=yes",
+            image,
+        ],
+        sandbox=config.sandbox(mounts=[Mount(image, image)]),
+    )
+
+
 def run_qemu(args: Args, config: Config) -> None:
     if config.output_format not in (
         OutputFormat.disk,
@@ -705,19 +723,7 @@ def run_qemu(args: Args, config: Config) -> None:
         else:
             fname = stack.enter_context(flock_or_die(config.output_dir_or_cwd() / config.output_with_compression))
 
-        if config.output_format == OutputFormat.disk and config.runtime_size:
-            run(
-                [
-                    "systemd-repart",
-                    "--definitions", "",
-                    "--no-pager",
-                    f"--size={config.runtime_size}",
-                    "--pretty=no",
-                    "--offline=yes",
-                    fname,
-                ],
-                sandbox=config.sandbox(mounts=[Mount(fname, fname)]),
-            )
+        apply_runtime_size(config, fname)
 
         if (
             kernel and
index d4af6f71b251b5beec8a51423c9db0c888bb119c..d1fa71375fcb2679e90110d68ccdaea039857b6b 100644 (file)
@@ -15,6 +15,7 @@ from mkosi.config import (
 )
 from mkosi.log import die
 from mkosi.qemu import (
+    apply_runtime_size,
     copy_ephemeral,
     finalize_qemu_firmware,
     find_ovmf_firmware,
@@ -83,19 +84,7 @@ def run_vmspawn(args: Args, config: Config) -> None:
         else:
             fname = stack.enter_context(flock_or_die(config.output_dir_or_cwd() / config.output))
 
-        if config.output_format == OutputFormat.disk and config.runtime_size:
-            run(
-                [
-                    "systemd-repart",
-                    "--definitions", "",
-                    "--no-pager",
-                    f"--size={config.runtime_size}",
-                    "--pretty=no",
-                    "--offline=yes",
-                    fname,
-                ],
-                sandbox=config.sandbox(mounts=[Mount(fname, fname)]),
-            )
+        apply_runtime_size(config, fname)
 
         kcl = config.kernel_command_line_extra