
The user-data file is where we will be add configuration that is needed for first boot. NOTE: The configurations used here will work for Ubuntu 20.04 LTS (Focal Fossa) as well as Ubuntu 22.04 (Jammy Jellyfish) You can use either the Cloud Images or Live-Server from Ubuntu depending on your use. We will use it to actually boot the ISO image, which Packer will download for us and use itĬustomize our Ubuntu Image. QEMU is one of the most renowned emulator. Instead of writing really long commands in order to boot up the image using QEMU, Packer provided a nice Configuration Template in a more Hashicorp Packer provides a nice wrapper / abstraction over the QEMU in order to boot the image and use it to set it up on first-boot.

It is a set of YAMLįiles that tells the image what needs to be done on the first-boot of the OS. Hashicorp's Packer and QEMU (Quick Emulator).Ĭloud-Init is a standardized way to configure your Images without having to write shell scripts. This post sheds light on how to create images using tools like Without having to write large Shell Scripts.

In current times, you might want to spin up a customized, well-known Distribution like Ubuntu, Debian, CentOS etc. NOTE: This post requires more than intermediate knowledge of the tools being used.
