imx95 android 15コードをダウンロードし、イメージを正常にビルドしてuuu_imx_android_flash.shでフラッシュしました。デフォルトで avb をサポートしており、フラッシュ プロセスは成功し、ブートローダは正常に動作しますが、boot_jump_linux 関数 armv8_switch_to_el2 を実行すると、ブロックされます。これらの vendor_boot.img と vbmeta-imx95.img を公式にビルドされた img に置き換えてみたところ、うまくいきました。そして、vendor_boot.img を単独で置き換え、uboot でパッケージ チェックを閉じると、カーネルも起動できるSO、ブロックの原因は私が構築した vendor_boot イメージであることがわかりました。vendor_boot イメージを解凍して、公式のものでコンパイルしてみましたが、bootconfig と dtb の違いは見つかりませんでした。
なぜ vendor_boot がカーネル実行問題を解決できないのか疑問に思います。私は vendor_boot のソースを変更していません。ブートローダと DDR タイミングのみを変更した場合、起動の問題の根本原因を見つけるにはどうすればよいですか。
テストのためにこれらのイメージを置き換えようとしましたが、ブートローダーとspl /uboot init_boot vendor_boot vbmeta super dtboとパーティションテーブルが置き換えられ、最後にvendor_bootを置き換える必要があることが判明し、起動できるようになりました。つまり、カーネルの起動時にブロックされなくなり、カーネルの起動メッセージ「物理 CPU で Linux を起動しています...」が出力されます。