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つの質問があります。
- 最後の呼び出しでエラーが発生しました。
Makefile:862:***最初にBuildrootを設定します(例: "make menuconfig")。止まる
- 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 <...>を渡す必要はありません。
答え2
まあ、私はそれがしたいことをする方法を見つけました。次の2行をマージする必要があります。
make defconfig BR2_DEFCONFIG=../myProc_kernel/configs/myProc_defconfig
make O=../MyProc_kernel
1行に分割する:
make defconfig BR2_DEFCONFIG=../myProc_kernel/configs/myProc_defconfig O=../MyProc_kernel
/MyProc/
その後、すべてがフォルダにコンパイルされ、そのフォルダでは何も実行されませんbuildroot-2018.02
。