#!/bin/bash set -eu set -o pipefail # Must manually remove grub2 here, otherwise the download below does not work. yum remove -y grub2 # Remove all old versions of grub2 from the yum cache and then ensure the # latest version is in the cache. basearch=$(cat /etc/yum/vars/basearch) find /tmp/yum/$basearch -regex ".*/grub2-[0-9].*\.rpm" -exec rm -f {} + install-packages -d grub2 # Copy grub2 rpm out of mounted yum cache for install during finalise mkdir -p /tmp/grub cp $(find /tmp/yum/$basearch -regex ".*/grub2-[0-9].*\.rpm") /tmp/grub echo "rpm -i /tmp/grub/*.rpm" > /tmp/grub/install #GRUB_CFG=/boot/grub2/grub.cfg #[ -f "$GRUB_CFG" ] # Update the config to have the search UUID of the image being built. # When partition staging is moved to a separate stage, this will need to happen # there. This generates a non-UUID config, which is irrelevant for booting with # hypervisor kernel + ramdisk, and fixed up by 51-grub for vm images. #GRUB_DISABLE_LINUX_UUID=true grub2-mkconfig -o $GRUB_CFG