
カスタムの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 **ライセンスの下でライセンスされています。