From 0d0f7f8075788171d3e67524edf1a52df3b7d878 Mon Sep 17 00:00:00 2001 From: Steve Baker Date: Fri, 21 Jan 2022 13:10:17 +1300 Subject: [PATCH] Rename existing BLS entry with the new machine-id 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 --- .../centos/pre-install.d/03-reset-bls-entries | 36 ++++++------------- 1 file changed, 11 insertions(+), 25 deletions(-) diff --git a/diskimage_builder/elements/centos/pre-install.d/03-reset-bls-entries b/diskimage_builder/elements/centos/pre-install.d/03-reset-bls-entries index 92725d4db..837618fa1 100755 --- a/diskimage_builder/elements/centos/pre-install.d/03-reset-bls-entries +++ b/diskimage_builder/elements/centos/pre-install.d/03-reset-bls-entries @@ -13,34 +13,20 @@ fi # This is a workaround for the grub issue reported upstream with # https://bugzilla.redhat.com/show_bug.cgi?id=2032680 -# This clears out and recreates 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. +# 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. -# All grub2-switch-to-blscfg really does is call "kernel-install" with -# the kernels installed in /lib/modules -- this is another option for -# recreating the BLS entries. You can also re-install the kernel -# packages to do this. Another option again would be just to rename -# the exsiting .conf files. +pushd /boot/loader/entries -# If this is already set, grub2-switch-to-blscfg will abort -sed -i 's/GRUB_ENABLE_BLSCFG=true//' /etc/default/grub -echo "--- /etc/default/grub dump ---" -cat /etc/default/grub +machine_id=$(