Zinnia is a modular 64-bit Unix-like kernel written in Rust.
The kernel implements most POSIX interfaces, and some BSD/Linux extensions like epoll and timerfd. It also implements DRM and evdev drivers for rendering and input.
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/zinnia-os/bootstrap instead.
git clone https://github.com/zinnia-os/zinnia
git submodule update --init --recursiveTo compile 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.jsonFollow the debugging setup from https://github.com/zinnia-os/bootstrap
