- A Rust toolchain (including
cargo
) libclang
(forbindgen
to work properly)- The Linux kernel with the KVM module running
- Standard C tooling (
gcc
,objcopy
, GNUmake
) - An AMD64 CPU (or rewrite the assembly in
guest.S
)
You should just be able to run make
, which will
- Assembly the assembly in
guest.S
intoguest.o
- Rip just the binary
.text
section fromguest.o
intoguest.bin
(VM's instruction pointer will start at the first byte ofguest.bin
) - Compile and run the Rust KVM hypervisor using
cargo