Android 16 1.4.0リリースに含まれていた最後のu-bootブートローダーを調べたところ、設定オプション「CONFIG_INCLUDE_DTB_TO_VENDOR_BOOT」がブートローダーに追加されていることがわかりました。
古いAndroidバージョンでは「dtbo」パーティションを使ってメインデバイスツリーを保存していたという問題が解決すると思っていました。私の理解ではそれは間違いでした。なぜなら、メインデバイスツリーは「vendor_boot」パーティション(少なくともvendor_boot v4では)に配置されるべきで、DTBOパーティションはデバイスツリーのオーバーレイで埋められ、それをメインデバイスツリーに適用してハードウェアバリアントをサポートするからです。
S32デバッグ・プローブのセットアップの詳細については、
https://source.android.com/docs/core/architecture/partitions/vendor-boot-partitions
文書化されているように、vendor_boot 内には 1 つのデバイス ツリーのみが存在する必要があります。
しかし現在、NXPは「dtbo」パーティションを廃止し、vendor_boot内の「dt_table_header」構造体を使用して、複数の完全なデバイスツリーをvendor_bootに直接追加する実装を行っています。このヘッダーは通常、「dtbo」パーティション内で複数のデバイスツリーオーバーレイを整理するために使用されますが、「vendor_boot」内では使用されません。
このNXP特有のデバイスツリー処理方法は、DTBOからのメインデバイスツリーとデバイスツリーオーバーレイを使った標準的なAndroid方法と矛盾しています。これにより、デバイスツリーオーバーレイの概念を使ってAndroidポートを維持するユーザー(私のような)にとっては難しいです。
NXPはなぜデバイスツリーのバリアントをそのような方法で実装することを選んだのでしょうか?
この挙動をAndroidで記録されているやり方に戻す予定はありますか?