Templates for creating Ubuntu Server images with Packer + QEMU + Autoinstall (cloud-init)
Currently supported images:
Name | Version |
---|---|
Focal Fossa | 20.04.6 |
Jammy Jellyfish | 22.04.4 |
Noble Numbat | 24.04 |
An accompanying blogpost is available here.
Use GNU-Make to perform validation / build images:
To validate cloud-init
and ubuntu.pkr.hcl
template perform:
make validate
To simply validate cloud-init
against all distros:
make validate-cloudinit
To validate cloud-init
configuration of a specific distro (focal
, jammy
, noble
):
make validate-cloudinit-<distroname>
To simply validate ubuntu.pkr.hcl
template against all distros:
make validate-packer
To build Ubuntu 20.04 (Focal) image:
make build-focal
To build Ubuntu 22.04 (Jammy) image:
make build-jammy
To build Ubuntu 24.04 (Noble) image:
make build-noble
See the late-commands
in the user-data
file. This is determined by installing efibootmgr
on the live
image and performing sudo efibootmgr
. This lists what are the sequences and when should the image be booted.
NOTE: there seems to be compatibility issue between Ubuntu 24.04 and older Ubuntu LTS version in terms of output from the
efibootmgr
, namely capitalization. Hence each Cloud-Inituser-data
now is in a separate directory under thehttp
directory in the repo.