Configure
Buildroot : 使用 out of tree defconfig
我正在使用 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
我這裡有兩個問題:
- 我在最後一次通話中遇到了錯誤:
Makefile:862: *** 請先配置 Buildroot(例如“make menuconfig”)。停止。
- 如果我查看在
.config
BR 文件夾中創建的文件,它似乎只使用了幾個參數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 在輸出目錄中生成了一個 Makefile 包裝器——所以在第一次執行之後,不再需要傳遞 O=<…> 和 -C <…>,