Menix is a modular 64-bit kernel written in Rust.
Its goal is to provide a familiar POSIX/Linux-like user interface, with an easy to follow code structure and an emphasis on stable operation.
Important
Please note that this project is a work in progress and some parts may not work yet at all.
Note
This repository contains only the kernel and drivers. If you want to get a bootable image, you might want to check out https://github.com/menix-os/bootstrap instead.
Menix has external submodules as dependencies, to initialize them either run:
git clone https://github.com/menix-os/menix --recurse-submodules
or if you've already cloned the repository:
git submodule update --init --recursive
To build the kernel you will need:
- cargo
- rustc
- clang (Used for bindgen)
- lld
Make sure you have a full nightly toolchain installed,
including the rust-src
component.
The following commmand will build the kernel and all drivers for x86_64:
cargo +nightly build --release --target toolchain/x86_64-kernel.json
Follow the debugging setup from https://github.com/menix-os/bootstrap
Contributions are always welcome! Please read the contributing guide first. Then open an issue or pull request and submit your changes!