Skip to content

Latest commit

 

History

History
63 lines (47 loc) · 1.13 KB

File metadata and controls

63 lines (47 loc) · 1.13 KB

zvm

A KVM frontend written in Zig

Build

For native:

zig build

Or cross-compile for arm64:

zig build -Dtarget=aarch64-linux

Run

Just run with stand-alone linux kernel:

zvm -kernel /path/to/bzImage

Also with an initrd:

zvm -kernel /path/to/bzImage -initrd /path/to/initrd

You could also specify the kernel cmdline:

zvm -kernel /path/to/bzImage -cmdline "console=ttyS0 ..."

Attach a virtual disk:

zvm -kernel /path/to/bzImage -b /path/to/disk.img

Attach a virtual NIC:

zvm -kernel /path/to/bzImage -n

Functionalities

x86-64 arm64
boot ✔️ ✔️
smp ✔️ ✔️
initrd ✔️ ✔️
serial ✔️ ✔️
mmio ✔️ ✔️
pci ✔️
MSI-X ✔️
virtio-mmio ✔️ ✔️
virtio-pci-modern ✔️
virtio-blk ✔️ ✔️
virtio-net ✔️ ✔️
vhost-net ✔️ ✔️