QEMU microvm Machine Type Documentation
- title
- QEMU microvm Machine Type Documentation
- fetched
- 2026-05-06
- type
- source
QEMU microvm Machine Type Documentation
Overview
The microvm is a minimalist x86 machine type inspired by Firecracker, designed as "a baseline for benchmarking and optimizing both QEMU and guest operating systems" with emphasis on boot time and footprint reduction.
Design Rationale
Microvm deliberately omits PCI and ACPI support to achieve a stripped-down architecture suitable for short-lived guests. It establishes performance benchmarking baselines while maintaining reasonable compatibility through optional legacy device support.
Supported Devices
The machine includes these components:
- ISA bus
- i8259 PIC (optional)
- i8254 PIT (optional)
- MC146818 RTC (optional)
- Single ISA serial port (optional)
- LAPIC and IOAPIC (latter using kernel-irqchip=split by default)
- kvmclock (KVM only)
- fw_cfg
- Up to eight virtio-mmio devices
Unsupported Features
Currently excluded:
- PCI-only devices
- Hotplug functionality
- Live migration across QEMU versions
Boot Flow
Microvm uses qboot BIOS by default (compatible with SeaBIOS), but requires host-side kernel and optional initrd. Firmware cannot boot virtio-mmio block devices, necessitating direct kernel boot methodology.
Machine-Specific Options
Configuration properties include:
microvm.x-option-roms=bool(disable option ROM loading)microvm.pit=OnOffAuto(i8254 PIT control)microvm.isa-serial=bool(ISA serial port toggle)microvm.pic=OnOffAuto(i8259 PIC control)microvm.rtc=OnOffAuto(RTC control)microvm.auto-kernel-cmdline=bool(automatic virtio-mmio kernel cmdline insertion)
Usage Examples
Basic invocation with legacy devices enabled:
qemu-system-x86_64 -M microvm \
-enable-kvm -cpu host -m 512m -smp 2 \
-kernel vmlinux -append "earlyprintk=ttyS0 console=ttyS0 root=/dev/vda"
Minimal footprint variant disabling RTC, PIC, PIT, ISA serial, and option ROMs when using KVM with TSC_DEADLINE support:
qemu-system-x86_64 \
-M microvm,x-option-roms=off,pit=off,pic=off,isa-serial=off,rtc=off
Guest Shutdown
Without ACPI or keyboard mechanisms, microvm relies on triple-fault triggering system reboot. Adding reboot=t to kernel cmdline prioritizes this mechanism. The -no-reboot flag allows QEMU to detect and gracefully terminate on shutdown events.