mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-02-10 04:37:29 +00:00
e8e3e6760f
Since the kvm image now boots without an initramfs by default, we don't need to force it in the build hook.
64 lines
1.4 KiB
Bash
Executable File
64 lines
1.4 KiB
Bash
Executable File
#!/bin/bash -eux
|
|
# vi: ts=4 expandtab
|
|
#
|
|
# Generate KVM image
|
|
#
|
|
|
|
echo "Building KVM image"
|
|
IMAGE_STR="# CLOUD_IMG: This file was created/modified by the Cloud Image build process"
|
|
case ${SUBPROJECT:-} in
|
|
minimized)
|
|
echo "Skipping minimized $0 builds"
|
|
exit 0
|
|
;;
|
|
*)
|
|
;;
|
|
esac
|
|
|
|
# Only allow amd64 builds for now
|
|
case $ARCH in
|
|
amd64)
|
|
;;
|
|
*)
|
|
echo "Linux KVM images are not supported for $ARCH yet.";
|
|
exit 0;;
|
|
esac
|
|
|
|
. config/functions
|
|
|
|
mount_d=$(mktemp -d)
|
|
|
|
create_derivative uefi kvm #sets ${derivative_img}
|
|
mount_disk_image ${derivative_img} ${mount_d}
|
|
|
|
# unmount disk image and remove created folders on exit
|
|
# even though we unmount manually before we convert to
|
|
# qcow2, we have this here just in case we error out before
|
|
# that step
|
|
cleanup_kvm() {
|
|
if [ -d "$mount_d" ]; then
|
|
umount_disk_image "$mount_d"
|
|
fi
|
|
rm -rf ${mount_d} ${derivative_img}
|
|
}
|
|
trap cleanup_kvm EXIT
|
|
|
|
|
|
divert_grub "${mount_d}"
|
|
replace_kernel ${mount_d} "linux-kvm"
|
|
chroot "${mount_d}" update-grub
|
|
undivert_grub "${mount_d}"
|
|
|
|
# Remove indices
|
|
env DEBIAN_FRONTEND=noninteractive chroot "${mount_d}" apt-get \
|
|
clean
|
|
|
|
create_manifest ${mount_d} livecd.ubuntu-cpc.disk-kvm.manifest
|
|
|
|
# unmount disk image to prevent corruption
|
|
# and remove it so the trap doesn't try to unmount it again
|
|
umount_disk_image ${mount_d}
|
|
rm -rf ${mount_d}
|
|
|
|
convert_to_qcow2 ${derivative_img} livecd.ubuntu-cpc.disk-kvm.img
|