XNU内核编译

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XNU内核编译相关的知识,希望对你有一定的参考价值。

因为我用以前版本死活都没有成功,更新系统,重新安装xcode终于成功了。
系统版本
技术分享图片
xcode版本
技术分享图片
编译版本
技术分享图片
注意点是XNU要依赖几个工具先得编译那个几个工具。编译工具时会报头文件找不到的问题。(应该这些工具是水果从大项目里抽出来的应该不是一个单独的项目)
解决方案有:
1.当前目录有的把〈〉修改成""。
2.当前目录没有的去那5个目录里找(xnu 还有那4个要编译的工具)
3.看源码后面的注释,因为有的头文件有好多地方有,源码中注释会写上它上层目录名的。
技术分享图片
同时编译libdispatch时会去xcode里找另外俩个文件
BSD.xcconfig

https://opensource.apple.com/source/CoreOSMakefiles/CoreOSMakefiles-77/Xcode/BSD.xcconfig.auto.html
和PlatformSupport.xcconfig 在开源网有找我这里下载下来了直接放到相应目录:
https://github.com/haidragon/XnuBuildFiles

技术分享图片
技术分享图片
编译内核时有个工具库没有拷贝到相应的目录下手动拷贝
技术分享图片
最后效果是:
技术分享图片
如果还是报各种找不到工具建议 用ports安装那个dtrace 然后删除重新来:
https://www.macports.org/install.php
https://stackoverflow.com/questions/16388028/always-have-much-xcrun-error-in-xnu-installingosx-10-8-3
其它全部按这个博客就行了:
https://0xcc.re/building-xnu-kernel-macosx-sierrra-10-12-x/
相关地址
https://developer.apple.com/download/more/
https://opensource.apple.com/

以上是关于XNU内核编译的主要内容,如果未能解决你的问题,请参考以下文章

在 XNU 内核上找到某个函数的指针的最佳方法是啥?

谁能够详细介绍下MAC系统的内核

驱动编译进内核和编译模块的区别

Linux 内核编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )

如何编译一个内核

Linux内核源码如何编译