From 9e8f172dc01f7e013bb5d302ef6c90e2dc6b30c8 Mon Sep 17 00:00:00 2001 From: Jonathan Lebon Date: Tue, 29 Oct 2019 16:54:10 -0400 Subject: [PATCH] 01fips: trim off GRUB boot device from BOOT_IMAGE E.g. in RHCOS, the `BOOT_IMAGE` from the cmdline is: (hd0,gpt1)/ostree/rhcos-e493371e5ee8407889029ec979955a2b86fd7e3cae5a0591b9db1cd248d966e8/vmlinuz-4.18.0-146.el8.x86_64 Which of course is a GRUB thing, not an actual pathname we'll be able to resolve. In fact, we can simply scrap it off from the variable. Our code is already able to handle both cases: whether the device refers to a separate boot partition, or just the root filesystem with a regular `/boot` directory. --- modules.d/01fips/fips.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules.d/01fips/fips.sh b/modules.d/01fips/fips.sh index de2755b0..559952ca 100755 --- a/modules.d/01fips/fips.sh +++ b/modules.d/01fips/fips.sh @@ -113,6 +113,10 @@ do_fips() do_rhevh_check /run/initramfs/live/isolinux/vmlinuz0 || return 1 else BOOT_IMAGE="$(getarg BOOT_IMAGE)" + + # Trim off any leading GRUB boot device (e.g. ($root) ) + BOOT_IMAGE="$(echo "${BOOT_IMAGE}" | sed 's/^(.*)//')" + BOOT_IMAGE_NAME="${BOOT_IMAGE##*/}" BOOT_IMAGE_PATH="${BOOT_IMAGE%${BOOT_IMAGE_NAME}}"