bootloader: remove dangling grubenv links
The rhel8.2 .qcow2 images have moved from a single xfs partition into an EFI style layout with separate /boot/efi partition. This means the root partition has /boot/grub2/grubenv as a symlink to ../efi/EFI/redhat/grubenv, which is dangling when we are running the bootloader element as /boot/efi is blank. grub-install tries to call rename() in the process of re-writing this file, which fails and bails out dib. Remove this symlink if it exists Change-Id: I5591144a3617dbae148b0c5d2a6a404942ffcd4e Parital-Bug: #1893029 Redhat-Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1871669
This commit is contained in:
parent
e9b1997267
commit
8f12d9530e
@ -88,6 +88,17 @@ function install_grub2 {
|
|||||||
|
|
||||||
echo "Installing GRUB2..."
|
echo "Installing GRUB2..."
|
||||||
|
|
||||||
|
# When using EFI image-based builds, particularly rhel element
|
||||||
|
# based on RHEL>=8.2 .qcow2, we might have /boot/grub2/grubenv
|
||||||
|
# as a dangling symlink to /boot/efi because we have extracted
|
||||||
|
# it from the root fs, but we didn't populate the separate EFI
|
||||||
|
# boot partition from the image. grub2-install calls rename()
|
||||||
|
# on this file, so if it's a dangling symlink it errors. Just
|
||||||
|
# remove it if it exists.
|
||||||
|
if [[ -L /boot/grub2/grubenv ]]; then
|
||||||
|
rm -f /boot/grub2/grubenv
|
||||||
|
fi
|
||||||
|
|
||||||
# We need --force so grub does not fail due to being installed on the
|
# We need --force so grub does not fail due to being installed on the
|
||||||
# root partition of a block device.
|
# root partition of a block device.
|
||||||
GRUB_OPTS=${GRUB_OPTS:-"--force"}
|
GRUB_OPTS=${GRUB_OPTS:-"--force"}
|
||||||
|
Loading…
Reference in New Issue
Block a user