Hi!
imx8mm で fw_printenv/setenv を使用するにはどうすればよいですか?
【Conditions】
・ハードウェア:IMX8mm(カスタムボード上)
・bsp: imx 6.1.55-2.2.0
・ベースイメージ:core-image-minimal
・IMAGE_INSTALL += 「u-boot-fw-utils」
・マシン = 「IMX8MM-LPDDR4-EVK」
・ブーツストレージ:eMMC
【log】
root@XXX:~# fw_printenv
設定ファイルが間違っているか壊れています
root@XXX:~# strace fw_printenv
(省略)
openat(AT_FDCWD, "/etc/fw_env.config",O_RDONLY) = -1 ENOENT (そのようなファイルまたはディレクトリはありません)
write(2, "設定ファイルが間違っているか、または問題があります"..., 38設定ファイルが間違っているか壊れています
) = 38
exit_group(-9) = ?
+++ は 247 で終了しました +++
root@XXX:~# fdisk -l
ディスク /dev/mmcblk2: 7456 MB、7818182656 バイト、15269888 セクタ
119296気筒、4ヘッド、32セクタ/トラック
単位: 1 * 512 = 512 バイトのセクター
デバイスブート開始CHS EndCHS StartLBA EndLBA セクターサイズ ID タイプ
/dev/mmcblk2p1 * 128,0,1 1023,3,32 16384 186775 170392 83.1M c Win95 FAT32 (LBA)
/dev/mmcblk2p2 1023,3,32 1023,3,32 196608 1596821 1400214 683M 83 Linux
/dev/mmcblk2p3 1023,3,32 1023,3,32 1605632 2968779 1363148 665M c Win95 FAT32 (LBA)
ディスク /dev/mmcblk2boot0: 4 MB、4194304 バイト、8192 セクタ
128気筒、4ヘッド、16セクタ/トラック
単位: 1 * 512 = 512 バイトのセクター
ディスク /dev/mmcblk2boot0 に有効なパーティションテーブルが含まれていません
ディスク /dev/mmcblk2boot1: 4 MB、4194304 バイト、8192 セクター
128気筒、4ヘッド、16セクタ/トラック
単位: 1 * 512 = 512 バイトのセクター
ディスク /dev/mmcblk2boot1 に有効なパーティションテーブルが含まれていません
こんにちは、タビム。
返信ありがとうございます。
どのような問題が発生しますか?
envをユーザーパーティションよりもeMMCブートパーティションに保存すると、大きな問題に直面します。
この問題は解決されました。
1.u-bootの設定では以下を設定します。
CONFIG_SYS_MMC_ENV_DEV=2
CONFIG_SYS_MMC_ENV_PART=2
CONFIG_ENV_OFFSET=0x0
2. /etc/fw_env.configに以下を設定します。
/dev/mmcblk2boot1 0x0 0x4000
N.B.
- CONFIG_SYS_MMC_ENV_DEV=2 は、mmcblk2 に u-boot-env があることを意味します。
- CONFIG_SYS_MMC_ENV_PART=2 は、mmcblk2boot1 に u-boot-env があることを意味します。
- CONFIG_ENV_OFFSET=0x0 は、u-boot-env が mmcblk2boot1 のオフセットにプットされないことを意味します。
- 0x4000 imx8mm-evkのデフォルト値はCONFIG_ENV_SIZEです。
- ただし、mmcblk2boot1 では何も設定されていないため、uboot で saveenv を一度実行するか、u-boot-imx-initial-env-sd を mmcblk2boot1 に書き込まない限り、fw_printenv/fw_setenv を使用することはできません。
uboot envのアドレスがどこに設定されているのかわかりません...
このLinux fw_printenv fw_setenvを参照して、U-Bootの環境変数にアクセスできます - NXP Community