1

简而言之,我需要一个系统基础,因为它是基于 macOS Darwin 构建的,这似乎是合乎逻辑的选择,因为它需要最少的移植工作。我知道你可以从 Apple 下载 Darwin 8.0.1,完整的源代码树最多可用于 10.0,但是 v8 太旧并且缺乏许多标准的现代功能(即不限制 root 用户的密码系统最多 10 个字符,或支持区分大小写的 HFS+ 版本)。我尝试使用从源代码构建 Darwin 9/10/11/12 darwinbuild,但由于各种服务器端原因,它总是失败。

必须有某种方法来创建相当于普通的 Darwin 16 图像。也许拿一个现有的 macOS 副本并剥离所有封闭源代码的东西?构建 Apple 在Apple Open Source Repository提供的源代码,并将操作系统所需的其余软件包替换为另一个 BSD 发行版的源代码?获取 FreeBSD 的现有副本并将内核替换为XNU? 必须有某种方式。欢迎对我提出的想法提出任何想法或想法。谢谢。

4

1 回答 1

1

最后的xnu 构建说明适用于 El Capitan (Darwin 15),但您可能可以按照它们的 Sierra (Darwin 16)。在撰写本文时可用的最新资源是 10.12.4,它并不过时。

这为您提供了发布 macOS 的大部分内核。它不会为您提供驱动程序堆栈——尤其是 SATA/AHCI 堆栈不是开源的,这可能是一个问题。(其中一天我会发布我们完整的 virtio 驱动程序堆栈,包括 virtio-blk 和 virtio-scsi 驱动程序,至少在 Qemu/KVM 中你应该能够在没有 SATA 的情况下运行。)

我不知道如何获得一个有用的用户空间——macOS/OSX 使用launchd它作为它的“init”进程,而最后发布的源代码已经有几年了。我不知道它是否需要一些调整才能让它在较新的内核上工作。

于 2017-07-09T12:57:18.820 回答