From 25e5a6599437664a3eff8d9f8a966adc896e09e8 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 11 Dec 2023 17:14:47 +0000 Subject: gentoo auto-resync : 11:12:2023 - 17:14:47 --- eclass/Manifest.gz | Bin 38938 -> 38941 bytes eclass/kernel-build.eclass | 18 ++++++++++++------ eclass/kernel-install.eclass | 3 +++ 3 files changed, 15 insertions(+), 6 deletions(-) (limited to 'eclass') diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz index a159a6ab9d1e..0f298ecd8c7e 100644 Binary files a/eclass/Manifest.gz and b/eclass/Manifest.gz differ diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass index f5529c319f9f..6b692dc4f9a0 100644 --- a/eclass/kernel-build.eclass +++ b/eclass/kernel-build.eclass @@ -114,6 +114,13 @@ kernel-build_pkg_setup() { python-any-r1_pkg_setup if [[ ${KERNEL_IUSE_MODULES_SIGN} ]]; then secureboot_pkg_setup + if [[ -e ${MODULES_SIGN_KEY} && ${MODULES_SIGN_KEY} != pkcs11:* ]]; then + if [[ -e ${MODULES_SIGN_CERT} && ${MODULES_SIGN_CERT} != ${MODULES_SIGN_KEY} ]]; then + MODULES_SIGN_KEY_CONTENTS="$(cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" || die)" + else + MODULES_SIGN_KEY_CONTENTS="$(< "${MODULES_SIGN_KEY}")" + fi + fi fi } @@ -422,12 +429,11 @@ kernel-build_merge_configs() { CONFIG_MODULE_SIG_FORCE=y CONFIG_MODULE_SIG_${MODULES_SIGN_HASH^^}=y EOF - if [[ -e ${MODULES_SIGN_KEY} && -e ${MODULES_SIGN_CERT} && - ${MODULES_SIGN_KEY} != ${MODULES_SIGN_CERT} && - ${MODULES_SIGN_KEY} != pkcs11:* ]] - then - cat "${MODULES_SIGN_CERT}" "${MODULES_SIGN_KEY}" > "${T}/kernel_key.pem" || die - MODULES_SIGN_KEY="${T}/kernel_key.pem" + if [[ -n ${MODULES_SIGN_KEY_CONTENTS} ]]; then + (umask 066 && touch "${T}/kernel_key.pem" || die) + echo "${MODULES_SIGN_KEY_CONTENTS}" > "${T}/kernel_key.pem" || die + unset MODULES_SIGN_KEY_CONTENTS + export MODULES_SIGN_KEY="${T}/kernel_key.pem" fi if [[ ${MODULES_SIGN_KEY} == pkcs11:* || -r ${MODULES_SIGN_KEY} ]]; then echo "CONFIG_MODULE_SIG_KEY=\"${MODULES_SIGN_KEY}\"" \ diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass index b4d84f3986c0..22d8ce200016 100644 --- a/eclass/kernel-install.eclass +++ b/eclass/kernel-install.eclass @@ -231,6 +231,8 @@ kernel-install_create_qemu_image() { # some layout needed to pass dracut's usable_root() validation mkdir -p "${imageroot}"/{bin,dev,etc,lib,proc,root,sbin,sys} || die touch "${imageroot}/lib/ld-fake.so" || die + # Initrd images with systemd require some os-release file + cp "${BROOT}/etc/os-release" "${imageroot}/etc/os-release" || die kernel-install_create_init "${imageroot}/sbin/init" @@ -263,6 +265,7 @@ kernel-install_test() { plymouth # hangs, or sometimes steals output rngd # hangs or segfaults sometimes i18n # copies all the fonts from /usr/share/consolefonts + dracut-systemd systemd systemd-initrd # gets stuck in boot loop ) # NB: if you pass a path that does not exist or is not a regular -- cgit v1.2.3