- We now handle unmerged-usr systems correctly
- Builtin configs (
mkosi-initrd,mkosi-tools) can now be included
usingInclude=(e.g.Include=mkosi-initrd) - The kernel-install plugin now uses the builtin
mkosi-initrdconfig
so there's no need anymore to copy the fullmkosi-initrdconfig into
/usr/lib/mkosi-initrd. - We don't require a build anymore for the
journalctland
coredumpctlverbs. mkosi sshworks again when used withToolsTree=default- We now use
.zstinstead of.zstdfor compressed split artifacts
produced bysystemd-repart. systemd-repartuses a persistent temporary directory again for
assembling images instead of a tmpfs.- Added
MicrocodeHost=setting to only include the CPU specific
microcode for the current host system. - The kernel-install plugin now only includes the CPU specific microcode
- Introduced
PackageCacheDirectory=to set the directory for package
manager caches. This setting defaults to a suitable location in the
system or user directory depending on how mkosi is invoked.
CacheDirectory=is only used for incremental cached images now. - Repository metadata is now synced once at the start of each image
build and never during an image build. Each image includes a snapshot
of the repository metadata in the canonical locations in/varso
that incremental images and extension images can reuse the same
snapshot. When building an image intended to be used with
BaseTrees=, disableCleanPackageMetadata=to make sure the
repository metadata in/varis not cleaned up, otherwise any
extension images using this image as their base tree will not be able
to install additional packages. - Implemented
CacheOnly=metadata. Note that in the JSON output, the
value ofCacheOnly=will now be a string instead of a boolean. - Added
CompressLevel=to set the compression level to use. - Dropped experimental Gentoo support.
- Added
TriggerMatch=to specify multiple match sections of which only
one should be satisfied. - Added
jq,attr,acl,git,sed,grepandfindutilsto
the default tools tree. - Added
mkosi-install,mkosi-upgrade,mkosi-removeand
mkosi-reinstallscripts which allow writing scripts that are
independent of the package manager being used to build the image. - We now expand specifiers in
Matchsection values - Made GPG key handling for Fedora rawhide more robust
- If systemd-repart 256 or newer is available, mkosi will instruct it
to generate/etc/fstaband/etc/crypttabfor the image if any
partition definitions contain the corresponding settings
(MountPoint=andEncryptedVolume=). bashis now started in the debug shell instead ofsh.- The default release for Ubuntu is now
noble. - Ubuntu is now used as the default tools tree distribution for Ubuntu
instead of Debian. - Added
mkosi vmspawnwhich boots the image withsystemd-vmspawn.
Note thatsystemd-vmspawnis experimental and its interface may
still change. As suchmkosi vmspawnis also considered experimental.
Note thatsystemd-vmspawnversion256or newer is required. - Added
SyncScripts=which can be used to update various build sources
before starting the image build. - The
DISTRIBUTION=andRELEASE=environment variables are now set
when running scripts. - Added
ToolsTreeRepositories=andToolsTreePackageManagerTrees=. - Added
RuntimeNetwork=to configure the networking used when booting
the image. - Added
SecureBootKeySource=andVerityKeySource=to support signing
images with OpenSSL engines. Note that these settings require various
systemd tools to be version256or newer. - We don't clean up package manager metadata anymore unless explicitly
requested withCleanPackageManagerMetadata=yeswhen building
directoryandtarimages.