Skip to content

Feature: aws ​

Description ​

A platform feature that builds a Garden Linux image for Amazon Web Services (AWS). The image is delivered as a .raw file suitable for import into AWS.

What it does ​

Installs cloud-init and amazon-ec2-utils to handle instance initialization, metadata retrieval, and EC2-specific utilities. The feature configures:

  • DNS resolver: configures systemd-resolved with AWS-specific settings.
  • Time synchronization: configures systemd-timesyncd to use the
  • Clocksource: enables a systemd service (aws-clocksource.service) that selects the appropriate clocksource for the EC2 hypervisor. AWS-provided NTP endpoint.
  • Cloud-init: removes the growpart, resizefs, and ntp modules from the cloud-init configuration (partition growth is handled in the initramfs; NTP is managed by systemd-timesyncd).
  • Kernel command line: sets console and NVMe parameters for the AWS environment.
  • Dracut: includes the xen-blkfront driver for compatibility with Xen-based instance types.

Files ​

Files present in this feature and their purpose. See the feature file reference for the semantics of each file type.

FilePurpose
exec.config (ref)Strips growpart, resizefs, and ntp modules from cloud-init configuration and enables aws-clocksource.service.
file.include.markers.yaml (ref)Maps files to test-coverage marker IDs.
info.yaml (ref)Declares type: platform and included/excluded features.
pkg.include (ref)Installs cloud-init, amazon-ec2-utils, dmidecode, and python3-cffi-backend.
file.include/etc/cloud/cloud.cfg.d/01_debian-cloud.cfg (file.include)Debian-specific cloud-init configuration baseline.
file.include/etc/cloud/cloud.cfg.d/99_disable-network-config.cfg (file.include)Disables cloud-init network configuration management (networking is handled by systemd).
file.include/etc/dracut.conf.d/90-xen-blkfront-driver.conf (file.include)Includes the xen-blkfront kernel module in the initramfs for Xen-backed instance types.
file.include/etc/kernel/cmdline.d/10-console.cfg (file.include)Sets the kernel console parameter for the AWS serial console.
file.include/etc/kernel/cmdline.d/70-nvme.cfg (file.include)Adds NVMe-specific kernel parameters.
file.include/etc/systemd/resolved.conf.d/00-gardenlinux-aws.conf (file.include)Configures systemd-resolved with AWS DNS settings.
file.include/etc/systemd/system/aws-clocksource.service (file.include)Systemd service that sets the clocksource appropriate for the EC2 hypervisor.
file.include/etc/systemd/system/cloud-init-local.service.d/override.conf (file.include)Systemd drop-in that adjusts cloud-init-local ordering.
file.include/etc/systemd/timesyncd.conf.d/00-gardenlinux-aws.conf (file.include)Configures systemd-timesyncd to use the AWS NTP endpoint (169.254.169.123).
file.include/usr/local/sbin/clocksource-setup.sh (file.include)Script invoked by aws-clocksource.service to detect and set the correct clocksource.

Includes:

  • cloud — provides common cloud-init integration and base cloud configuration shared across cloud platforms.

Further reading ​