All Projects → hermitcore → rusty-loader

hermitcore / rusty-loader

Licence: other
Bootloader for the unikernel RustyHermit

Programming Languages

rust
11053 projects
assembly
5116 projects
Dockerfile
14818 projects
Makefile
30231 projects

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].