Skip to content

menix-os/menix

Repository files navigation

GitHub License GitHub Repo stars GitHub Actions Workflow Status GitHub Issues or Pull Requests

About Menix

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.

Getting started

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.

Cloning the repository

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

Building the kernel

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

Debugging

Follow the debugging setup from https://github.com/menix-os/bootstrap

Contributing

Contributions are always welcome! Please read the contributing guide first. Then open an issue or pull request and submit your changes!

About

Modular 64-bit kernel written in Rust

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •