Getting Images
Once you have chosen a flavor, you need to obtain the image. Garden Linux provides pre-built images via GitHub Releases, cloud provider integrations, and the GitHub Container Registry (GHCR). If no pre-built flavor meets your requirements, you can also build your own.
Official Images
All Garden Linux flavors are published as .tar.xz archives on the GitHub Releases page. This is the primary and always-available method for obtaining images for all platforms, including cloud, virtualization, bare-metal, and local development.
Each release contains:
- Compressed disk images per platform (
.raw,.vhd,.qcow2,.gcpimage.tar.gz) - A "Published Images" section listing cloud-native references (AMI IDs, Community Gallery URNs, GCP image names) where applicable
Downloading from GitHub Releases
Use the following script as a starting point for any platform. Set GL_FLAVOR to the flavor name — look it up in the Flavor Matrix if you are unsure of the exact name.
GL_VERSION="<version>" # e.g. 2150.0.0
GL_COMMIT="<commit>" # e.g. eb8696b9 (from the release page)
GL_ARCH="amd64" # or arm64
GL_FLAVOR="<flavor>" # e.g. aws-gardener_prod, kvm-gardener_prod
GL_ASSET="${GL_FLAVOR}-${GL_ARCH}-${GL_VERSION}-${GL_COMMIT}"
GL_TAR_XZ="${GL_ASSET}.tar.xz"
curl -L -o "${GL_TAR_XZ}" \
"https://github.com/gardenlinux/gardenlinux/releases/download/${GL_VERSION}/${GL_TAR_XZ}"
tar -xf "${GL_TAR_XZ}"TIP
The commit hash (GL_COMMIT) for a release is listed in the "Assets" section on the GitHub Releases page as part of each asset filename. For a complete list of maintained releases and their support lifecycle, see the releases reference.
Image Formats by Platform
Each platform target produces a different image format:
| Platform | Image Format | File Extension |
|---|---|---|
aws | Raw disk image | .raw |
azure | Virtual Hard Disk | .vhd |
gcp | GCP image tarball | .gcpimage.tar.gz |
openstack | QCOW2 disk image | .qcow2 |
kvm | Raw disk image | .raw |
baremetal | Raw disk image | .raw |
vmware | Raw disk image | .raw |
Platform-Specific Tutorials
For complete step-by-step instructions on downloading and deploying images, including cloud infrastructure setup and first-boot configuration, see:
- First Boot on AWS — download and import as AMI
- First Boot on Azure — download and upload to Azure Blob Storage
- First Boot on GCP — download and upload to Google Cloud Storage
- First Boot on OpenStack — download and upload to Glance
- First Boot on KVM — download and run with QEMU/KVM
- First Boot on Bare Metal — download and write to disk with
dd
Cloud Provider Marketplaces
WARNING
Publishing official Garden Linux images in cloud provider marketplaces is currently being worked on. Until this is ready — if you do not have access to the images listed below — use the Official Images method above.
Where available, Garden Linux publishes images directly to cloud provider shared image galleries. These identifiers are listed in the "Published Images" section of each release on the GitHub Releases page.
| Provider | Mechanism | Identifier Format |
|---|---|---|
aws | Published AMIs per region | ami-<id> |
azure | Azure Community Gallery | /CommunityGalleries/gardenlinux-<uuid>/Images/<flavor>/Versions/<version> |
gcp | Shared GCP project | projects/sap-se-gcp-gardenlinux/global/images/<image-name> |
Container Images
Garden Linux OCI container images are published to the GitHub Container Registry.
# Pull a versioned release image
podman pull ghcr.io/gardenlinux/gardenlinux:<version>
# Pull the latest nightly image
podman pull ghcr.io/gardenlinux/gardenlinux:nightlyTIP
Replace podman with docker if you use Docker — the commands are interchangeable.
For distroless (bare-*) variants, see the Container Base Image how-to guides.
For a complete walkthrough, see First Boot as OCI Image.
Build Your Own Images
If no pre-built flavor matches your requirements, or you need a custom feature combination, build your own image:
- Building Images — full build guide for any platform and feature combination
- Create a custom Feature — extend Garden Linux with your own features