summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/mkosi.yml4
-rw-r--r--docs/HACKING.md17
-rw-r--r--mkosi.conf1
-rw-r--r--mkosi.images/system/mkosi.conf3
4 files changed, 25 insertions, 0 deletions
diff --git a/.github/workflows/mkosi.yml b/.github/workflows/mkosi.yml
index f6eddebffb..dce515800c 100644
--- a/.github/workflows/mkosi.yml
+++ b/.github/workflows/mkosi.yml
@@ -85,6 +85,10 @@ jobs:
Distribution=${{ matrix.distro }}
Release=${{ matrix.release }}
+ [Output]
+ # Build a disk image in CI as this logic is much more prone to breakage.
+ Format=disk
+
[Content]
Environment=CI_BUILD=1
SLOW_TESTS=true
diff --git a/docs/HACKING.md b/docs/HACKING.md
index feec6b4537..bd792092f7 100644
--- a/docs/HACKING.md
+++ b/docs/HACKING.md
@@ -56,6 +56,23 @@ $ mkosi qemu
Every time you rerun the `mkosi` command a fresh image is built, incorporating
all current changes you made to the project tree.
+By default a directory image is built. This requires `virtiofsd` to be installed
+on the host. To build a disk image instead which does not require `virtiofsd`,
+add the following to `mkosi.local.conf`:
+
+```conf
+[Output]
+Format=disk
+```
+
+To boot in UEFI mode instead of using QEMU's direct kernel boot, add the following
+to `mkosi.local.conf`:
+
+```conf
+[Host]
+QemuFirmware=uefi
+```
+
Putting this all together, here's a series of commands for preparing a patch
for systemd:
diff --git a/mkosi.conf b/mkosi.conf
index b02c24cdd9..9ec4faf122 100644
--- a/mkosi.conf
+++ b/mkosi.conf
@@ -18,6 +18,7 @@ Environment=ASAN_OPTIONS=verify_asan_link_order=false
@Incremental=yes
@QemuMem=2G
@RuntimeSize=8G
+ToolsTreePackages=virtiofsd
KernelCommandLineExtra=systemd.crash_shell
systemd.log_level=debug
systemd.log_ratelimit_kmsg=0
diff --git a/mkosi.images/system/mkosi.conf b/mkosi.images/system/mkosi.conf
index 6948f8eb7c..9646bbefde 100644
--- a/mkosi.images/system/mkosi.conf
+++ b/mkosi.images/system/mkosi.conf
@@ -3,6 +3,9 @@
[Config]
Dependencies=base
+[Output]
+@Format=directory
+
[Content]
Autologin=yes
BaseTrees=../../mkosi.output/base