Zinnia is a modular 64-bit Unix-like kernel developed with nearly 100% Rust code, avoiding unsafe programming practices where possible to enhance safety and stability [1, 2]. It started in 2024 primarily as a systems programming learning project [1, 2].
The kernel implements an extensive range of POSIX APIs in its system calls and supports Linux and BSD extensions, including epoll and timerfd, offering compatibility with popular Unix-like system features [1, 2]. Zinnia also supports modern graphical environments, running both Wayland and X11 sessions to provide a desktop experience [1, 2]. At least the Weston and Xfce desktops have been confirmed running on real hardware with this kernel [2].
Driver support in Zinnia is modular and implemented as Rust ELF dynamic library (dylib) modules. These drivers load and link during boot from an initial RAM disk (initrd), in a way similar to Linux’s approach [1, 2]. The kernel boots on any UEFI-based system, using the Limine bootloader to manage the startup process [1, 2].
Currently, Zinnia supports booting on many real x86_64 machines, though plans exist for aarch64 and riscv64 architecture support, this is not a priority at the moment [1]. The kernel’s source code is fully open source and accepts external fixes and contributions [1, 2].
The project’s next steps likely involve expanding hardware support and enhancing driver modules while maintaining its focus on safety through Rust's features. As of today, Zinnia remains a promising kernel for developers exploring modern systems programming in Rust.