Ada*_*M-W 4 macos kernel osx-mountain-lion
我对编译最新版本的XNU内核的最佳方法感到困惑.我已经看到很多关于Mac OS X 10.4附带的旧内核的说明,但是较新的源代码缺少指令所包含的许多内容.只是make在XNU内核源上运行会带来很多关于找不到的错误ctfconvert,ctfmerge并且ctfdump.有没有人有一个很好的"howto"来构建一个新的内核?
小智 6
Wiley的新书详细介绍了第9章中的全套操作方法.
试试这个:
#
# Getting C++ filter
#
$ curl http://opensource.apple.com/tarballs/cxxfilt/cxxfilt-9.tar.gz > cxx.tar.gz
$ tar xvf cxx.tar.gz
$ cd cxxfilt-9
$ mkdir -p build obj sym
$ make install RC_ARCHS="i386 x86_64" RC_CFLAGS="-arch i386 -arch x86_64 -pipe" \
RC_OS=macos RC_RELEASE=Lion SRCROOT=$PWD OBJROOT=$PWD/obj \ SYMROOT=$PWD/sym DSTROOT=$PWD/build
#
# Getting DTrace – This is required for ctfconvert, a kernel build tool
#
$ curl http://opensource.apple.com/tarballs/dtrace/dtrace-90.tar.gz > dt.tar.gz
$ tar zxvf dt.tar.gz
$ cd dtrace-90
$ mkdir -p obj sym dst
$ xcodebuild install -target ctfconvert -target ctfdump -target ctfmerge \ ARCHS="i386 x86_64" SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym \ DSTROOT=$PWD/dst
#
# Getting Kext Tools
#
$ wget http://opensource.apple.com/tarballs/Kext_tools/Kext_tools-180.2.1.tar.gz \ > kt.tar.gz
$ tar xvf kt.tar.gz
$ cd Kext_tools-180.2.1
$ mkdir -p obj sym dst
$ xcodebuild install -target Kextsymboltool -target setsegname \ ARCHS="i386 x86_64" SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym \
DSTROOT=$PWD/dst
#
# Getting Bootstrap commands – newer versions are available, but would # force xcodebuild
#
$ curl http://opensource.apple.com/tarballs/bootstrap_cmds/bootstrap_cmds-72.tar.gz \ > bc.tar.gz
$ tar zxvf bc.tar.gz
$ cd bootstrap_cmds-84
$ mkdir -p obj sym dst
$ make install RC_ARCHS="i386" RC_CFLAGS="-arch i386 -pipe" RC_OS=macos \
RC_RELEASE=Lion SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst
Run Code Online (Sandbox Code Playgroud)
tar球版本现在不同(例如DTrace是96,而不是90),但这应该可以满足依赖性.一旦你拥有它们,你就可以运行通常的make(make ARCH_CONFIGS=" X86_64" KERNEL_CONFIGS="RELEASE").您可能希望添加DEBUG,以获得默认情况下禁用的出色调试和跟踪消息.
这适用于XCode 4.4.实际上,现在就试试吧.
| 归档时间: |
|
| 查看次数: |
3584 次 |
| 最近记录: |