For more information about the project, please visit the wiki, this readme is meant to give a quick overview of the project for developers and anyone interested.
The project is divided into multiple folders:
- src contains the main entry point of the kernel.
- rost-lib contains the standard library that will be available to all programs written for the OS.
- boot contains the settings for building the image with the bootloader, and QEMU settings.
- utils contains utility functions, constants and structures that could be used throughout the kernel.
- drivers contains drivers that add extended functionality that is not in the scope of the kernel core.
- kernel contains the core library and functionality.
- Rust using the nightly channel
- llvm-tools-preview (installed via
rustup component add llvm-tools-preview
) - QEMU
Rust should automatically switch to the nightly channel and install the llvm tools when it detects the rust-toolchain.toml
.
cargo krun
will build the kernel and start up a qemu instance booting the kernel in debug mode.
In terms of tests, we have no tests. (Yet!)
- If the build fails because of usage of unstable features, make sure that you have enabled the nightly channel using
rustup default nightly
orrustup upgrade