-
Notifications
You must be signed in to change notification settings - Fork 101
Building your own applications
Stefan Lankes edited this page Jun 23, 2024
·
7 revisions
To give you an example on how to build your application with HermitOS, lets create a new cargo project: A more comprehensive version of the example project is published at rusty-demo.
cargo new hello_world
cd hello_worldTo bind the library operating system to the application, add the crate hermit to the dependencies in the file Cargo.toml. It is important to use at least the optimization level 1. Consequently, it is required to extend Cargo.toml with following lines:
# Cargo.toml
[target.'cfg(target_os = "hermit")'.dependencies]
hermit = "0.9.*"To link the application with RustyHermit, declare hermit_sys an external crate in the main file of your application.
// src/main.rs
#[cfg(target_os = "hermit")]
use hermit as _;
fn main() {
println!("Hello World!");
}The final step is building the application as follows:
cargo build -Z build-std=std,core,alloc,panic_abort --target x86_64-unknown-hermitThe resulting "hypervisor-ready" binary then can be found in target/x86_64-unknown-hermit/debug.