I’m currently having a Tezi image with a hard coded location for u-boot environment defined in image.json.
As u-boot environment location is related to the end of the boot area, it seems (and has proved) to be a bad practice and I would like to change for a more flexible approach.
I would like to use the u_boot_env directive in image.json but I’m don’t understand how EasyInstaller append those values.
Does it located u-boot environment at a predefined location ?
Does it rely on u-boot to append those values ?
It could help me a lot if someone can clarify this or point to any related documentation.
I think using the u_boot_env directive in the configuration file is definitely the way to go. You can look at the documentation about it here:
In summary, you can use a text file with the variables you want to set. If the variable already exists it will be overwritten, if it doesn’t exist it will be added. You could think of this file as a kind of “merge” between the default u-boot environment and the text file you provide.
If you do that, you don’t have to know where the u_boot environment is physically located on the flash, and Toradex will make sure it works also on future hardware changes, provided that you are using a sufficiently new version of Toradex Easy installer (i.e. the only that comes flashed from factory).
I finally understood that the new environment values are loaded by the currently running “EasyInstaller” system (I guess it uses fw_setenv that properly locates the uboot environment).
I have tried to use this option, but I would like to have a clean environment not polluted by values coming from EasyInstaller.
The two possibilities I have found are:
set an empty value for all values defined by EasyInstaller that I don’t want. Not very convenient to maintain
clear the uboot environment area without setting any uboot variables and relies on the default values of the new uboot installed.
I have selected an implemented option 2 that is simpler to my mind.