- The
--network-veth
option has been renamed to--netdev
. The old name made sense with virtual ethernet devices, but when booting images with qemu a TUN/TAP device is used instead. - The network config file installed by mkosi when the
--netdev
(previously--network-veth
) option is used (formerly
/etc/systemd/network/80-mkosi-network-veth.network
in the image) now only matches network interfaces using thevirtio_net
driver. Please make sure you weren't relying on this file to configure any network interfaces other than the tun/tap virtio-net interface created by mkosi when booting the image in QEMU with the--netdev
option. If you were relying on this config file
to configure other interfaces, you'll have to re-create it with the correct match and a lower initial number in the filename to make suresystemd-networkd
will keep configuring your interface, e.g. via themkosi.skeleton
ormkosi.extra
trees or amkosi.postinst
script. - The
kernel-install
script for building unified kernel images has been removed. From v13 onwards, on systems usingkernel-install
,mkosi
won't automatically build new unified kernel images when a kernel is updated or installed. To keep the old behavior, you can install thekernel-install
script manually via a skeleton tree; a copy can be found here. - New
QemuKvm
option configures whether to use KVM when runningmkosi qemu
. mkosi
will not default to the same OS release as the host system anymore when the host system uses the same distribution as the image that's being built. Instead, when no release is specified, mkosi will now always default to the default version embedded in mkosi itself.mkosi
will now use thepacman
keyring from the host when building Arch images. This means that users will, on top of installingarchlinux-keyring
, also have to runpacman-key --init
andpacman-key --populate archlinux
on
the host system to be able to build Arch images. Also, unless the package manager is configured to do it automatically, the host keyring will have to be updated afterarchlinux-keyring
updates by runningpacman-key --populate archlinux
andpacman-key --updatedb
.- Direct qemu linux boot is now supported with
BootProtocols=linux
. When enabled, the kernel image, initrd, and cmdline will be extracted from the image and passed toqemu
bymkosi qemu
to directly boot into the kernel image without a bootloader. This can be used to boot for example s390x images inqemu
. - The initrd will now always be rebuilt after the extra trees and build artifacts have been installed into the image.
- The github action has been migrated to Ubuntu Jammy. To migrate any jobs using the action, add
runs-on: ubuntu-22.04
to the job config. - All images are now configured by default with the
C.UTF-8
locale. - New
--repository-directory
option can be used to configure a directory with extra repository files to be used by the package manager when building an image. Note that this option is currently only supported forpacman
and
dnf
-based distros. - Option
--skeleton-tree
is now supported on Debian-based distros.