380df31aac
Before downloading and caching the latest version of grub2, we need to first remove all old versions. Otherwise, the find command that writes the grub2 version to /tmp/grub/install to install during the finalise phase could pick one of the older versions of grub2 in the cache. This will cause the install during the finalise phase to fail since the older version of grub2 will conflict with the newer installed version of grub2-tools. Change-Id: I5b43e359db3ba81ed6283dfb41c7e89629516d38
28 lines
1 KiB
Bash
Executable file
28 lines
1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
yum remove -y grub2
|
|
# Install grub2 dependencies to minimise packages installed during finalise.
|
|
install-packages grub2-tools gettext os-prober system-logos
|
|
|
|
# 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 /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
|