• Stars
    star
    813
  • Rank 56,088 (Top 2 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

libhermit-rs: A Rust-based library operating system

Hermit Kernel

Documentation License Zulip Badge

This is the kernel of the Hermit unikernel project.

Requirements

Building the kernel

Usually the kernel will be linked as static library to your applications.

  • Rust applications: Instructions can be found in the hermit-rs repository.
  • For C/C++ applications: Instructions can be found in the hermit-playground repository.

Standalone static library build

cargo xtask build --arch x86_64

On completion, the script will print the path of libhermit.a. If you want to build the kernel for aarch64, please replace x86_64 by aarch64.

Control the kernel messages verbosity

This kernel uses the lightweight logging crate log to print kernel messages. The environment variable HERMIT_LOG_LEVEL_FILTER controls the verbosity. You can change it by setting it at compile time to a string matching the name of a LevelFilter. If the variable is not set, or the name doesn't match, then LevelFilter::Info is used by default.

$ HERMIT_LOG_LEVEL_FILTER=Debug cargo xtask build --arch x86_64

Credits

This kernel is derived from following tutorials and software distributions:

  1. Philipp Oppermann's excellent series of blog posts.
  2. Erik Kidd's toyos-rs, which is an extension of Philipp Opermann's kernel.
  3. The Rust-based teaching operating system eduOS-rs.

HermitCore's Emoji is provided for free by EmojiOne.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

The kernel is being developed on hermitcore/kernel. Create your own fork, send us a pull request, and chat with us on Zulip.