This service is available only in Japanese-language.

extlinux.confへの追記方法について

extlinux.confを用いて,uImageやデバイスツリーが破損した時の対策を実装しようとしています。
具体的にはuImageとデバイスツリーのバックアップファイルを予めbootfsに格納しておき,extlinux.confにラベル等を追記しておくことで実現しようとしています。
使用しているOSはOpenSTLinuxです。

st-machine-extlinux-config-stm32mp.incを編集すればよいかと考えているのですが,extlinux.confにラベルを追記する方法が不明です。

以下のように記載することで,別のファイルとしてabc_extlinux.confは生成できたのですが,
これでは目的を満たせないと思われるため,extlinux.confへの追記を行いたいです。

・st-machine-extlinux-config-stm32mp.incへの追記内容
UBOOT_EXTLINUX_TARGETS_EXTRA_CONFIG_target-nand += "abc"
UBOOT_EXTLINUX_TARGETS_EXTRA_CONFIG[abc] += "abc-examples"

・生成されたに種類のファイルの内容
# cat /boot/nand0_extlinux/abc_extlinux.conf
# Generic Distro Configuration file generated by OpenEmbedded
menu title Select the boot mode
TIMEOUT 20
DEFAULT OpenSTLinux
LABEL OpenSTLinux
KERNEL /uImage
FDTDIR /
APPEND ubi.mtd=UBI rootfstype=ubifs root=ubi0:rootfs rootwait rw console=ttySTM0,115200
KERNEL /uImage
FDTDIR /
APPEND ubi.mtd=UBI rootfstype=ubifs root=ubi0:rootfs rootwait rw console=ttySTM0,115200

# cat /boot/nand0_extlinux/extlinux.conf
# Generic Distro Configuration file generated by OpenEmbedded
TIMEOUT 20
LABEL OpenSTLinux
KERNEL /uImage
FDTDIR /
APPEND ubi.mtd=UBI rootfstype=ubifs root=ubi0:rootfs rootwait rw console=ttySTM0,115200

また,以下の追記も試行しましたが,abc_extlinux.confにはLabel=backup...が追記されるものの,extlinux.confに変化はございませんでした。
UBOOT_EXTLINUX_LABELS_target-nand += "backup"

上記,なにか良い解決策はございますでしょうか。
よろしければご教示いただけますと幸いです。

UBOOT_EXTLINUX_LABELS_target-nand += "backup"で正しくLabel以下がextlinux.confにも追加されていました。
おそらく前回のビルド結果や中間ファイルが何かしら残っていたのかと思われます。

u-boot-stm32mp-extlinux.bb の処理内容を確認しますと、inherit されている extlinuxconf-stm32mp.bbclass
内で、do_compileタスク実行前に追加されたcreate_multiextlinux_config() タスクで、コンフィグレーションファイル _extlinux.conf が生成されています。

環境変数の変更が行われた場合は、create_multiextlinux_config()タスクは実行されるのですが、do_install()処理で以前生成したファイル及びディレクトリの削除処理が入っていないため、do_install()実行時に、以前生成したファイルが残ってしまっています。

OpenSTLinuxの場合、配布状態ではRM_WORKが有効になっているため以前実行したtmp/work/xxxx 以下のファイルは削除されるため環境変数が変更された場合は、新規のファイルが生成されますがRM_WORKを無効化したために発覚したレシピのバグと考えます。

cleanの必要がありそうな点、承知いたしました。
extlinux周りの環境変数を操作しましたら、bitbake u-boot-stm32mp-extlinux -c cleanを実行するようにいたします。
ありがとうございました。