• Features • Build Requirements • Quick Start • Customize •
Garden Linux is a Debian deriviate that aims to provide a small, auditable linux image for most Cloud Providers and Bare Metal.
- easy to use build System for images
- build are repeatable and auditable
- small footprint (based on minbase of Debian)
- subscribes for debian/testing, so no huge (problematic) version jumps needed
- whole setup is purely systemd based (network, fstab etc.) #101 #102
- initramfs is dracut generated #105
- optional complete immutability #104
- regular updates (since the whole build process is completely automated via a Tekton CI) and
- thorough automated testing
- unit tests against the local build and
- integration tests against the various cloud Providers (only rc builds)
- aiming to always to integrate the lates LTS kernel #100 (currently 5.4)
- running scans against against common issues like
- License voilations (we try to be completely open! #1)
- Scans for outdated software versions
- project licensed under MIT
- supporting major platforms out-of-the-box
- major cloud providers AWS, Azure, Google, Alicloud
- major virtualizer VMware, OpenStack, KVM
- bare metal
The entire build runs in a docker container (well a privileged one with extended capabilities - since we need loop back support) We can run on any system supporting Docker and having loopback support and has
- 2+ GiB (use RAM-disk; use fs with sparse-file support)
- 10+ GiB free disk space
required packages are (on Debian/Ubuntu): apt install docker.io make
Recommended packages to run recommended supporting services (like a build cache) and extended tests (virtualized image runs)
apt install docker-compose qemu-system-x86
Build all images:
make all
Building specific platform images:
make aws
make gcp
make azure
make ali
make vmware
make openstack
make kvm
make metal
See in build/
folder for the outcome
Our build is based on a feature system.
The feature sytem distinguishes between
- Platforms (aws, azure, google ...)
- Features (container host, virtual host ...)
- Modifiers (_slim. _readonly, _pxe ...)
if you want to manually build choose:
build.sh <Platform>,[<feature1>],[<featureX>],[_modifier1],[_modifierX] destination [version]
e.g. build.sh server,cloud,chost,vmware build/
builds a Server image, cloud-like, with a container host for the Platform VMware. The build result can be found in build/
also look into our Version scheme since adding a date or a Version targets the whole build for a specific date