zinnia: 一个用Rust编写的模块化64位类Unix内核
摘要
Zinnia 是一个用Rust编写的模块化64位类Unix内核,旨在在UEFI系统上启动并运行带有Wayland或X11的现代桌面。它实现了POSIX API和常见的Linux/BSD扩展。
<p><a href="https://lobste.rs/s/0ichrt/zinnia_modular_64_bit_unix_like_kernel">评论</a></p>
查看缓存全文
缓存时间: 2026/06/15 00:47
# zinnia
来源:https://zinnia-os.org/
zinnia## 一个用 Rust 编写的模块化 64 位类 Unix 内核
### 关于
该内核几乎完全用 Rust 编写,并尽可能避免使用不安全代码。它在系统调用中实现了一系列 POSIX API,同时也暴露了 Linux 和 BSD 中的常见扩展,例如 epoll 和 timerfd。这使得它能够通过 Wayland 和 X11 会话运行较为现代的桌面环境。
大多数驱动程序以模块形式实现。这些是 Rust ELF 动态库,在启动时从 initrd 加载并链接,类似于 Linux 系统。借助 Limine 引导加载程序,Zinnia 可以从任何基于 UEFI 的系统启动。
我于 2024 年启动了这个项目,以学习更多系统编程知识,但随着时间的推移,它开始拥有越来越多的功能。如今,该内核已能在许多真实的 x86_64 机器上启动。aarch64 和 riscv64 的支持已在计划中,但目前并非优先事项。欢迎提交修复!
## 链接
zinnia (https://github.com/zinnia-os/zinnia) \- 点个星吧 :D
## 截图
Weston 在 QEMU 中运行
zinnia qemu 中运行 westonXFCE 在 QEMU 中运行
zinnia qemu 中运行 xfceXFCE 在 ThinkPad E14 G7 上运行
zinnia 在真机上运行
相似文章
Zerostack – 一个受Unix启发的纯Rust编写的编码助手
Zerostack 是一个完全用 Rust 构建的受 Unix 启发的编码助手,旨在帮助开发人员进行代码生成和自动化。
宣布推出Rust版Zstandard
Trifecta Tech Foundation 宣布首次发布 libzstd-rs-sys,这是一个纯 Rust 实现的 Zstandard 压缩格式,可作为 C 参考实现的直接替代品,在轻微性能损失下提供更好的可移植性和内存安全性。
Lanzaboote – NixOS 安全启动
本文介绍了 Lanzaboote,这是一个用 Rust 编写的 UEFI UKI 存根,可为 NixOS 提供安全启动支持。它将签名检查推迟到 UEFI 阶段执行,同时保持内核和 initrd 与 UKI 二进制文件分离,从而解决了 NixOS 特有的启动挑战。
yserver: 一个用Rust从头编写的现代X11服务器
yserver是一个用Rust从头编写的现代X11服务器,能够运行MATE、XFCE和Cinnamon等完整的桌面环境,同时去掉了遗留的负担。它支持多种X扩展,并已在多种硬件上测试过。
Bun 的 Rust 重写已合并
Bun,JavaScript 运行时和包管理器,已合并其核心从 Zig 到 Rust 的重写,可能提升性能和可维护性。