dracut/SOURCES/0086.patch

33 lines
1.2 KiB
Diff

From 94969152cfa4ac9dd87f7a25133638935a5cd4d5 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Thu, 6 Mar 2025 14:30:26 +0100
Subject: [PATCH] fix(rescue): create hmac file for rescue kernel
Resolves: RHEL-53364
---
install.d/51-dracut-rescue.install | 11 +++++++++++
1 file changed, 11 insertions(+)
diff --git a/install.d/51-dracut-rescue.install b/install.d/51-dracut-rescue.install
index 8bf9a6d9..e27f72ba 100755
--- a/install.d/51-dracut-rescue.install
+++ b/install.d/51-dracut-rescue.install
@@ -95,6 +95,17 @@ case "$COMMAND" in
echo "Can't copy '$KERNEL_IMAGE to '$BOOT_DIR_ABS/$KERNEL'!" >&2
fi
+ HMAC=".${KERNEL}.hmac"
+
+ KERNEL_DIR="${KERNEL_IMAGE%/*}"
+ KERNEL_FILE="${KERNEL_IMAGE##*/}"
+
+ HMAC_FILE="${KERNEL_DIR}/.${KERNEL_FILE}.hmac"
+
+ if ! sed -E "s/([0-9a-f]+)(\s+).*$/\1\2${KERNEL}/" "$HMAC_FILE" > "$BOOT_DIR_ABS/$HMAC"; then
+ echo "Can't create '$BOOT_DIR_ABS/$HMAC' from '$HMAC_FILE'!" >&2
+ fi
+
if [[ ! -f "$BOOT_DIR_ABS/$INITRD" ]]; then
dracut -f --no-hostonly -a "rescue" "$BOOT_DIR_ABS/$INITRD" "$KERNEL_VERSION"
((ret+=$?))