Skip to content

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.qcow2 converts the raw artifact to .qcow2 format required by Lima.
  • Lima manifest: exec.config writes a .lima.yaml manifest file alongside the build artifact, enabling limactl start to consume the image directly.
  • Kernel command line: sets default boot parameters and console settings for the Lima virtualization environment.
  • Kernel hook: installs a postinst hook 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.

FilePurpose
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.mdDocumentation for the Lima sample manifests.
samples/gardenlinux-containerd.yamlSample Lima manifest for a Garden Linux VM with containerd.
samples/gardenlinux-k8s.yamlSample Lima manifest for a Garden Linux VM with Kubernetes.
samples/gardenlinux-rootless-podman.yamlSample Lima manifest for a Garden Linux VM with rootless Podman.
samples/_images/gardenlinux-2150.yamlSample Lima manifest for a specific Garden Linux 2150 release image.

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.

Further reading ​