Kernel
A Rust-based, lightweight unikernel.
Install / Use
/learn @hermit-os/KernelREADME
Hermit Kernel
This is the kernel of the Hermit unikernel project.
For details, see the docs.
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-c 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.
If you want to build the kernel for riscv64, please use riscv64.
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:
- Philipp Oppermann's excellent series of blog posts.
- Erik Kidd's toyos-rs, which is an extension of Philipp Opermann's kernel.
- The Rust-based teaching operating system eduOS-rs.
License
Licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
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 hermit-os/kernel. Create your own fork, send us a pull request, and chat with us on Zulip.
Related Skills
himalaya
339.3kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
339.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.9kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
coding-agent
339.3kDelegate coding tasks to Codex, Claude Code, or Pi agents via background process
