I found the env problem when EMMC started
I found that the UBoot env stored at the same address as the bootfs, which caused emMC to fail to start the kernel


Env and Uboot are both at 0x280000 addresses,
I found that the UBoot env stored at the same address as the bootfs, which caused emMC to fail to start the kernel


Env and Uboot are both at 0x280000 addresses,
Hi,
in OpenSTLinux v1.1, for eMMC the enviromnent in saved in ext4 file in bootfs... (CONFIG_ENV_EXT4_FILE = "/uboot.env")
But the U-Boot ext4 suport cause issue as some EXT4 option are not supported in U-Boot to allow write.
in OpenSTLinux v2.0, the eMMC now environment is saved at the END of the U-Boot partition in RAW (CONFIG_ENV_MMC)
https://wiki.st.com/stm32mpu/wiki/U-Boot_overview#U-Boot_environment_variables
And normally CONFIG_ENV_OFFSET is not used for env/mmc.c if "u-boot,mmc-env-partition" is defined in config node of DT
but it can be used as fallback when the partition name is not present in the device tree.
in ST boards, CONFIG_ENV_OFFSET=0X2800000 is used ony for NOR
So I assumed that "u-boot,mmc-env-partition" is missing in your device tree (it is an addition between V1.1 and V2.0)
see ST boards device tree for example
arch/arm/dts/stm32mp157a-dk1-u-boot.dtsi:19:
arch/arm/dts/stm32mp157c-ed1-u-boot.dtsi:20:
/ {
......
config {
.....
u-boot,mmc-env-partition = "ssbl"; <<<<< NEW in v2.0
.....
};
regards
Patrick
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.