15960f01cd
Adds the ability to set $DIB_LOCAL_IMAGE to use as the base cloud image for a Fedora image build. There are many repetitve tasks that are done every image build. With this change you can build an image with the fedora and vm element and then reuse the resulting image as input to future image builds. This greatly reduces future image build times. For instance 99-up-to-date is already taking almost 2 minutes (even with rpm downloads already cached) for Fedora 20, and is only going to keep taking longer. By having a local up to date Fedora cloud image, this time can be saved on each image build. There is one minor change to support this in that /tmp/grub needs to get cleaned up at the end of image builds so that the image can be reused. Plus, there is no reason for it to stick around anyway. (didn't think this was worth a seperate commit). Change-Id: Ic74d138da922ecc99c38c27f105170d90009a84a
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 -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
|