Zinnia

June 28, 2026 ยท View on GitHub

Zinnia

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

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.

Building

Cloning the repository

git clone https://github.com/zinnia-os/zinnia
git submodule update --init --recursive

Compiling the kernel

To 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 -Zjson-target-spec --target toolchain/x86_64-kernel.json

Debugging

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