- A Rust toolchain (including
cargo) libclang(forbindgento 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.Sintoguest.o - Rip just the binary
.textsection fromguest.ointoguest.bin(VM's instruction pointer will start at the first byte ofguest.bin) - Compile and run the Rust KVM hypervisor using
cargo