All Projects → hermitcore → Libhermit Rs

hermitcore / Libhermit Rs

Licence: other
libhermit-rs: A Rust-based library operating system

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Libhermit Rs

Libhermit
HermitCore: A C-based, lightweight unikernel
Stars: ✭ 190 (-65.95%)
Mutual labels:  cloud-computing, kernel, operating-system, osdev, high-performance-computing, virtualization
Rusty Hermit
RustyHermit - A Rust-based, lightweight unikernel
Stars: ✭ 268 (-51.97%)
Mutual labels:  cloud-computing, operating-system, osdev, operating-systems, high-performance-computing, virtualization
hermit-playground
A playground to build C/C++/Go/Fortran applications on top of RustyHermit
Stars: ✭ 13 (-97.67%)
Mutual labels:  kernel, virtualization, operating-system, high-performance-computing, cloud-computing
Toaruos
A completely-from-scratch hobby operating system: bootloader, kernel, drivers, C library, and userspace including a composited graphical UI, dynamic linker, syntax-highlighting text editor, network stack, etc.
Stars: ✭ 4,687 (+739.96%)
Mutual labels:  kernel, operating-system, osdev, operating-systems
Toaru Nih
NOTICE: The ToaruOS-NIH Project has been MERGED UPSTREAM. This repository is now archived.
Stars: ✭ 66 (-88.17%)
Mutual labels:  kernel, operating-system, osdev, operating-systems
Tofita
🍬 All-new kernel for @GreenteaOS
Stars: ✭ 112 (-79.93%)
Mutual labels:  kernel, operating-system, osdev, operating-systems
LudOS
A toy monolithic kernel written in C++
Stars: ✭ 38 (-93.19%)
Mutual labels:  kernel, osdev, operating-system, operating-systems
scaraOS
A 32bit multiboot OS kernel for IA32 (PC/AT) systems.
Stars: ✭ 31 (-94.44%)
Mutual labels:  kernel, operating-system, operating-systems
poplar
Microkernel and userspace written in Rust exploring modern ideas
Stars: ✭ 217 (-61.11%)
Mutual labels:  kernel, osdev, operating-system
KnutOS
An x86_64 hobbyist OS written in C and Assembly
Stars: ✭ 16 (-97.13%)
Mutual labels:  kernel, osdev, operating-system
infinity
A secure, modern and intelligent operative system
Stars: ✭ 27 (-95.16%)
Mutual labels:  kernel, osdev, operating-system
nightingale
A small operating system where I experiment and learn osdev.
Stars: ✭ 86 (-84.59%)
Mutual labels:  kernel, osdev, operating-system
Wingos
a little 64bit operating system written in c++ with smp support
Stars: ✭ 361 (-35.3%)
Mutual labels:  kernel, operating-system, osdev
cxos
Operating System development experiment in Ada
Stars: ✭ 32 (-94.27%)
Mutual labels:  kernel, osdev, operating-system
georgios
Hobby Operating System
Stars: ✭ 19 (-96.59%)
Mutual labels:  kernel, osdev, operating-system
beeos
A simple "Unix-like" kernel trying to be POSIX compliant
Stars: ✭ 103 (-81.54%)
Mutual labels:  kernel, osdev, operating-system
Gramado
Gramado OS - 32bit operating system
Stars: ✭ 420 (-24.73%)
Mutual labels:  kernel, operating-system, osdev
RocketOS
RocketOS is a Unix based OS that uses legacy BIOS and GRUB and is written in C17. It is being developed for educational purposes primarily, but it still is a serious project. It is currently in its infancy.
Stars: ✭ 23 (-95.88%)
Mutual labels:  kernel, osdev, operating-system
Powernex
An operating system written in D
Stars: ✭ 460 (-17.56%)
Mutual labels:  kernel, operating-system, osdev
DentOS
Experimental Stand-alone 32-bit Kernel with Bootloader written in AT&T Assembly and Freestanding C
Stars: ✭ 32 (-94.27%)
Mutual labels:  kernel, osdev, operating-system

RustyHermit: libhermit-rs

Documentation License Slack Status

libhermit-rs is the kernel of the RustyHermit unikernel project.

Building the kernel

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

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

Standalone static library build

If this does not fit your needs and you want to build the kernel as static library to link afterwards, you need the following:

The Rust nightly toolchain (official webpage), the source code of the Rust runtime, and llvm-tools:

rustup toolchain install nightly
rustup component add rust-src llvm-tools-preview

You can then build libhermit-rs with the following command

cargo build -Z build-std=core,alloc,panic_abort --target x86_64-unknown-hermit-kernel

The resulting library then can be found in target/x86_64-unknown-hermit-kernel/debug/libhermit.a

Control the kernel messages verbosity

libhermit-rs 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 build -Z build-std=core,alloc,panic_abort --target x86_64-unknown-hermit-kernel

Credits

libhermit-rs 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.

libhermit-rs is being developed on GitHub. Create your own fork, send us a pull request, and chat with us on Slack

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].