commit: 864f69dd88cd46ba4b3753ddde65d9ebc5baa551
Author: Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 8 12:45:53 2026 +0000
Commit: Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Jan 8 13:56:11 2026 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=864f69dd
sys-kernel/gentoo-kernel-bin: Bump to 6.18.4
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
sys-kernel/gentoo-kernel-bin/Manifest | 7 +
.../gentoo-kernel-bin-6.18.4.ebuild | 237 +++++++++++++++++++++
2 files changed, 244 insertions(+)
diff --git a/sys-kernel/gentoo-kernel-bin/Manifest
b/sys-kernel/gentoo-kernel-bin/Manifest
index d5fd02e7f979..67982dccceef 100644
--- a/sys-kernel/gentoo-kernel-bin/Manifest
+++ b/sys-kernel/gentoo-kernel-bin/Manifest
@@ -82,6 +82,10 @@ DIST gentoo-kernel-6.18.3-1.amd64.gpkg.tar 458823680 BLAKE2B
0343e2089a4ef4f01e6
DIST gentoo-kernel-6.18.3-1.arm64.gpkg.tar 434636800 BLAKE2B
7ff5caef8124b3fc05799a4d34dfc32d435751e350b2058e24fef424bcf15e4ef2d1b9a463c64bda13864e53226e6a0a5ac8801ab5f52dc58297052033ac5247
SHA512
f191301d2613eb423f3ef9d5ae2a34014b0f931cb4cd0c4e1746980f6c08273757ce3aafb863e7997ded54800cc2a482ded77f23335d512dbb488fe56320a831
DIST gentoo-kernel-6.18.3-1.ppc64le.gpkg.tar 77076480 BLAKE2B
4ed87a8a28a9f3758db690c2a76e141f08cec661582aa4b9d4a269acf4b0fecf6db14364b4df506bcf16d1faa17b19ff1146f754c30c2a3792fda321e37cbb96
SHA512
8374fb3447112f517315a40465348b91b4f814dd0871a5262170e789ce351f77d6ca51f0c005c57bf4192f68d11be2209f601003ee69ff245619814eff22a907
DIST gentoo-kernel-6.18.3-1.x86.gpkg.tar 83363840 BLAKE2B
1f80c5f4379ac77e84daca5dba318333e9ef6e958a8e44246be2c9d2ab027146539e8e1eb0245ce918331c758388eccbf5485b51625f3212cc8ae2b9d845158d
SHA512
4143628d042918c4b0bbef1081ceab98e1d82e98a360c1850f4b536fd6961d0b77f22f98eae3065374d5ae459932b78951ef57b7c1e83b6c7b6d3db4dafddb49
+DIST gentoo-kernel-6.18.4-1.amd64.gpkg.tar 458813440 BLAKE2B
e5c841752e2cc3ff708f9c2dfd26c93e2fa5368bd44aa87bfbd8d771186486ffdd4f1098f2e6533f0cd3ebd5f671ef11028afa489da0525c9a0a09600d44ae95
SHA512
5cd49b70006048e4dd0f9c5b5ebbde81b42f0923644900c75187519e1d3493502452213ab4fa6b3c995ef6de606542cd0bec6e5352f48a73baa15b5761100b28
+DIST gentoo-kernel-6.18.4-1.arm64.gpkg.tar 434636800 BLAKE2B
287766d58c7e363e7f81723f5fef2be1c46842025bea025d6902308e7aeeb91ebd4d104aa07a997407cb6066f4611c4b16b7e5c8f7c323f1aa857feababc9284
SHA512
1f95417870e651f01fe3defff4ec0bf67a08c6c7efe12902392c7cfa8f46b2438a718e684a5dfa68deea3a7c029767b21b2cc2211ba572a96d3770d898d83831
+DIST gentoo-kernel-6.18.4-1.ppc64le.gpkg.tar 77066240 BLAKE2B
677033bcd5ae66177ca72b04a524f1436cc45e33583ba2adcdf196cbd078220c5b9fab0a6aed19bf9820933b15cc456e6e3bea67610391a898b5d925afcc6b21
SHA512
8259c7b94587cf80acd8de3788e64e35e946c734efd969f516fa65cfb734891764eef5ce0e65c82c923cdc17bf65940257ba3b16be7be320cc4c2f7580863f68
+DIST gentoo-kernel-6.18.4-1.x86.gpkg.tar 83353600 BLAKE2B
d8701ce69bc366c0b2257988d9120bfe438091893bb62dd0d3401c44884920c9a8f6461dcee17310b9a13a5e039f1482da6536b0fb03694024f3bf23b1e1d032
SHA512
bbdefdf57ca3b19f4605f4e1dea63c260a2c03c0cc0e57a8802f3f20a5e935c2cf2b329869077a0ac335206df39994ae59c428179f85882798d7cf08bd72e197
DIST gentoo-kernel-6.6.116-1.amd64.gpkg.tar 274821120 BLAKE2B
c93b8b3dc50d0aba96ae61f8fd06c8e08ed9040e166805e4bc78e5113fdb881714265151f4472a2b92b461b4fc534627b26a62d73fd9f79994e057dd4c4d5d82
SHA512
2c5059f92048805b54723e494e27384b2f7b79a1380e976a81f24faad3ea3158d13244fdccb7e10014318dfc6ec2e267033286590b76ddcdc697f56427e8763b
DIST gentoo-kernel-6.6.116-1.arm64.gpkg.tar 247490560 BLAKE2B
b2eaf44da5d3b20c00ab009198aa37905734a5c0a0403927fc595f2661ab95ad2a6939923928614869e44ae9a3bd24dc6fc2c4196b917cba2442db72101c5ec0
SHA512
62d0af00479b64837731ca9ece779e1b3c7cd0d375196e08730fd579b842ae87370f957825e8c5b4bef1d7733d0fae3bb4552d8b05c4d78a8b086ff7097bf096
DIST gentoo-kernel-6.6.116-1.ppc64le.gpkg.tar 64481280 BLAKE2B
f48919679d041322db17d48a61d6b477315c6eedaa0564774a3ab67ea220d5c7af245b4dd5e67f683ffaacf2bf872a985bb80f0deef51f5e7850ce7de829e2e9
SHA512
2c15494201ac80fe5d3fa9b7e56f70d6930676ff560424bc0884bea24346864eaf9506b80ba7fe5b89547c1c45fa1a93b013d1c547c47e42e07d3ad04cd58eb8
@@ -117,6 +121,7 @@ DIST linux-6.x-sha256sums-20251207.asc 187298 BLAKE2B
41904c59d9fd208fa07909eb54
DIST linux-6.x-sha256sums-20251212.asc 188317 BLAKE2B
c00f55350950ad2881fae2ae4714d918e02bb642329b79b9d18cd9b08e68fc0a72d9e8171f0732469082e553dd8d2e8e06720bf85b09aa4557cab7835f722e03
SHA512
0cc2b8891d88c15f5cbdcc5f2ba8265ef9b887f21e924f7022ef80c69072b8cd4373c84f162556c221360528eb8265833c28aca2fc70a98e03f06a4e201924e1
DIST linux-6.x-sha256sums-20251218.asc 189336 BLAKE2B
6bec5a80ef0f8c7651241e9c425d86026b7e13f0fa19d613a5b67ec892d63751633f04929825581801466ccdc45c4103e9feefa9fbbd63d489a8c5f675f45934
SHA512
7fa17449f7908904e6587e380271e153733f6f96ea66910d798facabb9a3247a1b93947371addc3273e6f4c165e2de02003ee0f688f1f0442ba03e63478dc360
DIST linux-6.x-sha256sums-20260102.asc 189673 BLAKE2B
62134f50dad0f42ab8bbc7a11b874f4742e09b22792f872ce4410f94b41a410ff6728e7fed0bd620a2d465962fdbea22dfc6f57b3e4cb983b6d2d629e1c40f7d
SHA512
d4c22ccec72654ebbb59f4b442906081011bcf5648c719fe6196ef4ffb0c2f00be5bb5025eaf358f96b2b00ab76f77f7db22f1df078d5ac03a7ef6b07c2ce43e
+DIST linux-6.x-sha256sums-20260108.asc 190351 BLAKE2B
6fe0d7b9d000c124f2ed507f545150649e3865b9f9b8425c2bbae56b0258eeac36c6db2d31e5ba6b0176749525b3e93021739105397c250b1d4348439118092d
SHA512
87312585792ff098f2a833f25330f45cc822815ce7b19978292907fc6efd6e2771631ad2a69e9aeff6c2cc5af1fae7f07952f1251dabd65e46d98fa9e24c7188
DIST linux-gentoo-patches-5.10.246.tar.xz 23580 BLAKE2B
1184fd10a1321cfde67d276426103c73993fbe93e81047b494d358c433daa10a3c141349d01daa7147a05eeaccaa0eb87256b4f523e66f2f7f7022385982776b
SHA512
31dd105101372b569c98bc72d6d8fd15fe95ece08ec9f48de10f91112f1526ccfbb349a67913ef1f8c798dd3dceeecc6312eeefc097d9ccd3b55edc70d3dcf10
DIST linux-gentoo-patches-5.15.195.tar.xz 12876 BLAKE2B
d675d4150c8292c4f4b9846a26c53099910905e04e3015cfb3cb60e53dea99028b2e6fcbc345255246103699910aecf916054a09598e931d110b31db59a0b517
SHA512
e86691215cdab56a1a4fbe9aa3de44bda93db5659c39b04bfce53ed6ad8ed6923853431abb9444471b227421619c40e8841dab582b8007216e3c22e2b348a549
DIST linux-gentoo-patches-6.1.156.tar.xz 31604 BLAKE2B
09ede2987691e372c41567d975070451d243662b9f86dcd35489b63b732583e34431e1ad93ade3f9ea77dddae06e71e5752c0d12b3b6d0765106e19fe30876a4
SHA512
2f4a7960956c3aa7bbb46b20d14051ad58f07f45f8c4a6115100aaf6a46ddeaf414e1247d6034e4f71bdd7fd9479cb1b1bffab5e480a0422ad9af3b23e2bf95c
@@ -130,6 +135,7 @@ DIST linux-gentoo-patches-6.18.1.tar.xz 14304 BLAKE2B
e9bc17c8a9bc7334017f61738c
DIST linux-gentoo-patches-6.18.2.tar.xz 11656 BLAKE2B
ebac8222e1a9f94753d45bddc35fcfde7a1f66b19307cf64a9e3ab47fe12f35b70e65d1cab48a85741ee6bf6c2bd92e05e0587f9903ab3a1535bc9168b819dd8
SHA512
1548015f42cdc55927a3c42b37cde1871f88adcdd0bd04f53fefabc5dee5cf22bb6a3f188200efc2c4ccd484906c2642cdd30ab9ba2ffe524afdbd17cdc5fa09
DIST linux-gentoo-patches-6.18.2_p1.tar.xz 14964 BLAKE2B
1a7766dfb5f9d107b4125aa24b7e6c1972f7bc0bf5d2dd92d5ee10e17a2b4175015fd4ddf71b93fe18c1d278f28f6abe4ba88acb0d41042f6455f446b7a0c42e
SHA512
6ab511813f9aa5f1d6dedc2ec104f92579f6d90a9206a33cd3bcac772940e7e503be6df596290dc9652a6dad240324fe9486cc93d0d6fc88cae907c2a3d7d5f5
DIST linux-gentoo-patches-6.18.3.tar.xz 12932 BLAKE2B
d431bb149a8b4fe46a124c9700cae325f54c85eca420ebc2b98b280cadb994d7e8b7ac18a396d896ccf59f4346ec78352c580c3d61b75d5ae73197d69c3a8451
SHA512
995f59dfa425623cb62876f2fddeb7e0207a107a7fef0345ce1f8edec4392ac70a259e273d9010bdb1368ae9e4e47bb82833a64e8769f3bbcf67ff5c38256ab7
+DIST linux-gentoo-patches-6.18.4.tar.xz 11664 BLAKE2B
f939e93580b13301ac66e3e6b924f48256109311f7cc3c5fe83c504bb0469150ea4db4744f39f3233d1c5f5850659c272e4b32cb2252322f404a9ab8a64279cb
SHA512
505f01b59a9d684d99a997c3ed26ec023100d524485724324123b920153ecaf63bcd26040b0ca05886ad3969828a5bf4dff60a0690e9791d6a2ce05ce03fb95a
DIST linux-gentoo-patches-6.6.111.tar.xz 45328 BLAKE2B
d940d418295c07fcf55614fe415b8124bb9e6abdd2cdb992f9b06ceb3f752503bf17df4224f781cef85170928a76013227340235d50b514899d3893d2f94efcf
SHA512
4555fad79908133b0fd0ac0ec03ef4f5b6345974e4243b35255e1ee24182f1091366bb39f8d0cf40f67dde04eb688e95e2902c048b8a3b7aebae64fcc7c2847e
DIST patch-5.10.246.xz 6964592 BLAKE2B
b893135670cd9068a8af6f05607ef680d38c4bdd121e1bd3289007df7f0cbc22987c810fe697b939885e20346fb759b4c907870000a5c64f8cad23568ed10a55
SHA512
52e6f9bf483c3a588f934eeafdb40bcf0d39ad4c32f3e176ff1ed6f8485c1705ff1e5fc268352772e7aba3a93736653211baaa90df64a6c3d7494fa631c1eb5e
DIST patch-5.10.247.xz 6997100 BLAKE2B
aead70810bfd903f1ea2be4e24a0eb7d3282032115ba1d61334193d33420e08abf87bd537243199b5d4e8d4d161f972fa487ae607eee7a5d5fd38eb9f08cb704
SHA512
dba332c649b8b05956ed98fc13f939e699fd8b7f6acabfddb69a7243c4e449a3be6ef15ebab72dfb5d906342b79753210a33415f6c079d1e804b789ab165aae9
@@ -151,6 +157,7 @@ DIST patch-6.17.9.xz 764968 BLAKE2B
a0ce8311be7c251ad21b7cc11be4f30ec5125e3763f9
DIST patch-6.18.1.xz 15784 BLAKE2B
fe7857feeeacdbad91db8330d74a2bfd53d35783e8c37366bf76d2d4c6e7d38a83c3923a950500d5a2f758141a24bd6c248e723130db7c04293d3a07cddef5ce
SHA512
09ed1dc6b66ee15921167de612a9e5178d37dfc874731b2893a833acaaddaf929e900ba9366d3aecfd678b67a28d3889f897735c6305c2b4af87a101a84ea775
DIST patch-6.18.2.xz 203656 BLAKE2B
58ee88f8a912a4574bacea12016213602790949224f10b75a823ce1b2977640e4d1f96182367f399b66e1a423cb94c1314e9b6ea405ccb4043b7beb28880c174
SHA512
243c839c47bcb222d48ebebee3d318d5c17b5ad12d9a1df0aedcda7bb5262c4765b43ac3df82e8c0787a7b8242f51b2dd3227e5e07949eb644255a3b9e90a20d
DIST patch-6.18.3.xz 323692 BLAKE2B
853264250d99c1f419efc297a3d014c6342f9b0f4d7e57e5bb87cced644aabcaf8b0055fcd1f9b5e10256edfc0b96b442a53f20f7e09de7ac312d3534c3cdb39
SHA512
56defd8afd1e406ee7475e9e5842abf3d1b6fbe27d5bc906d2879872d0f2cf99503a2626d2937f22f01f324f1c9877afe654f252585d5b8fcc372fbde9b7f67c
+DIST patch-6.18.4.xz 412512 BLAKE2B
2a78cd052874eb01d38b8857e7647ea3f5904f8ec030b4c90f6b56262ee1974ee76de4359cc1748b9f0e97c5a330f9ac6dd9e3ad8623b96150b3292cb870e33b
SHA512
3321241effb0567caacc08f67a1ea8d59d11aac69e6c001b6fbf566f894d70416e91e9ec605ae27909e2e5feac25d9a93bed7db1ede06700afc810cd8e34030d
DIST patch-6.6.116.xz 5054680 BLAKE2B
0ff38d6f77204767a2a2f79080405634a53ee304754156fc1c5f0c8aa339b39b2382d3d4e33132a2a5c02d0c2c81ae07e20eb55ef76b62788411321399c49569
SHA512
60d1d70b217a4908d3b67b61596013b3ecc06d44ab095ad50accb21a71bb9b3d20128d38cb73790b9999e0e922092c06a414cad0efaab4c1739accc7cf8b5510
DIST patch-6.6.117.xz 5149968 BLAKE2B
5557cb9181cb2885ebf7bda52e37c69b91f6be11b8338b8ab5d691d3786a0d1ceac432062a2954256203a63c19277725a915284c520cfd7d1ef72df82ba41ccf
SHA512
387d134e42416f90a32b349a5c941ad99d135cd57388fbd90ca0479b0521bb1aff0f3b8f6b8af6f9d73ed0f0f83ded8728300bd99c63473cf62a0f700d03de25
DIST patch-6.6.118.xz 5155016 BLAKE2B
3d5ca3e87d1eb8605d3973347e551ba0e3184aaeba6f895872838327cccf7a2046f53f8586db547fc9c2e38586e630db9274a2347d90896f7a15730b247cb3a6
SHA512
d692a749b9b7b21a50f6bb404b3da9f77b529e855167f633e4a70e177f358cb1ad072edba6512ed37fd04c0fa986463e5bbb34472555b419ef71fc946a487eff
diff --git a/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.4.ebuild
b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.4.ebuild
new file mode 100644
index 000000000000..5fa71c04a3ab
--- /dev/null
+++ b/sys-kernel/gentoo-kernel-bin/gentoo-kernel-bin-6.18.4.ebuild
@@ -0,0 +1,237 @@
+# Copyright 2020-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KERNEL_IUSE_GENERIC_UKI=1
+KERNEL_IUSE_MODULES_SIGN=1
+
+inherit kernel-install toolchain-funcs unpacker verify-sig
+
+BASE_P=linux-${PV%.*}
+PATCH_PV=${PV%_p*}
+PATCHSET=linux-gentoo-patches-6.18.4
+BINPKG=${P/-bin}-1
+SHA256SUM_DATE=20260108
+
+DESCRIPTION="Pre-built Linux kernel with Gentoo patches"
+HOMEPAGE="
+ https://wiki.gentoo.org/wiki/Project:Distribution_Kernel
+ https://www.kernel.org/
+"
+SRC_URI+="
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut 1).x/${BASE_P}.tar.xz
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut
1).x/patch-${PATCH_PV}.xz
+ https://dev.gentoo.org/~mgorny/dist/linux/${PATCHSET}.tar.xz
+ verify-sig? (
+ https://cdn.kernel.org/pub/linux/kernel/v$(ver_cut
1).x/sha256sums.asc
+ -> linux-$(ver_cut 1).x-sha256sums-${SHA256SUM_DATE}.asc
+ )
+ amd64? (
+
https://dev.gentoo.org/~mgorny/binpkg/amd64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.amd64.gpkg.tar
+ )
+ arm64? (
+
https://dev.gentoo.org/~mgorny/binpkg/arm64/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.arm64.gpkg.tar
+ )
+ ppc64? (
+
https://dev.gentoo.org/~mgorny/binpkg/ppc64le/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.ppc64le.gpkg.tar
+ )
+ x86? (
+
https://dev.gentoo.org/~mgorny/binpkg/x86/kernel/sys-kernel/gentoo-kernel/${BINPKG}.gpkg.tar
+ -> ${BINPKG}.x86.gpkg.tar
+ )
+"
+S=${WORKDIR}
+
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+IUSE="debug"
+
+RDEPEND="
+ !sys-kernel/gentoo-kernel:${SLOT}
+"
+PDEPEND="
+ >=virtual/dist-kernel-${PATCH_PV}
+"
+BDEPEND="
+ app-alternatives/bc
+ app-alternatives/lex
+ dev-util/pahole
+ virtual/libelf
+ app-alternatives/yacc
+ amd64? ( app-crypt/sbsigntools )
+ arm64? ( app-crypt/sbsigntools )
+ verify-sig? ( >=sec-keys/openpgp-keys-kernel-20250702 )
+"
+
+KV_LOCALVERSION='-gentoo-dist'
+KV_FULL=${PV/_p/-p}${KV_LOCALVERSION}
+
+QA_PREBUILT='*'
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kernel.org.asc
+
+src_unpack() {
+ if use verify-sig; then
+ cd "${DISTDIR}" || die
+ verify-sig_verify_signed_checksums \
+ "linux-$(ver_cut 1).x-sha256sums-${SHA256SUM_DATE}.asc"
\
+ sha256 "${BASE_P}.tar.xz patch-${PATCH_PV}.xz"
+ cd "${WORKDIR}" || die
+ fi
+
+ unpacker
+}
+
+src_prepare() {
+ local patch
+ cd "${BASE_P}" || die
+ eapply "${WORKDIR}/patch-${PATCH_PV}"
+ for patch in "${WORKDIR}/${PATCHSET}"/*.patch; do
+ eapply "${patch}"
+ # non-experimental patches always finish with Gentoo Kconfig
+ # we built -bins without them
+ if [[ ${patch} == *Add-Gentoo-Linux-support-config-settings* ]]
+ then
+ break
+ fi
+ done
+
+ default
+
+ # add Gentoo patchset version
+ local extraversion=${PV#${PATCH_PV}}
+ sed -i -e "s:^\(EXTRAVERSION =\).*:\1 ${extraversion/_/-}:" Makefile ||
die
+}
+
+src_configure() {
+ # force ld.bfd if we can find it easily
+ local HOSTLD="$(tc-getBUILD_LD)"
+ if type -P "${HOSTLD}.bfd" &>/dev/null; then
+ HOSTLD+=.bfd
+ fi
+ local LD="$(tc-getLD)"
+ if type -P "${LD}.bfd" &>/dev/null; then
+ LD+=.bfd
+ fi
+ tc-export_build_env
+ local makeargs=(
+ V=1
+ WERROR=0
+
+ HOSTCC="$(tc-getBUILD_CC)"
+ HOSTCXX="$(tc-getBUILD_CXX)"
+ HOSTLD="${HOSTLD}"
+ HOSTAR="$(tc-getBUILD_AR)"
+ HOSTCFLAGS="${BUILD_CFLAGS}"
+ HOSTLDFLAGS="${BUILD_LDFLAGS}"
+
+ CROSS_COMPILE=${CHOST}-
+ AS="$(tc-getAS)"
+ CC="$(tc-getCC)"
+ LD="${LD}"
+ AR="$(tc-getAR)"
+ NM="$(tc-getNM)"
+ STRIP="$(tc-getSTRIP)"
+ OBJCOPY="$(tc-getOBJCOPY)"
+ OBJDUMP="$(tc-getOBJDUMP)"
+ READELF="$(tc-getREADELF)"
+
+ # we need to pass it to override colliding Gentoo envvar
+ ARCH="$(tc-arch-kernel)"
+
+ O="${WORKDIR}"/modprep
+ )
+
+ local kernel_dir="${BINPKG}/image/usr/src/linux-${KV_FULL}"
+
+ # If this is set it will have an effect on the name of the output
+ # image. Set this variable to track this setting.
+ if grep -q "CONFIG_EFI_ZBOOT=y" "${kernel_dir}/.config"; then
+ KERNEL_EFI_ZBOOT=1
+ elif use arm64 && use generic-uki; then
+ die "USE=generic-uki requires a CONFIG_EFI_ZBOOT enabled build"
+ fi
+
+ local image="${kernel_dir}/$(dist-kernel_get_image_path)"
+ local uki="${image%/*}/uki.efi"
+
+ # Override user variable with the cert used during build
+ openssl x509 \
+ -inform DER -in "${kernel_dir}/certs/signing_key.x509" \
+ -outform PEM -out "${T}/cert.pem" ||
+ die "Failed to convert pcrpkey to PEM format"
+ export SECUREBOOT_SIGN_CERT=${T}/cert.pem
+
+ if [[ -s ${uki} ]]; then
+ # We need to extract the plain image for the test phase
+ # and USE=-generic-uki.
+ kernel-install_extract_from_uki linux "${uki}" "${image}"
+ fi
+
+ mkdir modprep || die
+ cp "${kernel_dir}/.config" modprep/ || die
+ emake -C "${BASE_P}" "${makeargs[@]}" modules_prepare
+}
+
+src_test() {
+ local kernel_dir="${BINPKG}/image/usr/src/linux-${KV_FULL}"
+ kernel-install_test "${KV_FULL}" \
+ "${WORKDIR}/${kernel_dir}/$(dist-kernel_get_image_path)" \
+ "${BINPKG}/image/lib/modules/${KV_FULL}"
+}
+
+src_install() {
+ local rel_kernel_dir=/usr/src/linux-${KV_FULL}
+ local kernel_dir="${BINPKG}/image${rel_kernel_dir}"
+ local image="${kernel_dir}/$(dist-kernel_get_image_path)"
+ local uki="${image%/*}/uki.efi"
+ if [[ -s ${uki} ]]; then
+ # Keep the kernel image type we don't want out of install tree
+ # Replace back with placeholder
+ if use generic-uki; then
+ > "${image}" || die
+ else
+ > "${uki}" || die
+ fi
+ fi
+
+ # Overwrite the identifier in the prebuilt package
+ echo "${CATEGORY}/${PF}:${SLOT}" > "${kernel_dir}/dist-kernel" || die
+
+ mv "${BINPKG}"/image/{lib,usr} "${ED}"/ || die
+
+ # FIXME: requires proper mount-boot
+ if [[ -d ${BINPKG}/image/boot/dtbs ]]; then
+ mv "${BINPKG}"/image/boot "${ED}"/ || die
+ fi
+
+ # strip out-of-source build stuffs from modprep
+ # and then copy built files
+ find modprep -type f '(' \
+ -name Makefile -o \
+ -name '*.[ao]' -o \
+ '(' -name '.*' -a -not -name '.config' ')' \
+ ')' -delete || die
+ rm modprep/source || die
+ cp -p -R modprep/. "${ED}${rel_kernel_dir}"/ || die
+
+ # Update timestamps on all modules to ensure cleanup works correctly
+ # when switching USE=modules-compress.
+ find "${ED}/lib" -name '*.ko' -exec touch {} + || die
+
+ # Modules were already stripped before signing
+ dostrip -x /lib/modules
+ kernel-install_compress_modules
+
+ # Mirror the logic from kernel-build_src_install, for architectures
+ # where USE=debug is used.
+ if use ppc64; then
+ dostrip -x "${rel_kernel_dir}/$(dist-kernel_get_image_path)"
+ elif use debug && { use amd64 || use arm64; }; then
+ dostrip -x "${rel_kernel_dir}/vmlinux"
+ dostrip -x "${rel_kernel_dir}/vmlinux.ctfa"
+ fi
+}