2011年8月9日 星期二

編譯蘋果(APPLE)的開放源碼作業系統(Darwin XNU)

蘋果從它的作業系統OS X版本10開始,就把作業系統開放原碼了,
(或者說,它就取用BSD作業系統的原碼,利用開放原碼的力量,來leverage它的作業系統)
但至於要如何去編譯這份作業系統原始碼,若依照蘋果原廠開發者網站(developer.apple.com/mac)
找到的資訊(Building Your First Kernel http://developer.apple.com/library/mac/#documentation/Darwin/Conceptual/KernelProgramming/build/build.html )
應該不是很容易試出來,
所以後來找到一個比較自動化(懶人化)的方法:
1.在蘋果作業系統上先安裝macports http://www.macports.org
2.利用macports安裝darwinbuild http://darwinbuild.macosforge.org/
3.利用darwinbuild來下載,編譯指定的Mac OS X Kernel
其中會有一個比較不清楚的地方,就是通用的Mac OS X版本是像Lion, Leopard, Snow Lepard , 10.0.2~10.6.8之類的, 可是開放源碼的作業系統核心(Kernel)叫Darwin, 而要編譯的對象叫做 xnu
它的版本號又是另一個完全不同的編碼系統,幸好我在WIKI上找到了對照表!
例如Snow Leropard 10.6.6的作業系統是Build 10J567,名稱是Darwin 10.7
另外編譯環境需要事先裝XCODE,編譯的成功與否和XCODE的版本也有關係,
我在OSX 10.6.3上安裝原作業系統光碟附的XCODE,可以成功編譯Darwin 10.2, 10.3, 10.6
聽說在OSX 10.6.7上,也可以成功編譯10.6.6
但目前還沒有成功的編譯Darwin 10.8以及10.7過, 可能是某些darwinbuild參數的問題,尚不明.

2010年7月20日 星期二

認真看看Redboot!

為了IOP341,認真的看了Redboot及eCos,還真是不錯的東東!
順便再找回了之前屯積一旁的OOCD及OCDRemote...
Gnu Tools還真是不少啊!

2008年2月29日 星期五

2008.02.29

Google is GOOD!