Buildroot構建指南 快速上手與實用技巧

2021-09-11 17:00:19 字數 1982 閱讀 4646

buildroot從零開始構建的過程還是很複雜的,以後的文章會一步步介紹。我們先來看看如何在現有專案中加入乙個自己的應用的構建方法,快速上手。實際上,快速新增應用包的方法,在官方**也有乙份英文文件:  詳細的原理可以參考這篇文件。

bool是變數的型別,即只要true(編譯選中,false(編譯未選中),兩種情況,和kconfig的規則是一樣的,後面的字串和help都是在make menuconfig時的提示文字。

$(eval $(generic-package))

這段makefile**大概有什麼規範呢:

g)     實際上,這些構建命名框架還有$(eval $(generic-package))這個黑魔法,都在package/pkg-generic.mk 這個檔案中,generic-package是這個檔案最後的呼叫的函式生成的,其它 _build_cmds,install_target_cmds這些函式如何被buildroot框架嵌入的, 之前那些變數是如何被呼叫的,在package/pkg-generic.mk中都能找到,但是還是要一定的makefile功底才能讀懂這個的,以後再解釋package/pkg-generic.mk的框架原理。

講了這麼多條規範,那麼這段makefile**大概是什麼意思呢?

在buildroot/下 makemenuconfig --> build options -->mirrors and download locations 可以看到以下的畫面:

figure5  設定file方法cp檔案的路徑

只有按照上面的格式,也就是file:// + 你的檔案絕對路徑的位址的格式配置這個選項,然後儲存,就ok,之後buildroot就知道去該路徑下找源**包了。

7.      構建方法

buildroot 一次make all要把整個系統編譯出來,真麻煩,我只想要乙個可以boot起來的最小系統,不需要什麼其它package,它有什麼快捷方式可以辦到嗎?這個當然問buildroot,我們可以這麼做。

make help 看看buildroot怎麼說

figure12 make help 之後的buildroot系統提示

以下是buildroot的help命令提示,其中有一項是

make  allnopackageconfig

在make ***_defconfig 之後,執行make allnopackageconfig,那麼再make all就可以只編toolchain,boot,kernel,busybox,rootfs這個幾個能構成系統啟動的最小系統的模組。

當然,在make mini2440_defconfig時,由於mini2440的toolchain是toolchain-buildroot,即buildroot從零開始製作工具鏈,而不是toolchain-external,即buildroot使用已經製作好的工具鏈,這樣的話,如果toolchain還沒有在前一次生成,則make allnopackageconfig 再make all之後編譯過程會報錯,因為製作零製作toolchain需要編譯某些package作為原材料,而這些package被make allnopackageconfig去掉了。

已經製作好工具鏈,或者採用toolchain-external模式的情況下,make allnopackageconfig 編譯最小系統是沒用問題的。

buildroot實用技巧與指令

最後看看buildroot有哪些實用技巧:

make help

-之前演示過了,列印出幫助選單

make show-targets

figure13  make show-targets 的顯示結果

make

make pkg-rebuild

-         重新編譯pkg

make  pkg-extract

make pkg-source

其它還有很多快捷指令,在package/pkg-generic.mk中都能找到,這些快捷指令實際是是由pkg-指令這種命名框架合成的,更詳細的內容請參考手冊和package/pkg-generic.mk。

Buildroot構建嵌入式系統

2 配置buildroot 將原始碼包複製到 opt目錄下,並解壓 2.1 進入target options 將target architecture配置為arm littlt endian 將target architecture variant配置為cortex a9,將target abi配置...

buildroot構建根檔案系統

參考文件 編譯器 gcc linaro arm linux gnueabihf 4.7 2013.04 20130415 linux,編譯器包在明遠資料盤 這裡將編譯器解壓到 my imx6 03 tools gcc linaro arm linux gnueabihf 4.7 2013.04 20...

版本構建指南

標籤 構建版本 維護 向每個開發人員確定 是否全部提交。賬戶 smoke 192.168.1.59 密碼 1 工作目錄 home extend smoke devcome itrans10 smoke idf master 59 itrans10 auto smoke.sh usage auto s...