linux: handle case where ZBOOT EFI stub is the target

When CONFIG_EFI_ZBOOT is enabled in the linux kernel's config,
`vmlinuz.efi` becomes the file you want to install through the
`zinstall` make target. This also needs the hexdump tool during the
build of the EFI image.
This commit is contained in:
Jared Baur 2024-06-05 18:28:16 -07:00
parent 5539b6e658
commit 16e8400968
No known key found for this signature in database

View File

@ -1,5 +1,5 @@
{ lib, stdenv, buildPackages, runCommand, nettools, bc, bison, flex, perl, rsync, gmp, libmpc, mpfr, openssl
, cpio, elfutils, zstd, python3Minimal, zlib, pahole, kmod, ubootTools
, cpio, elfutils, hexdump, zstd, python3Minimal, zlib, pahole, kmod, ubootTools
, fetchpatch
, rustc, rust-bindgen, rustPlatform
}:
@ -121,6 +121,7 @@ let
pahole
perl
elfutils
hexdump
# module makefiles often run uname commands to find out the kernel version
(buildPackages.deterministic-uname.override { inherit modDirVersion; })
]
@ -312,7 +313,7 @@ let
installTargets = [
(kernelConf.installTarget or (
/**/ if kernelConf.target == "uImage" && stdenv.hostPlatform.linuxArch == "arm" then "uinstall"
else if kernelConf.target == "zImage" || kernelConf.target == "Image.gz" then "zinstall"
else if kernelConf.target == "zImage" || kernelConf.target == "Image.gz" || kernelConf.target == "vmlinuz.efi" then "zinstall"
else "install"))
];