buildroot是Linux平臺上一個構建嵌入式Linux系統的框架。整個Buildroot是由Makefile腳本和Kconfig配置文件構成的。你可以和編譯Linux內核一樣,通過buildroot menuconfig配置,編譯出一個完整的可以直接燒寫到機器上運行的Linux系統軟件(包含boot、kernel、rootfs以及rootfs中的各種庫和應用程序)。
manual: https://buildroot.org/downloads/manual/manual.html
目錄:
.
├── arch: 存放CPU架構相關的配置腳本,如arm/mips/x86,這些CPU相關的配置,在製作工具鏈時,編譯uboot和kernel時很關鍵.
├── board
├── boot
├── CHANGES
├── Config.in
├── Config.in.legacy
├── configs: 放置開發板的一些配置參數.
├── COPYING
├── DEVELOPERS
├── dl: 存放下載的源代碼及應用軟件的壓縮包.
├── docs: 存放相關的參考文檔.
├── fs: 放各種文件系統的源代碼.
├── linux: 存放着Linux kernel的自動構建腳本.
├── Makefile
├── Makefile.legacy
├── output: 是編譯出來的輸出文件夾.
│ ├── build: 存放解壓後的各種軟件包編譯完成後的現場.
│ ├── host: 存放着製作好的編譯工具鏈,如gcc、arm-linux-gcc等工具.
│ ├── images: 存放着編譯好的uboot.bin, zImage, rootfs等鏡像文件,可燒寫到板子裏, 讓linux系統跑起來.
│ ├── staging
│ └── target: 用來製作rootfs文件系統,裏面放着Linux系統基本的目錄結構,以及編譯好的應用庫和bin可執行文件. (buildroot根據用戶配置把.ko .so .bin文件安裝到對應的目錄下去,根據用戶的配置安裝指定位置)
├── package:下面放着應用軟件的配置文件,每個應用軟件的配置文件有Config.in和soft_name.mk。
├── README
├── support
├── system
└── toolchain
配置界面:
執行:make menuconfig
下一篇介紹:基於buildroot編譯rootfs