組み込みソフトウェア - Yoctoレシピの依存関係 コンピュータのスクリーンショット

Yoctoレシピの依存関係

レシピ変数間の依存関係を取得する方法

カスタムのmeta-layerでレシピ変数のオーバーライドを作成して、何も起きなかったことはありませんか?ご自身を疑わず、使用されているmeta-layerの優先順位を確認してください。###例

Raspberry Pi 4用のYocto Linuxディストリビューションを構築し、psplashレシピの背景画像を変更します。そのためには、カスタムmeta-layer 'meta-interelectronix'に'psplash'フォルダーを作って、'psplash_%.bbappend'ファイルを追加して、'SPLASH_IMAGES'の変数をオーバーライドします。<:code 1:>

'bblayers.conf'に'meta-interelectronix'を追加した後、Linuxディストリビューションをビットベイクし、SDカードに書き込んでRaspberry Pi 4を起動します。しかし、スプラッシュスクリーンのカスタム背景画像は使用されませんでした。なぜですか?###この動作の原因は何ですか?「エラー」を探して、meta-layerの優先変数を見てみましょう。meta-layerには、Linuxディストリビューションをビットベイキングするときにmeta-layerが使用されるランクを定義する優先度の変数があります。変数はファイル'meta-interelectronix/conf/layer.conf'で設定されます。

BBFILE_PRIORITY_meta-interelectronix = "6"

この場合、'meta-interelectronix'の優先度は'6'に設定され、'meta-raspberrypi'の優先度は'9'に設定されました。優先度が高いほど、bitbakeに適用されるbbappendファイルの変数が後になります。'meta-raspberrypi'も'psplash_%.bbappend'ファイルであるように、このファイルの変数は'meta - interelectronix'レイヤーのオーバーライドをオーバーライドしますが、何も変わりません。

注記

カスタムのmeta-layerの優先順位を50などの高い数値に変更して、後にすべての無縁のmeta-layersのオーバーライドとして適用します。

###変数のランキングを簡単に取得するにはどうすればよいですか?すべてのmeta-layerで変数のランキングを取得する簡単なコマンドがあります。

bitbake-getvar -r recipe VARIABLE

この場合、コマンドは次のとおりです。

bitbake-getvar -r psplash SPLASH_IMAGES

'meta-interelectronix'レイヤーの優先度を'50'に変更した結果は次のようになります。

bitbake-getvar -r psplash SPLASH_IMAGES

$SPLASH_IMAGES [4 operations]

set /workdir/poky-kirkstone/meta/recipes-core/psplash/psplash_git.bb:19

"file://psplash-poky-img.h;outsuffix=default"

set /workdir/poky-kirkstone/meta-interelectronix/recipes-core/psplash/psplash_%.bbappend:10

"file://psplash-ixlogo-white-img.h;outsuffix=interelectronix"

override[rpi]:set /workdir/poky-kirkstone/meta-raspberrypi/recipes-core/psplash/psplash_%.bbappend:2

"file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"

override[rpi]:set /workdir/poky-kirkstone/meta-interelectronix/recipes-core/psplash/psplash_%.bbappend:9

"file://psplash-ixlogo-white-img.h;outsuffix=raspberrypi"

pre-expansion value:

"file://psplash-ixlogo-white-img.h;outsuffix=raspberrypi"

SPLASH_IMAGES="file://psplash-ixlogo-white-img.h;outsuffix=raspberrypi"

使用したレイヤーの優先度を次のコマンドで表示することもできます。

bitbake-layers show-layers

著作権ライセンス

** Copyright © 2022 Interelectronix e.K.** このプロジェクトのソースコードは、** GPL-3.0 **ライセンスの下でライセンスされています。