From fadcb7ab769308a2908d3da3272f1a626640b37c Mon Sep 17 00:00:00 2001 From: dalto Date: Sat, 30 Dec 2023 14:44:10 -0600 Subject: [PATCH] Add support for optionally omitting the fallback initrd --- src/etc/kernel-install-mkinitcpio.conf | 4 ++++ .../lib/kernel/install.d/50-mkinitcpio-fallback.install | 6 ++++++ .../lib/kernel/install.d/90-loaderentry-fallback.install | 7 +++++++ 3 files changed, 17 insertions(+) create mode 100644 src/etc/kernel-install-mkinitcpio.conf diff --git a/src/etc/kernel-install-mkinitcpio.conf b/src/etc/kernel-install-mkinitcpio.conf new file mode 100644 index 0000000..b0f10b3 --- /dev/null +++ b/src/etc/kernel-install-mkinitcpio.conf @@ -0,0 +1,4 @@ +# This config file controls the automation provided by kernel-install-mkinitcpio + +# When NO_FALLBACK is set to true, no fallback initrd will be generated +#KIM_NO_FALLBACK="false" diff --git a/src/usr/lib/kernel/install.d/50-mkinitcpio-fallback.install b/src/usr/lib/kernel/install.d/50-mkinitcpio-fallback.install index 775945a..662fbbd 100755 --- a/src/usr/lib/kernel/install.d/50-mkinitcpio-fallback.install +++ b/src/usr/lib/kernel/install.d/50-mkinitcpio-fallback.install @@ -11,6 +11,12 @@ KERNEL_IMAGE="$4" [[ "$COMMAND" == "add" ]] || exit 0 +# Read the optional config file +[[ -f /etc/kernel-install-mkinitcpio.conf ]] && source /etc/kernel-install-mkinitcpio.conf + +# Do nothing if the user has elected to omit the fallback initrd +[[ ${KIM_NO_FALLBACK} == "true" ]] && exit 0 + GENERATOR_CMD=(mkinitcpio -k "$KERNEL_VERSION") BLS_ARGS=(-g "$KERNEL_INSTALL_STAGING_AREA/initrd-fallback") diff --git a/src/usr/lib/kernel/install.d/90-loaderentry-fallback.install b/src/usr/lib/kernel/install.d/90-loaderentry-fallback.install index 9839e72..ed64335 100755 --- a/src/usr/lib/kernel/install.d/90-loaderentry-fallback.install +++ b/src/usr/lib/kernel/install.d/90-loaderentry-fallback.install @@ -28,6 +28,10 @@ INITRD_OPTIONS_SHIFT=4 [ "$KERNEL_INSTALL_LAYOUT" = "bls" ] || exit 0 + +# Read the optional config file +[[ -f /etc/kernel-install-mkinitcpio.conf ]] && source /etc/kernel-install-mkinitcpio.conf + MACHINE_ID="${KERNEL_INSTALL_MACHINE_ID:?}" ENTRY_TOKEN="${KERNEL_INSTALL_ENTRY_TOKEN:?}" BOOT_ROOT="${KERNEL_INSTALL_BOOT_ROOT:?}" @@ -58,6 +62,9 @@ case "$COMMAND" in ;; esac +# Do nothing if the user has elected to omit the fallback initrd +[[ ${KIM_NO_FALLBACK} == "true" ]] && exit 0 + if [ -f /etc/os-release ]; then # shellcheck source=/dev/null . /etc/os-release