Closed kuraga closed 10 months ago
We have the .efi extension if we are installing an UKI (i.e. if uki.efi
is present at the location of the kernel image): https://github.com/projg2/installkernel-gentoo/blob/e9b9c694a20df9cac1469d4145434716d4235551/installkernel#L100
90-uki-copy
is for installing UKIs in the layout that is common for UKIs (Boot Loader Specification type 2), systemd-boot auto-discovers UKIs in that location.
It would be super confusing if this plugin would also install plain kernel images to the same location with the same name.
If you want to EFI stub without an UKI then all that is required is to have the kernel image somewhere on the ESP, if the ESP is mounted at /boot
this is already the case and no extra steps are required. If the ESP is not at /boot
I recommend writing some custom postinst script to copy it there. You likely need a custom postinst script anyway to update the firmware configuration with efibootmgr
(or copy the kernel image to the same location always, which I would not recommend because it makes it impossible to have fallback kernel versions).
@AndrewAmmerlaan ,
We have the .efi extension if we are installing an UKI (i.e. if
uki.efi
is present at the location of the kernel image):
Aha, "if uki.efi
is [already] present". Which tool generate such file? Thanks.
90-uki-copy
is for installing UKIs in the layout that is common for UKIs (Boot Loader Specification type 2), systemd-boot auto-discovers UKIs in that location. It would be super confusing if this plugin would also install plain kernel images to the same location with the same name.If you want to EFI stub without an UKI then all that is required is to have the kernel image somewhere on the ESP, if the ESP is mounted at
/boot
this is already the case and no extra steps are required. If the ESP is not at/boot
I recommend writing some custom postinst script to copy it there. You likely need a custom postinst script anyway to update the firmware configuration withefibootmgr
(or copy the kernel image to the same location always, which I would not recommend because it makes it impossible to have fallback kernel versions).
Are there plans for the efi
USE
/option?
Aha, "if
uki.efi
is [already] present". Which tool generate such file? Thanks.
Systemd's ukify
or dracut if uefi=yes
is in /etc/dracut.conf
, plugins for these tools are installed by the ukify
and dracut
USE flags on installkernel
.
If you want an UKI without any initramfs then ukify is your only option, dracut will always make an initramfs first and then generate an UKI, though you can of course configure dracut to create a very small and bare bones initramfs.
See also: https://wiki.gentoo.org/wiki/Unified_kernel_image https://wiki.gentoo.org/wiki/Installkernel
Are there plans for the
efi
USE
/option?
What would this do? If we want to move the whole installation tree then I think it makes more sense to remove the hardcoded /boot
and allow users to override this (with e.g. /efi
). Note that systemd's kernel-install
(enabled with USE=systemd
) can already do this.
Thanks!
P.S. I'm trying to manage the Linux kernel EFI stub (not UKI) using
installkernel
. And thesys-kernel/gentoo-kernel-bin
's image is an EFI stub but it's not== *.efi
.
See also: https://github.com/projg2/installkernel-gentoo/issues/19
If you want to EFI stub without an UKI then all that is required is to have the kernel image somewhere on the ESP, if the ESP is mounted at
/boot
this is already the case and no extra steps are required. If the ESP is not at/boot
I recommend writing some custom postinst script to copy it there. You likely need a custom postinst script anyway to update the firmware configuration withefibootmgr
(or copy the kernel image to the same location always, which I would not recommend because it makes it impossible to have fallback kernel versions).
This is now a bit easier in version 29 via the new USE flag efistub
.
Changed in 34 via #20. Thanks!
Good day!
We have the line:
https://github.com/projg2/installkernel-gentoo/blob/e9b9c694a20df9cac1469d4145434716d4235551/hooks/90-uki-copy.install#L25
But when do we have the
.efi
extension? I don't see that case in the main binary...P.S. I'm trying to manage the Linux kernel EFI stub (not UKI) using
installkernel
. And thesys-kernel/gentoo-kernel-bin
's image is an EFI stub but it's not== *.efi
.