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 validateTo simply validate cloud-init against all distros:
make validate-cloudinitTo 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-packerTo build Ubuntu 20.04 (Focal) image:
make build-focalTo build Ubuntu 22.04 (Jammy) image:
make build-jammyTo build Ubuntu 24.04 (Noble) image:
make build-nobleSee 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-datanow is in a separate directory under thehttpdirectory in the repo.