編譯 OS X 10.6.3 AMD 核心懶人法與補丁教學
一 編譯AMD核心懶人法來源 http://shantonu.blogspot.tw/2009 ... e-xnu-has-been.html
編譯 10.6.3 XNU(核心源碼) 需要安裝 Xcode 3.2 版本 和額外的依賴項目
Xcode 本身沒有這些依賴項目 需另外安裝
到 https://developer.apple.com/xcode/ 註冊一個 developer 帳號 下載 Xcode 3.2 版本安裝(DVD有保留就不必下載了)
原始連結裡面是下載源碼編譯 但是 dtrace-78 需安裝Xcode 3.1.2才有辦法編譯
為方便起見 我將依賴項目都編譯好了 下載附件10.6.3-xnu-build-tools解壓縮安裝即可
10.6.3-xnu-build-tools/bootstrap_cmds-72.pkg
10.6.3-xnu-build-tools/cxxfilt-9.pkg
10.6.3-xnu-build-tools/dtrace-78.pkg
10.6.3-xnu-build-tools/kext_tools-177.1.pkg
附件的依賴項目 10.6.3版可用
OS X 每個XNU版本的依賴項目可能都不同 所以要編譯其他版本的XNU 依賴項目版本就要自己找了
在桌面上新增一個資料夾 例如命名為 kernel
打開終端機
cd Desktop/kernel
下載10.6.3 xnu 源碼
curl -O http://opensource.apple.com/tarballs/xnu/xnu-1504.3.12.tar.gz
解壓縮
tar zxf xnu-1504.3.12.tar.gz
然後下載附件patch.diff.zip 解壓縮放到桌面kernel資料夾內
確保跟源碼同目錄
http://i152.photobucket.com/albums/s198/l2j2007/140117-0001.png
源碼目錄名稱必須對應patch.diff 裡面的名稱
http://i152.photobucket.com/albums/s198/l2j2007/140117-0002.png
然後終端機輸入
cd Desktop/kernel
patch -p0 -i patch.diff
就自動幫你打補丁 修改源碼了
http://i152.photobucket.com/albums/s198/l2j2007/140117-0004.png
完後就可以開始編譯
終端機輸入
cd Desktop/kernel/xnu-1504.3.12
編譯32bit核心
make ARCH_CONFIGS="I386" KERNEL_CONFIGS="RELEASE"
編譯64bit核心
make ARCH_CONFIGS="X86_64" KERNEL_CONFIGS="RELEASE"
編譯完成後
32bit核心在 BUILD/obj/RELEASE_I386/mach_kernel
64bit核心在 BUILD/obj/RELEASE_X86_64/mach_kernel
二 製作xnu源碼補丁
例如把修改過的源碼放在桌面kernel目錄內
把未修改的源碼命名 xnu-1504.3.12.org 一樣放在跟修改過的源碼同位置
http://i152.photobucket.com/albums/s198/l2j2007/140117-0005.png
終端機指令範例
cd 源碼所在目錄
diff -uNr 未修改源碼目錄名稱 已修改源碼目錄名稱 >補丁文件.diff
打開終端機輸入
cd Desktop/kernel
diff -uNr xnu-1504.3.12.org xnu-1504.3.12 >patch.diff
完成後 kernel 目錄內就會多出一個 patch.diff (源碼補丁文件)
页:
[1]