An application template for Hermit for Rust.
(this is already done in this repo)
-
Add the
hermit
dependency for hermit targets inCargo.toml
.[target.'cfg(target_os = "hermit")'.dependencies] hermit = "<version>"
-
Use the exact Rust version required by
hermit
inrust-toolchain.toml
.[toolchain] channel = "<version>"
-
Make sure we link against hermit in
main.rs
:#[cfg(target_os = "hermit")] use hermit as _;
See rust-std-hermit.
$ cargo build --target x86_64-unknown-hermit
$ uhyve target/x86_64-unknown-hermit/debug/hermit-rs-template
For more details, see uhyve's README.
Download the loader binary from its releases page.
$ qemu-system-x86_64 \
-cpu qemu64,apic,fsgsbase,fxsr,rdrand,rdtscp,xsave,xsaveopt \
-smp 1 -m 64M \
-device isa-debug-exit,iobase=0xf4,iosize=0x04 \
-display none -serial stdio \
-kernel rusty-loader-x86_64 \
-initrd target/x86_64-unknown-hermit/debug/hermit-rs-template
For more details, see the loader's README.