- We'll now try to delete btrfs subvolumes with
btrfs subvolume delete
first before falling back to recursively deleting the directory. - The invoking user is now always mapped to
rootwhen running sync
scripts. This fixes an issue where we would fail when a package
manager tree or skeleton tree contained a/usrdirectory as we would
not have permissions to run mount in the sandbox. - We now use qemu's official firmware descriptions to find EDK2/OVMF
UEFI firmware. Addititionally,QemuFirmware=uefinow boots without
SecureBoot support, andQemuFirmware=uefi-secure-bootwas introduced
to boot with SecureBoot support. By default we will still boot with
SecureBoot support ifQemuFirmware=auto. - Added support for
QemuFirmwareVariables=customand
QemuFirmwareVariables=microsoftto use OVMF/EDK2 variables with
either the user's custom keys enrolled or with the Microsoft keys
enrolled. - Added
UnifiedKernelImages=to control whether we generate unified
kernel images or not. Bootloader=grubwill now generate a grub EFI image and install it.
IfSecureBoot=is enabled andShimBootloader=is not set to
signed, the grub EFI image will be signed for SecureBoot.ShimBootloader=signedwill now also instruct mkosi to look for and
install already signed grub, systemd-boot, kernel and UKI binaries.- We now build grub images with a fixed set of modules and don't copy
any grub modules to the ESP anymore. - The configuration is now made available as a JSON file to all mkosi
scripts via the$MKOSI_CONFIGenvironment variable. $PROFILEis now set for all mkosi scripts containing the value of
Profile=if it is set.