QEMU MicroVM machine type: Difference between revisions

m
format
(Created page with "The '''microvm''' is an x86 machine type in QEMU. The microvm is designed to be extremely minimalist and simplistic as possible, and to trim the "fat" of a regular QEMU VM. The machine is designed primarily for short-lived guests. ==Why?== Ordinarily, QEMU emulates a full computer with all of its peripherals, usually through the <code>i440fx</code> or <code>q35</code> machine types. The "microvm" skips this by using a machine modeled after [https://firecracker-micro...")
 
m (format)
 
The '''microvmMicroVM''' is an x86 machine type in [[QEMU]]. The microvm is designed to be extremely minimalist and simplistic as possible, and to trim the "fat" of a regular QEMU VM. The machine is designed primarily for short-lived guests.
 
== Why? ==
Ordinarily, QEMU emulates a full computer with all of its peripherals, usually through the <code>i440fx</code> or <code>q35</code> machine types. The "microvm" skips this by using a machine modeled after [https://firecracker-microvm.github.io/ Firecracker]. microvm, for example, strips the machine of PCI and ACPI, and many of the other emulated devices are fully optional. This allows for a minimalistic machine that reduces the amount of things the hypervisor sets up and emulates, allowing it to have faster bootup times and less CPU/memory usage on the host.
 
== BIOS ==
It comes with and uses by default a custom BIOS, named <code>qboot</code>. qboot is specifically optimized to boot Linux as fast as possible and with as little instructions as possible. It's also possible to use the standard SeaBIOS as well.
 
== Example VM ==
Example start up command for a MicroVM:
<pre>