0d0f7f8075
This change replaces the call to grub2-switch-to-blscfg with a file rename to update it to the actual machine-id. grub2-switch-to-blscfg has issues in some build environments: - When the build host is EFI boot, it assumes the image is, and fails when config file /etc/grub2-efi.cfg is missing - With recent cento9 images and a fedora build host it fails with: grub2-probe: error: cannot find a device for / (is /dev mounted?) Change-Id: I74ad800b702f2b491d958555cef8d7c7f63d74ac
32 lines
775 B
Bash
Executable file
32 lines
775 B
Bash
Executable file
#!/bin/bash
|
|
|
|
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
|
|
set -x
|
|
fi
|
|
set -eu
|
|
set -o pipefail
|
|
|
|
if [[ ! '9-stream' =~ ${DIB_RELEASE} ]]; then
|
|
exit 0
|
|
fi
|
|
|
|
# This is a workaround for the grub issue reported upstream with
|
|
# https://bugzilla.redhat.com/show_bug.cgi?id=2032680
|
|
|
|
# This renames the BLS entries from the upstream .qcow2 image in
|
|
# /boot/loader/entries with the current machine-id. This means that in the
|
|
# bootloader setup, grub2-mkconfig will update config options as required.
|
|
|
|
pushd /boot/loader/entries
|
|
|
|
machine_id=$(</etc/machine-id)
|
|
|
|
for entry in *; do
|
|
new_entry=$(echo $entry | sed "s/^[a-f0-9]*/$machine_id/")
|
|
echo "renaming $entry to $new_entry for new machine-id"
|
|
mv $entry $new_entry
|
|
done
|
|
popd
|
|
|
|
echo "--- Show kernels ---"
|
|
grubby --info=ALL
|