This fixes a bug. The 90-uki-copy.install kernel-install plugin insists uki's have the .efi extension. You only hit this if you set layout=uki in /etc/kernel/install.conf.

layout=uki is probably what you want if you set uefi=yes in dracut.conf because in this layout the uki's end up on the ESP. This is required to load the uki directly from efi firmware.


From 1c406ada60d3493203c1fbd6333caf74e53ee8ac Mon Sep 17 00:00:00 2001
From: Andrew Ammerlaan <andrewammerl...@gentoo.org>
Date: Fri, 16 Jun 2023 16:33:56 +0200
Subject: [PATCH] dist-kernel-utils.eclass: fix extension of generated efi file

If kernel-install is configured to use the uki layout the extension of the efi file that we install has to be .efi otherwise kernel-install returns an error.

Signed-off-by: Andrew Ammerlaan <andrewammerl...@gentoo.org>
---
 eclass/dist-kernel-utils.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/dist-kernel-utils.eclass b/eclass/dist-kernel-utils.eclass
index 439bdc87695df..c6892c2f01278 100644
--- a/eclass/dist-kernel-utils.eclass
+++ b/eclass/dist-kernel-utils.eclass
@@ -1,4 +1,4 @@
-# Copyright 2020-2022 Gentoo Authors
+# Copyright 2020-2023 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2

 # @ECLASS: dist-kernel-utils.eclass
@@ -104,7 +104,7 @@ dist-kernel_install_kernel() {
        if [[ ${magic} == MZ ]]; then
                einfo "Combined UEFI kernel+initramfs executable found"
                # install the combined executable in place of kernel
-               image=${initrd}.uefi
+               image=${initrd}.efi
                mv "${initrd}" "${image}" || die
                # put an empty file in place of initrd.  installing a duplicate
                # file would waste disk space, and removing it entirely provokes

Reply via email to