Coreboot (LinuxBIOS) 研究報告
簡介: Coreboot前身為LinuxBIOS,目的是要提供一個基於Linux廣大Open Source來開發的BIOS Project,可以提供更快、更穩定、更透明也更好除錯跟維護的免費BIOS,不只能用來啟動Linux,也能啟動本機磁碟的、Windows、FreeBSD或者PXE遠端開機,這也是更名Coreboot的原因,免得大家誤解說它只能拿來開Linux 相關連結: 專案首頁: Coreboot 支援的 主機板 跟 晶片組 討論區: Coreboot Maillist 研發進度: 目前出到V2版本,官網有提到V3版本,不過就像是Linux的偶數版本跟奇數版本,V3算是beta實驗版本,新開發的功能都會移植回V2,所以抓V2回來用就好 Build System 基本背景介紹完之後,開始說點技術性的東東,要Build出一個BIOS Binary有三種方法,abuild(用於自動驗證系統)、target-build(建議使用)跟make-build(利用Kernel的Kconfig技術,但是問題很多) abuild:(util/abuild) abuild不加參數就會把全部主機板設定都build一次,一個型號大概要一分鐘,全部build完大概要一個多小時吧!這就是用來當作上傳程式碼之前的驗證動作,確定新的更動不會影響其他板子 ./abuild -t intel/d945gclf 加上 -t 參數表示指定要build的目標,本例是編譯intel的d945gclf,是採用Atom跟945的組合 target-build:(target) ./buildtarget intel/d945gclf 這邊一定要指定build目標,本例一樣選擇intel的d945gclf make-build: make config 或 make menuconfig 或 make xconfig 然後make 這邊的操作比較直覺,就像編kernel一樣,只是Makefile編寫尚未完備,很多板子都不能順利build出來 深入頗析target-build Coreboot的設計團隊應用python跟yapps 2.0打造出一個全動態、分散式、自動化的build tree generater 透過在各地分散的config.