2

Openembedded (OE) を介してビルドを実行すると、再構築が非常に高速になる場合や、完全なビルドを実行している場合は非常に時間がかかる場合があります。各ステップが発生すると、コマンド ラインに次のようなステータス表示の一定の「フィード」があります。

NOTE: recipe xxxx: task do_fetch: Started
NOTE: recipe xxxx: task do_fetch: Succeeded

これは素晴らしいことですが、全体的な進捗状況を知ることができれば幸いです。ビルドに必要なコンポーネントの総数、またはまだ実行されていないタスクの総数を知る方法はありますか? 理想的には、ビルドをスクリプトでラップして、次のようなものを提供したいと思います。

task 35 of 210...

メッセージを入力して、完了感を与えます。


更新:
ドライランを実行するとどうやら:

bitbake -n <command name> > ~/somefile.txt

出力をキャプチャして、実行中の内容を多かれ少なかれ確認できます。

NOTE: Preparing runqueue 
NOTE: Executing SetScene Tasks 
NOTE: Executing RunQueue Tasks 
NOTE: Running task 217 of 314 (ID: 7, /home/mike/oe-head/.../foo.bb, do_compile) 
NOTE: Running task 309 of 314 (ID: 3, /home/mike/oe-head/.../foo.bb, do_install) 
...

これは正しい方向に進んでいますが、多くのタスク (0 ~ 216、218 ~ 308) をスキップするため、これらの中間タスクはどこで見つけることができ、314 の合計をどのように知るのでしょうか?

4

1 に答える 1

0

Yocto プロジェクトを使用していますが、イメージに何をインストールするかによって異なります。たとえば、「opencv」「gstreamer」「libeigen」をイメージ ファイルに追加すると、それらのライブラリと依存関係のみがインストールされます。Yocto には約 8000 のレシピがあります。各レシピとライブラリにはタスク番号 (id) があります。一部のレシピのみを実行すると、それらがインストールされ、他のレシピはスキップされます。すべてのレシピを追加すると、インストール、構成、または取得しているものの継続的な進行状況が表示されます。

次の画像では、Yocto が「opencv」をインストールしているため、関連するライブラリのみが表示され、他はスキップされます。

ここに画像の説明を入力

于 2013-10-29T09:42:03.543 に答える