Hi, I am thinking about how it is possible to export in a clean way the default environment from u-boot. The general use case happens when the environment must be changed from user space (via fw_setenv or whatever) and no environment was still stored - board boots with default environment.
Up now, the trick is to compile the environment tools (u-boot-fw-utils in Yocto) with exactly the same U-Boot sources. This works, but it is error prone when a new Yocto version is delivered (and maybe with a different u-boot-fw-utils) or even if the bootloader is updated. I am searching for an alterntive method. The code in tools/env is really generic, but it becomes board specific just for the default environment. If the default environment can read in a reliable way from u-boot itslef (its binary), the tool can search for the default environment instead of linking again, and tools/env becomes "distro capable" - one binary that works on all boards. I have some thoughts and I would like to share, maybe some of you has better ideas. So what I would like to get directly from the binary is the offset of "default_environment" (default_environment) CONFIG_SYS_TEXT_BASE: - put this offset in the .img header. Yes, it works just for SPL / u-boot.img (drawback). - surround default environment with some easy to recognize magic number. Offset is not known, but user space can find it, like magic (long string) ... default_environment end default environment (long string) - adding a section in the linker. I think we tried something in the past, see __UBOOT_ENV_SECTION__ (it replaced __PPCENV__ from the old good mpc8xx times..) that is currently unused. I do not like this approach, it can increase (due to alignment) footprint in SPL, where I am starting to have issues for smaller i.MX. - export the deafult environment with such a tool. This dump can be passed as input to the program in user space. Well, it could be done, but I still suffer if something is changed (sync is required to have always the correct dump, I do not see improvement here). Any thought ? Best regards, Stefano -- ===================================================================== DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de ===================================================================== _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot