microvm-virtiofsd@.service
now starts the multiple virtiofsd instances through supervisord.- The
host
module allows configuration ofmicrovm.virtiofsd.inodeFileHandles
andmicrovm.virtiofsd.threadPoolSize
now. - Add the alioth VMM
- Fixes for the stratovirt VMM
- New volume image files will be created with
truncate
instead offallocate
, saving disk space.
- tap interfaces are now multi-queue when running with more than one VCPU. Update your host!
- The
host
module enables Kernel Samepage Merging by default. - qemu can run non-native systems by using its Tiny Code Generator instead of KVM.
- SSH deployment scripts are added as
config.microvm.deploy.rebuild
- qemu defaults to the microvm machine model now as it supports
PCI, USB, and ACPI by now. Set
microvm.qemu.machine = "q35"
if this breaks for you. - The NixOS hardened profile can be used by falling back to squashfs.
- Runners execute the hypervisor with a process name of
microvm@$NAME
- We no longer let
environment.noXlibs
default totrue
- Breaking: the
microvm
user is no longer in thedisk
group for security reasons. Addusers.users.microvm.extraGroups = [ "disk" ]
to your config to restore the old behavior.
-
cloud-hypervisor replaces rust-hypervisor-firmware with direct kernel+initramfs loading.
-
The microvm module now optimizes the NixOS configuration for size.
-
crosvm now supports macvtap interfaces.
-
The option
microvm.qemu.bios
has been dropped again for simplicity reasons.qemu boots fast with the shipped SeaBIOS if after both SATA and the network interface option ROM (iPXE) have been disabled.
-
microvm.kernelParams
always copyboot.kernelParams
-
firecracker is no longer launched through firectl.
-
Networking example documentation has been split into multiple scenarios.
-
Vsock support has been added for Hypervisors that connect them to the Linux host's AF_VSOCK: qemu, crosvm, and kvmtool.
-
Our packages and overlay include the unstable version of waypipe, featuring Vsock support.
-
Add support for the old command-line parameter syntax that returned with cloud-hypervisor 36.0.
- Stop building a custom kernel by booting the NixOS kernel with an initrd.
- New Hypervisor: stratovirt by Huawei
- Support fully declarative MicroVMs that are part of the host's NixOS configuration. No Flakes required!
- We use squashfs-tools-ng now.
- The
microvm-console
script has been removed because pty console setup was too cumbersome to maintain across all hypervisors. microvm.storeDiskType
defaults to"erofs"
now for higher runtime performance.
- Support for macvtap network interfaces has been added.
boot.initrd.systemd.enable
is now supported.- Experimental graphics support for qemu, and cloud-hypervisor
- qemu: use qboot BIOS