2014-02-18 22:14:43 +00:00
|
|
|
#!/bin/bash
|
2015-02-24 18:49:47 +00:00
|
|
|
if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then
|
2014-09-04 04:56:29 +00:00
|
|
|
set -x
|
|
|
|
fi
|
2014-04-03 02:24:15 +00:00
|
|
|
set -eu
|
|
|
|
set -o pipefail
|
2014-02-18 22:14:43 +00:00
|
|
|
|
2015-02-24 18:49:47 +00:00
|
|
|
GRUBNAME=$(which grub-install) || echo "trying grub2-install"
|
|
|
|
if [ -z "$GRUBNAME" ]; then
|
|
|
|
GRUBNAME=$(which grub2-install)
|
|
|
|
fi
|
|
|
|
if [ -z "$GRUBNAME" ] || [ $($GRUBNAME --version | grep -c "0.97") -ne 0 ]; then
|
|
|
|
echo "No GRUB2 found. No need to remove"
|
|
|
|
exit 0
|
|
|
|
else
|
2014-07-21 20:25:47 +00:00
|
|
|
# Must manually remove grub2 here, otherwise the download below does not work.
|
2015-02-24 18:49:47 +00:00
|
|
|
yum remove -y grub2
|
|
|
|
fi
|
2014-02-18 22:14:43 +00:00
|
|
|
|
|
|
|
# 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)
|
2014-10-27 16:42:05 +00:00
|
|
|
find /tmp/yum/$basearch -regex ".*/grub2-[0-9].*\.rpm" -exec rm -f {} +
|
2014-02-18 22:14:43 +00:00
|
|
|
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
|