Configure

Buildroot : 使用 out of tree defconfig

  • July 10, 2019

我正在使用 tar 映像“buildroot-2018.02.tar.gz”為我的嵌入式系統生成 linux 映像(核心和 fs)。為了確保我需要重新創建項目的最低配置(稍後,在另一台電腦上……),我使用BR UM §8.5中定義的 BR 樹

我已經成功地正確配置了 BR 和 linux 核心,並且我已經創建了兩個配置文件: - myProc_defconfig - myProc_linux_defconfig

我正在嘗試為我的同事創建一個圖像,以便輕鬆地重新創建項目。現在,我有以下樹:

/                                   :   Git root
/README                             :   This very file
/make_buildroot_env.sh              :   Script to set up the development environment  
/myProc_kernel/                     :   Development environment prerequisite    
/myProc_kernel/configs/             :   Contains both BR & Linux configuration files
/myProc_kernel/fs_overlay/          :   Filesystem overlay, contains all applicative files
/myProc_kernel/tools/               :   Scripts and data used by BR
/myProc_kernel/tools/data           :   All data files used by scripts

想法是創建一個腳本,將 buildroot 解壓到不同的文件夾中(系統是根據定義的樹建構的)並使用 defconfig 文件對其進行配置。

腳本開始如下,從我上面定義的“Git root /”啟動:

make_buildroot_env.sh

tar -xaf ./MyProc_kernel/tools/data/buildroot-2018.02.tar.gz
cd buildroot-2018.02
make defconfig BR2_DEFCONFIG=../myProc_kernel/configs/myProc_defconfig
make O=../MyProc_kernel

我這裡有兩個問題:

  1. 我在最後一次通話中遇到了錯誤:

Makefile:862: *** 請先配置 Buildroot(例如“make menuconfig”)。停止。

  1. 如果我查看在.configBR 文件夾中創建的文件,它似乎只使用了幾個參數MyProc_defconfig

我的問題是:

  • 為什麼 BR 總是抱怨錯誤 1 ?應使用指向 defconfig 文件的行進行配置?
  • 我缺少什麼來重新創建我的開發環境?

正如您自己已經發現的那樣,您必須合併 2 行

make defconfig BR2_DEFCONFIG=../myProc_kernel/configs/myProc_defconfig
make O=../MyProc_kernel

進入

make defconfig BR2_DEFCONFIG=../myProc_kernel/configs/myProc_defconfig O=../MyProc_kernel 

為了回答額外的為什麼 qustion,“O=”為 make 命令創建一個包裝器,以使用 buildroot 安裝的主目錄來存放包,而您新創建的目錄則用於配置文件、建構和輸出。

包裝器需要到位,它可用於創建 defconfig。或者,您可以交換這兩行以首先創建包裝器,然後使用它來創建配置。

檢查Buildroot 手冊中的 8.5

為了方便使用,Buildroot 在輸出目錄中生成了一個 Makefile 包裝器——所以在第一次執行之後,不再需要傳遞 O=<…> 和 -C <…>,

引用自:https://unix.stackexchange.com/questions/439985