Source Tree
在上一章中有列出Buildroot的第一層檔案結構,如下:
└── buildroot
├── arch
├── board
├── boot
├── Config.in
├── configs
├── docs
├── fs
├── linux
├── Makefile
├── package
├── support
├── system
└── toolchain
這一章會來探討一下這些資料夾或檔案的用途是什麼。
Makefile
最上層的Makefile,主要處理建制中的所有組態和協同順序(orchestration)等等。
Config.in
最上層的config.in,其中又包含了許多其他的config.in。
arch/
裡面包含了許多『Config.in.*』,裡面定義了每種架構的參數,像是處理器類型,ABI,浮點數等等。eg.
Config.in
Config.in.arm
Config.in.x86
Config.in.microblaze
toolchain/
裡面包含了建制toolchain所需要用到的套件,主要為三個資料夾,『toolchian/』會相依於『toolchain-buildroot/』和『toolchain-external/』其中之一,後面兩個資料夾就如其名,一個為使用內部的toolchain,另一個為使用外部的toolchain。
system/
這邊有兩個比較重要的元件,一個是『skeleton』,也就是目標板上面root filesystem的框架,另外一個則是『Config.in』,這個檔案裡面會定義許多目標板系統上會用到的像是『init』或『/dev』等等。
linux/
定義Linux kernel套件 -『linux.mk』。
package/
裡面包含了超過1800種的軟體套件。
fs/
這個資料夾裡面都是產生各種檔案系統映像檔的邏輯。
boot/
裡面包含了各種bootloader的套件。
configs/
包含了buildroot所支援的平台預設組態。
board/
各種硬體板子的相關檔案,會與def_configure組態檔配合。
support/
其他各種的軟體套件,與建制過程會用到。
docs/
buildroot裡面所有的文件,都是用AsciiDoc所撰寫的,想要產生所有的文件,必須要先安裝:
- asciidoc
http://asciidoc.org/INSTALL.html - w3m
sudo apt-get install w3m w3m-img
- xsltproc
sudo apt-get install xsltproc
都安裝好了以後,下指令:make manual
可以看到輸出格式有『HTML』,『PDF』,『txt』,『ePub』等格式,但是因為看得出來我的PDF沒有產生,因為這一版的xsltproc有bug,所以需要重新編譯,但是因為這文件不是重點,所以就先跳過了,有需要的人就請照指示去編譯摟~
如果要單獨建制獨立的文件:make manual-html
make manual-pdf
make manual-epub
make manual-text
make manual-split-html
當然,這種文件怎麼可能沒有線上板的,所以你懶的build的話,也可以直接到網頁上看: