Customize the sample Amazon Linux 2023 image description for your workload - Amazon Elastic Compute Cloud

Customize the sample Amazon Linux 2023 image description for your workload

You can customize the sample Amazon Linux 2023 image description and include the software packages, scripts, and files that are needed for your specific workload. Customizations are achieved by adding to or modifying various elements in the KIWI NG image description.

Repository management

By default, the sample image description includes a single <repository> element that points to a mirror endpoint for the Amazon Linux 2023 core repositories. If needed, you can add references to other repositories from which to install your required software.

The sample image description uses the dnf package manager, as defined in the <packagemanager> element.

For more information about adding repositories, see Setting up Repositories.

Package management

By default, the sample image description includes all of the packages needed to create an Amazon Linux 2023 Attestable AMI for an isolated compute environment with an erofs read-only file system.

You can include additional software packages in the image description by adding them to the <packages> element in the image description. The <packages> element defines all of the software that should be installed into the AMI.

You can also use the <packages> element to uninstall or delete specific software packages.

For more information about adding or removing packages in the image description, see Adding and Removing Packages.

Adding files and directories

The sample image description includes an overlay tree directory (/root/). The overlay tree directory is a directory that contains files and directories that will be copied into the image during the image build process. Any files and directories that you place into the overlay tree directory will be copied directly into the root filesystem of the image during the image building process.

The overlay tree directory is copied into the image after all the packages have been installed. New files are added and existing files are overwritten.

Adding custom scripts

The sample image description includes a single custom script, edit_boot_install.sh. This script includes the commands that are needed to run the nitro-tpm-pcr-compute utility, which generates the reference measurements based on the image content. This script is called immediately after the bootloader is installed.

If needed, you can include your own custom scripts in the image description to perform tasks or configurations during the image build process or at first boot of the image. Using scripts enables you to customize your images in ways that cannot be achieved using the image description alone.

To include custom scripts in your image description, you need to name them correctly based on the type of script, and add them to the same directory as the appliance.kiwi file. KIWI NG automatically detects and executes the scripts if they are named correctly and placed in the correct location, without the need to explicitly reference them in the image description file.

For more information about the scripts supported by KIWI NG, see User-Defined Scripts.