Skip to content

Feature: kvm ​

Description ​

A platform feature that builds Garden Linux images for KVM and QEMU virtualization. Artifacts are delivered as .raw and .qcow2 files.

What it does ​

Configures Garden Linux for KVM and QEMU guests:

  • QEMU guest agent: installs qemu-guest-agent to enable host-guest communication (live migration signaling, in-guest command execution).
  • Kernel command line: sets the console parameter for KVM serial consoles and enables Ignition-based first-boot configuration.
  • Ignition integration: includes the ignition-disable.service unit to disable Ignition after first boot; the _ignite feature provides the full Ignition support.
  • FAT filesystem tools: installs dosfstools for EFI partition management.
  • Filesystem cleanup: removes stale initrd and kernel symlinks from the rootfs that are not needed in the image.

The kvm platform is also the recommended base for local unit testing that requires a running OS.

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)Enables ignition-disable.service.
file.exclude (ref)Removes stale /initrd.img, /initrd.img.old, /vmlinuz, and /vmlinuz.old symlinks from the rootfs.
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 dosfstools and qemu-guest-agent.
file.include/etc/kernel/cmdline.d/10-console.cfg (file.include)Sets the kernel console parameter for the KVM serial console.
file.include/etc/kernel/cmdline.d/50-ignition.cfg (file.include)Enables Ignition-based first-boot configuration via kernel parameter.
file.include/etc/systemd/system/ignition-disable.service (file.include)Systemd service that disables the Ignition kernel parameter after first boot.
file.include/etc/udev/rules.d/60-onmetal.rules (file.include)udev rules for on-metal disk device naming in the KVM environment.

Includes:

  • cloud — provides common cloud-init integration and base cloud configuration.
  • _ignite — provides Ignition-based first-boot configuration support.

Further reading ​