/rusty-loader

Bootloader for the unikernel RustyHermit

Primary LanguageRustApache License 2.0Apache-2.0

rusty-loader

rusty-loader is a loader to run RustyHermit within Qemu. To build the loader the llvm-tools and the source code of Rust's runtime are required and can be installed with following command:

$ rustup component add rust-src
$ rustup component add llvm-tools-preview

You also need nasm and ar installed on your machine.

Afterwards, the loader can be build as follows:

$ make

Afterwards, the loader is stored in target/x86_64-unknown-hermit-loader/debug/ as rusty-loader. As final step the unikernel application app can be booted with following command:

$ qemu-system-x86_64 -display none -smp 1 -m 64M -serial stdio  -kernel path_to_loader/rusty-loader -initrd path_to_app/app -cpu qemu64,apic,fsgsbase,rdtscp,xsave,xsaveopt,fxsr

It is important to enable the processor features fsgsbase and rdtscp because it is a prerequisite to boot RustyHermit.

Please read the README of RustyHermit for more information.

License

Licensed under either of

at your option.