13

私はいくつかのビルドを行うためにbitbakeを使ってOpenEmbedded環境を持っています。私はbitbakeが一時停止し、入力を求めてビルドを続けるところで "インタラクティブ"なものを得たいと思っていましたが、それは不可能であることがわかりました。コマンドライン変数をbitbakeビルドに渡すことはできますか?

私はそれを行うことができないので、ビルドのために余分なフラグを渡す方法を探しています。 gccの-Dオプションのようなbitbakeビルドにフラグを渡す方法はありますか?

すなわち:変数foobarに設定されますoe-myimageのビルドプロセス中にこのよう

bitbake -Dfoo=bar oe-myimage 

答えて

2

いいえ、私はそのような仕組みは存在しないと思います。しかし、あなたは何かをすることができる

​​

あなたの特定の問題を解決するかどうか分からない。また、ローカルサイト全体の変数のための仕組みがあります。ホームディレクトリに.oeというディレクトリの下に 'site.conf'ファイルがある場合、bitbakeはこれを読み込み、それらの変数をすべてのビルドのグローバル環境に適用します。多分それが助けになるだろうか?あなたはあなたが解決しようとしている問題を正確に特定していない、より良い方法があるかもしれません。

14
bitbake -Dfoo=bar oe-myimage 

-Dフラグがbitbakeによって認識されません。したがって、上記の方法を使用しても動作しません。代わりに、次のステップを使用してコマンドラインからフラグを指定することができます。 -

変数fooをエクスポートし、それがbitbakeによって認識されるとします。

export foo="foobar" 

あなたはこれをエクスポートして、OE-INIT-ビルド-ENVを調達した後、BB_ENV_EXTRAWHITE変数を経由してbitbake通知する必要があります。これは、これはbitbakeための変数「foo」をホワイトリスト

. oe-init-build-env 
export foo="foobar" 
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE foo"  

を意味し、したがって、ビルド時に任意のレシピやサブプロセスにそれが表示されるようになります。あなたのような表現を経由してbitbake内の変数fooを使用して、任意のbitbake操作を呼び出すことができます。この後

-

${foo} 
4

あなたが行うことができます。

export foo="bar" 
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE foo" 
bitbake oe-myimage 
3

を行いbitbake他の答えは何も問題はありませんが文書化されたhereのように--postread引数を受け入れます。つまり、いくつかの一時的な設定ファイルにできるだけ多くのビットビット変数を書き込んで、コマンドラインでファイルの名前を指定してbitbake.confの後に読み込むことができます。例:

bitbake --read=./extra.conf 

個人的には、これは環境変数を扱うよりも便利です。

関連する問題