简洁地说我需要一个基础系统,因为它是基于macOS构建的Darwin似乎是合乎逻辑的选择,因为它需要最少的移植工作。我知道你可以从Apple下载到Darwin 8.0.1,完整的源代码树最高可达10.0,但v8太旧了,缺少许多标准的现代功能(即密码系统不限制root用户为10个字符,或支持区分大小写的HFS +版本)。我曾尝试使用darwinbuild
从源代码构建Darwin 9/10/11/12,但由于各种服务器端原因,它总是失败。
必须有一些方法来创建相当于vanilla Darwin 16的图像。也许拿一份现有的macOS副本并剥离掉所有封闭源代码的东西?构建Apple在Apple Open Source Repository提供的源代码,并替换操作系统所需的其余软件包,以使用另一个BSD发行版的源代码?获取FreeBSD的现有副本并用XNU
替换内核?必须有某种方式。欢迎任何关于我建议的想法或想法。感谢。
答案 0 :(得分:1)
最后xnu build instructions适用于El Capitan(达尔文15),但你可以跟随他们进入Sierra(达尔文16)。在撰写本文时可获得的最新资料来源为10.12.4,但并未过时。
这将为您提供大部分运送macOS的内核。它没有为您提供驱动程序堆栈 - 特别是SATA / AHCI堆栈不是开源的,这可能是一个问题。 (其中有一天我会出版我们的完整virtio驱动程序堆栈,包括virtio-blk和virtio-scsi驱动程序,你应该能够在Qemu / KVM中至少运行SATA而无法运行。)
我不知道如何获得有用的用户空间 - macOS / OSX使用launchd
作为其" init"过程,last published source code for that已有几年历史了。我不知道是否需要进行一些调整才能让它在更新的内核上工作。