From: cvlc12 Date: Tue, 6 Jun 2023 15:14:57 +0000 (+0200) Subject: Define 'microcode' type of initrd for the kernel-install staging area. X-Git-Tag: v254-rc1~170^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a6d8884120822c090c0aad6667f1795c5b18d3be;p=thirdparty%2Fsystemd.git Define 'microcode' type of initrd for the kernel-install staging area. This allows microcode to be referenced first for UKIs and loader entries. --- diff --git a/src/kernel-install/90-loaderentry.install.in b/src/kernel-install/90-loaderentry.install.in index f4ba4708bac..e1cab0dc23b 100755 --- a/src/kernel-install/90-loaderentry.install.in +++ b/src/kernel-install/90-loaderentry.install.in @@ -117,9 +117,12 @@ chown root:root "$KERNEL_DEST" || : shift "$INITRD_OPTIONS_SHIFT" # All files listed as arguments, and staged files starting with "initrd" are installed as initrds. -for initrd in "$@" "${KERNEL_INSTALL_STAGING_AREA}"/initrd*; do +for initrd in "${KERNEL_INSTALL_STAGING_AREA}/microcode*" "${@}" "${KERNEL_INSTALL_STAGING_AREA}/initrd*"; do [ -f "$initrd" ] || { - [ "$initrd" = "${KERNEL_INSTALL_STAGING_AREA}/initrd*" ] && continue + case "$initrd" in + "${KERNEL_INSTALL_STAGING_AREA}/initrd*" | "${KERNEL_INSTALL_STAGING_AREA}/microcode*") + continue ;; + esac echo "Error: initrd '$initrd' not a file." >&2 exit 1 } @@ -153,7 +156,7 @@ mkdir -p "${LOADER_ENTRY%/*}" || { echo "linux $KERNEL_ENTRY" have_initrd= - for initrd in "${@}" "${KERNEL_INSTALL_STAGING_AREA}"/initrd*; do + for initrd in "${KERNEL_INSTALL_STAGING_AREA}/microcode*" "${@}" "${KERNEL_INSTALL_STAGING_AREA}/initrd*"; do [ -f "$initrd" ] || continue echo "initrd $ENTRY_DIR/${initrd##*/}" have_initrd=yes