こんにちは、
私は SolidRun i.MX8MP ボードを使用しています。デフォルトのイメージ(core-image-inimal-imx8mpsolidrun.wic.zst)がありますSD カードと eMMC の両方にフラッシュされます。ボードを eMMC ユーザー パーティション 1 (mmcblk2p1) から起動したいのですが、 mmcblk2boot0 から起動します。
補足事項
SD カードからの起動:
mmc 開発
パーティション #0 に切り替えます。OK
mmc1は現在のデバイスです
SD カードはユーザー パーティションから正しく起動します。
カーネルは imx8mp-hummingpulse.dtb をロードします
U-Boot で行ったカスタム変更 (ボード メッセージ、DTB の選択など) が反映されます。
eMMCからの起動:
mmc 開発
パーティション #0 に切り替えます。OK
mmc2(パート0)は現在のデバイスです
U-Boot は boot0 からロードされます。
デフォルトの DTB は imx8mp-hummingpulse.dtb ではなく imx8mp-cubox.dtb がロードされます。
U-Boot で行った変更がまったく反映されません。
eMMC情報:
mmc情報
ブート領域0: 4 MiB
ブート領域1: 4 MiB
ユーザーエリア: 29.1 GiB
ブート領域は書き込み保護されていません
U-Boot変数のみを設定しようとしましたが、機能しません
setenv mmcdev 2
setenv mmcpart 1
Uboot は引き続き boot0 からロードされます - ユーザー パーティションの変更は無視されます。
起動中に UART コンソールを使用して U-Boot を停止し、boot_targets を印刷します。出力は (mmc1 mmc2 usb pxe dhcp) です。setenv を使用して mmc2 mmc1 usb pxe dhcp に変更し、saveenv で保存します。新しいイメージを再フラッシュした後、boot_targetsを再度確認すると、mmc2 mmc1 usb pxe dhcpがまだ表示されているので、新しいイメージをフラッシュした後も変更が保持されます。
これにより、ROM は常に boot0 を実行し、ユーザー パーティションは実行されないことが確認されます。
eMMC パーティション (mmcblk2p1) から起動する方法はありますか?
よろしくお願いします。
こちらのリンクからお読みいただけます。
https://community.nxp.com/t5/forums/replypage/board-id/imx-processors/message-id/243934
eMMC についての理解が不足しています。
こちらのリンクからお読みいただけます。
https://community.nxp.com/t5/i-MX-Processors/Secondary-Boot-on-i-MX6ULL-Hangs-After-Reset/mp/2251161
eMMC についての理解が不足しています。
こんにちは@tusharvernekar
返信が遅くなり申し訳ありません。少し前に春節休暇を取っていましたが、今はオフィスに戻っています。そして私はその質問をよく理解できません。mmcblk2p1 は dtb ファイルとカーネル イメージを配置するために使用される FAT32 パーティションなので、ブートローダーをビルディングせずにこのパーティションに uboot を配置できるということですか?これは私にとってまったく新しいブートプロセスです。SD ブートの場合でもブート方法について詳細を確認して共有していただけますか。
BR