What should I do to use fw_printenv/setenv on imx8mm?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

What should I do to use fw_printenv/setenv on imx8mm?

Jump to solution
571 Views
takeshi100
Contributor III

Hi!

What should I do to use fw_printenv/setenv on imx8mm?

【Conditions

・hardware: imx8mm(on custom board)

・bsp: imx 6.1.55-2.2.0

・base image: core-image-minimal
・IMAGE_INSTALL += "u-boot-fw-utils"
MACHINE = 'imx8mm-lpddr4-evk'

・boot storage:emmc

【log】

root@XXX:~# fw_printenv
Configuration file wrong or corrupted

root@XXX:~# strace fw_printenv
(omit)
openat(AT_FDCWD, "/etc/fw_env.config", O_RDONLY) = -1 ENOENT (No such file or directory)
write(2, "Configuration file wrong or corr"..., 38Configuration file wrong or corrupted
) = 38
exit_group(-9) = ?
+++ exited with 247 +++

root@XXX:~# fdisk -l
Disk /dev/mmcblk2: 7456 MB, 7818182656 bytes, 15269888 sectors
119296 cylinders, 4 heads, 32 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Device Boot StartCHS EndCHS StartLBA EndLBA Sectors Size Id Type
/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)
Disk /dev/mmcblk2boot0: 4 MB, 4194304 bytes, 8192 sectors
128 cylinders, 4 heads, 16 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Disk /dev/mmcblk2boot0 doesn't contain a valid partition table
Disk /dev/mmcblk2boot1: 4 MB, 4194304 bytes, 8192 sectors
128 cylinders, 4 heads, 16 sectors/track
Units: sectors of 1 * 512 = 512 bytes

Disk /dev/mmcblk2boot1 doesn't contain a valid partition table

 

0 Kudos
Reply
1 Solution
453 Views
takeshi100
Contributor III

This problem is solved.

1. The following is set in the config of u-boot.
CONFIG_SYS_MMC_ENV_DEV=2
CONFIG_SYS_MMC_ENV_PART=2
CONFIG_ENV_OFFSET=0x0

2. The following is set in /etc/fw_env.config
/dev/mmcblk2boot1 0x0 0x4000

N.B.
- CONFIG_SYS_MMC_ENV_DEV=2 means that there are u-boot-env in the mmcblk2.
- CONFIG_SYS_MMC_ENV_PART=2 means that there are u-boot-env in the mmcblk2boot1.
- CONFIG_ENV_OFFSET=0x0 means that u-boot-env is putted on no offset of the mmcblk2boot1.
- 0x4000 is default value of CONFIG_ENV_SIZE in imx8mm-evk.
- However, you cannot use fw_printenv/fw_setenv unless you run saveenv once in uboot or write u-boot-imx-initial-env-sd to mmcblk2boot1, because nothing is set in mmcblk2boot1.

View solution in original post

0 Kudos
Reply
5 Replies
454 Views
takeshi100
Contributor III

This problem is solved.

1. The following is set in the config of u-boot.
CONFIG_SYS_MMC_ENV_DEV=2
CONFIG_SYS_MMC_ENV_PART=2
CONFIG_ENV_OFFSET=0x0

2. The following is set in /etc/fw_env.config
/dev/mmcblk2boot1 0x0 0x4000

N.B.
- CONFIG_SYS_MMC_ENV_DEV=2 means that there are u-boot-env in the mmcblk2.
- CONFIG_SYS_MMC_ENV_PART=2 means that there are u-boot-env in the mmcblk2boot1.
- CONFIG_ENV_OFFSET=0x0 means that u-boot-env is putted on no offset of the mmcblk2boot1.
- 0x4000 is default value of CONFIG_ENV_SIZE in imx8mm-evk.
- However, you cannot use fw_printenv/fw_setenv unless you run saveenv once in uboot or write u-boot-imx-initial-env-sd to mmcblk2boot1, because nothing is set in mmcblk2boot1.

0 Kudos
Reply
432 Views
tavim
Contributor I

You will face big problem saving env to eMMC boot partition than in user partition.

 

 

0 Kudos
Reply
420 Views
takeshi100
Contributor III

Hi, tavim.

Thanks for reply.
What kind of problem will be occurred?

0 Kudos
Reply
539 Views
Rita_Wang
NXP TechSupport
NXP TechSupport
0 Kudos
Reply
505 Views
takeshi100
Contributor III

I'm not sure where the address of uboot env is set...

0 Kudos
Reply