/packer-ubuntu-server-uefi

Packer Templates for creating Ubuntu Live Server Images with Packer + QEMU + Autoinstall (cloud-init)

Primary LanguageHCLApache License 2.0Apache-2.0

packer-ubuntu-server-uefi

Templates for creating Ubuntu Live 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

Usage

Use GNU-Make to perform validation / build images:

Validation

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> # <distroname> here is either focal, jammy or noble

To simply validate ubuntu.pkr.hcl template against all distros

make validate-packer

Build Images

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

UEFI BootLoader Sequence Determination

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-Init user-data now is in a separate directory under the http directory in the repo.