diff options
-rw-r--r-- | .github/workflows/mkosi.yml | 4 | ||||
-rw-r--r-- | docs/HACKING.md | 17 | ||||
-rw-r--r-- | mkosi.conf | 1 | ||||
-rw-r--r-- | mkosi.images/system/mkosi.conf | 3 |
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 |