简而言之,我的系统需要一个基础,因为它是建立在macOS上的,达尔文似乎是合理的选择,因为它需要最少的移植工作。我知道你可以从苹果下载到Darwin8.0.1,完整的源代码树可以下载到10.0,但是v8太旧了,并且缺乏许多标准的现代功能(例如,一个不限制根用户在10个字符以内的密码系统,或者支持区分大小写的HFS+版本)。我曾尝试使用darwinbuild从源代码构建Darwin9/10/11/12,但由于各种服务器端原因,它总是失败。
必须有某种方法来创建等同于普通的达尔文16图像。也许可以复制一份现有的macOS,然后去掉所有的闭源代码?构建苹果在Apple Open Source Repository提供的源代码,并将操作系统运行所需的其余软件包替换为来自另一个BSD发行版的源代码?使用现有的FreeBSD副本并用XNU替换内核?一定有办法的。欢迎对我建议的想法有任何想法或想法。谢谢。
发布于 2017-07-09 20:57:19
最后一个xnu build instructions是为El Capitan (达尔文第15章)提供的,但您也许可以在塞拉(达尔文第16章)遵循它们。在撰写本文时,可用的最新源码是10.12.4,它还没有完全过时。
这让您了解了发布macOS的大部分内核。它不会让你得到驱动程序堆栈--特别是SATA/AHCI堆栈不是开源的,这可能是一个问题。(总有一天我会发布完整的virtio驱动程序栈,包括virtio-blk和virtio-scsi驱动程序,您至少应该能够在Qemu/KVM中没有SATA的情况下运行它们。)
我不知道如何建立一个有用的用户空间-- macOS/OSX使用launchd作为它的“初始化”进程,而last published source code for that已经有几年的历史了。我不知道它是否需要一些调整来让它在更新的内核上工作。
https://stackoverflow.com/questions/44939372
复制相似问题