about
Zinnia is a modular, general purpose hobby kernel for a wide range of devices.
It implements a big range of POSIX APIs in system calls, but also exposes common extensions found in Linux and BSDs, like epoll and timerfd. This allows it to run a somewhat modern desktop using Wayland and X11 sessions.
Most drivers are implemented as modules. These are ELF shared libraries which get loaded and linked during boot from an initrd, similar to Linux systems. Zinnia can boot from any UEFI based system thanks to the Limine bootloader.
I started this project in 2024 to learn more about systems programming, but over time it started gain more and more features. Today the kernel is able to boot on many real x86_64 machines. aarch64 and riscv64 support is planned, but not a priority at the moment. Fixes are always welcome!
blog posts
links
screenshots
Weston runninng in QEMU
XFCE runninng in QEMU
XFCE runninng on a ThinkPad E14 G7