[PATCH 0/1] x86/kexec: UKI support
Jan Hendrik Farr
kernel at jfarr.cc
Tue Sep 12 11:56:57 PDT 2023
> What sort of bottleneck does the EFI stub have so that we need yet
> another envelope?
Well I can come up with a few advantages of UKI compared to normal bzImage with builtin initrd and cmdline.
1. You already identified this one. Using addons to adjust your cmdline
2. I can use my normal initramfs generation tooling. Just install my compiled kernel, my distros install script will generate the initramfs. Then I package it up as a UKI. This will be a lot more awkward with a builtin initrd.
3. Measured boot. You can place PCR signatures in the UKI using systemd-measure. This will sign the expected PCR values for booting this UKI. I think with normal bzImage this will be a lot more difficult. If you place those PCR signatures in the builtin initrd this will change the kernel image which means now the values you signed no longer match (depending on how you measure the kernel; I don't think the normal EFI stub even measures the kernel in first place, but I could be mistaken about this)
4. UKIs are automatically recognized by systemd-boot
There's probably more reasons. The main reason for me to go with UKIs initially was the good tooling around them.
You could probably overcome some of these drawbacks in the default kernel EFI stub. For example it could also get a place to put signed PCR values. And it could also do TPM measurements. However in the process all you're doing is rebuilding what already exists today in systemd-stub and the tooling around UKIs.
More information about the kexec
mailing list