Buildroot: ツリー外の defconfig の使用

Buildroot: ツリー外の defconfig の使用

tar画像を使用しています「buildroot-2018.02.tar.gz」私の組み込みシステム用のLinuxイメージ(カーネルとファイルシステム)を作成します。プロジェクトの最小構成を再作成する必要があるかどうかを確認するために(後で別のコンピュータで...)作業します。BRツリーから次のように定義ブラム§8.5

BRとLinuxカーネルを正しく設定し、2つの設定ファイルを作成しました。 - 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

アイデアは、別のフォルダにビルドルート(システムは定義されたツリーで構築されています)を解凍し、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

ここに2つの質問があります。

  1. 最後の呼び出しでエラーが発生しました。

Makefile:862:***最初にBuildrootを設定します(例: "make menuconfig")。止まる

  1. BRフォルダに生成されたファイルを見ると、.configパラメータがほとんどないようです。MyProc_defconfig

私の質問は次のとおりです

  • BRはなぜ常にエラー1について文句を言うのですか? defconfigファイルを指す行を使用して設定を実行する必要がありますか?

  • 開発環境を再構築するときに何が失われましたか?

ベストアンサー1

すでに見つけたように、これら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 

追加の「理由」の質問に答えるために、「O =」はmakeコマンドのラッパーを生成し、ビルドルートインストールのホームディレクトリを使用してパッケージを保存し、新しく作成されたディレクトリを設定ファイル、ビルド、および出力を保存します。使用します。

defconfigの生成に使用できるように、ラッパーは適切な場所にある必要があります。または、これらの2行を置き換えて最初にラッパーを作成し、それを使用して構成を作成することもできます。

8.5を確認してください。ルートマニュアルビルド

使いやすくするために、Buildrootは出力ディレクトリにMakefileラッパーを作成します。したがって、最初の実行後にO = <...>と-C <...>を渡す必要はありません。

おすすめ記事