close

Apple 官方 OS X 的核心原始碼(XNU)
http://opensource.apple.com/tarballs/xnu

10.9 Mavericks 版本是 xnu-2422.1.72.tar.gz

編譯 XNU 需要安裝 Xcode (在 Mavericks 系統安裝 Xcode 5.0.1 以上版本)和額外的依賴項目
Xcode 本身沒有這些依賴項目 需另外安裝

到 https://developer.apple.com/xcode/ 註冊一個 developer 帳號 下載 Xcode 5.0.1 以上的版本 打開dmg然後點 xcode 安裝

Xcode 可以不必複製到 /Applications

編譯過程 不要退出Xcode的dmg

全過程在終端機完成.....

下載必須的依賴項目 DTrace 和 AvailabilityVersions

  1. curl -O http://opensource.apple.com/tarballs/dtrace/dtrace-118.tar.gz
  2. curl -O http://opensource.apple.com/tarballs/AvailabilityVersions/AvailabilityVersions-6.tar.gz

從 dtrace 編譯與安裝 CTF 工具
解壓縮

  1. tar zxf dtrace-118.tar.gz

進到 dtrace 資料夾

  1. cd dtrace-118

編譯

  1. mkdir -p obj sym dst
  2. xcodebuild install -target ctfconvert -target ctfdump -target ctfmerge ARCHS="x86_64" SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst

複製編譯完成的文件到定位(/usr/local)

  1. sudo ditto $PWD/dst/usr/local /usr/local

輸入使用者密碼

返回 Home 目錄

  1. cd ..

安裝 AvailabilityVersions
解壓縮

  1. tar zxf AvailabilityVersions-6.tar.gz

進到 AvailabilityVersions 資料夾

  1. cd AvailabilityVersions-6

編譯

  1. mkdir -p dst
  2. make install SRCROOT=$PWD DSTROOT=$PWD/dst

複製編譯完成的文件到定位(/usr/local)

  1. sudo ditto $PWD/dst/usr/local /usr/local

返回 Home 目錄

  1. cd ..

依賴項目安裝後就可以編譯核心原始碼(XNU)了 

下載原版 Mavericks XNU Open Source

  1. curl -O http://opensource.apple.com/tarballs/xnu/xnu-2422.1.72.tar.gz

編譯 Mavericks XNU
解壓縮

  1. tar zxf xnu-2422.1.72.tar.gz

進到 xnu 資料夾

  1. cd xnu-2422.1.72

編譯

  1. make ARCH_CONFIGS=X86_64 KERNEL_CONFIGS=RELEASE

完成後在Home裡面打開 /xnu-2422.1.72/BUILD/obj/RELEASE_X86_64
就會看到辛苦的結晶 mach_kernel  

 

*每個 xnu 版本的 依賴項目可能版本會不同 所以編譯前都必須上 http://opensource.apple.com 確認一下

10.9 - 10.9.2 xnu 目前確定 xcode_5.0.2 版可以編譯

如果電腦上有兩個不同版本的 Xcode 要替換版本編譯 可以使用 xcode-select -switch 指令更改路徑

範例 : sudo xcode-select -switch "Xcode 路徑"

 

arrow
arrow
    全站熱搜

    虎千代 發表在 痞客邦 留言(0) 人氣()