4 分•作者: jonhermansen•大约 2 个月前
Darwin 内核 (XNU) 自 1999 年以来就已开源。但“开源”和“你可以实际构建并启动它”是截然不同的两件事。XNU 依赖于专有工具、内核扩展 (kexts) 以及大量未附带构建系统的开源项目。
Darnix 使用 Nix 构建整个系统。从内核、文件系统、启动镜像,一直到运行的 QEMU 实例。我们对 XNU 进行了修补,使其能够在没有内核扩展的情况下在 QEMU 上运行,将 HFS+ 从内核扩展移植到内核本身,修复了 GRUB 的 Mach-O 加载器,并将所有这些连接成一个 flake。构建过程完全沙盒化。无需 root 权限,无需挂载卷,无需设备访问,也无需网络。
更大的设想是复兴 PureDarwin (<a href="https://www.puredarwin.org/" rel="nofollow">https://www.puredarwin.org/</a>),这是一个基于苹果开源 Darwin 层的独立操作系统,由 Nix 管理内核之上的所有内容。有点像在 XNU 上运行的 NixOS,而不是 Linux。
目前,内核可以启动、挂载 ramdisk 并运行单个静态二进制文件。下一步是 shell。
(<a href="https://github.com/jonhermansen/darnix" rel="nofollow">https://github.com/jonhermansen/darnix</a>)
技术细节和完整的补丁列表在 README 中。我很乐意听到任何对这个领域感兴趣的人的反馈!
---
Darnix 与 Apple Inc. 无关,也未获得其认可。这不是 macOS。Apple、macOS 和相关商标是 Apple Inc. 的财产。Darwin 依据 APSL 协议授权。