Make mkinitcpio create UKIs by default if the layout is set to uki in a file understood by kernel-install
This needs !188 (merged) first to work properly (but can be adapted without)
The idea is to respect layout=uki
if it is set in one of the files or environment variables understood by kernel-install
.
The setting could possibly be checked elsewhere as well (mkinitcpio.conf
?), but reading kernel-install inspect
has the major advantage that this can be set during a vanilla Arch install, before running pacstrap
. Meaning that, just setting layout=uki
prior to running pacstrap
will automatically generate the proper preset files for UKI generation.
Happy to hear your thoughts !
Did some tests with linux-lts and linux-hardened, and everything seems to work quite well.
Caveats :
- this kind of breaks the pacsave logic, as the comparison finds that linux-foo.preset is different from
/usr/share/mkinitcpio/hooks.preset
. But this happens in the same way if modifying the preset by hand, so unsure if it's a real problem. - We might need to add a check that
/efi/EFI/Linux/
exists
Maybe we can also re-use this logic to avoid copying the kernel to /boot when using UKIs