Feature: lima
Description
A platform feature that builds a Garden Linux image for use with Lima, a Linux virtual machine manager for macOS and Linux. Artifacts are delivered as .qcow2 files.
What it does
Produces a Lima-compatible Garden Linux image and a matching Lima YAML manifest. Key configurations:
- Image conversion:
convert.qcow2converts the raw artifact to.qcow2format required by Lima. - Lima manifest:
exec.configwrites a.lima.yamlmanifest file alongside the build artifact, enablinglimactl startto consume the image directly. - Kernel command line: sets default boot parameters and console settings for the Lima virtualization environment.
- Kernel hook: installs a
postinsthook so that the kernel command line is regenerated after kernel package updates.
Pre-built nightly and release images are published for direct use with limactl.
See samples/ for example Lima manifest files covering common use cases such as Kubernetes, containerd, and rootless Podman.
Using Garden Linux with Lima
For step-by-step instructions, see:
- First Boot on Lima — tutorial covering how to launch Garden Linux under Lima using pre-built images
- Install Locally Using Lima — how-to guide covering manifest generation, building your own image, and sample manifests
Files
Files present in this feature and their purpose. See the feature file reference for the semantics of each file type.
| File | Purpose |
|---|---|
convert.qcow2 (ref) | Converts the .raw artifact to a .qcow2 image for Lima. |
exec.config (ref) | Writes a .lima.yaml manifest file alongside the build artifact for use with limactl start. |
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, dosfstools, dmidecode, efibootmgr, efitools, and openssh-server. |
file.include/etc/kernel/cmdline.d/00-default.cfg (file.include) | Sets default kernel boot parameters for the Lima virtual machine. |
file.include/etc/kernel/cmdline.d/10-console.cfg (file.include) | Sets the kernel console parameter for Lima. |
file.include/etc/kernel/postinst.d/00-kernel-cmdline (file.include) | Kernel package post-install hook that regenerates the kernel command line after kernel updates. |
samples/README.md | Documentation for the Lima sample manifests. |
samples/gardenlinux-containerd.yaml | Sample Lima manifest for a Garden Linux VM with containerd. |
samples/gardenlinux-k8s.yaml | Sample Lima manifest for a Garden Linux VM with Kubernetes. |
samples/gardenlinux-rootless-podman.yaml | Sample Lima manifest for a Garden Linux VM with rootless Podman. |
samples/_images/gardenlinux-2150.yaml | Sample Lima manifest for a specific Garden Linux 2150 release image. |
Related features
Includes:
cloud— provides common cloud-init integration and base cloud configuration.
Excludes (incompatible with):
sap— SAP-specific configuration is incompatible with Lima desktop use.firewall— the default firewall rules conflict with Lima networking requirements._selinux— SELinux is not supported in the Lima environment.