On Wed, Mar 13, 2019 at 8:47 AM Stefano Babic <[email protected]> wrote: > > The initial environment is linked to the u-boot binary. Modifying the > environment from User Space with the env tools requires that the tools > are always built together with the bootloader to be sure that they > contain the initial environment in case no environment is stored into > persistent storage or when a board boots with just the default > environment. This makes difficult for distros to provide a general > package to access the environment. A simpler way is if the tools are > generic for all boards and a configuration file is given to provide the > initial environment. > > The patch just generates the initial environment by extracting it from > the compiled object. This file can then be used for tools in user space > to initialize the environment. > > Signed-off-by: Stefano Babic <[email protected]> > --- > Makefile | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/Makefile b/Makefile > index 26db4e7b59..74e48ae9dc 100644 > --- a/Makefile > +++ b/Makefile > @@ -1932,6 +1932,13 @@ endif > $(build)=$(build-dir) $(@:.ko=.o) > $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.modpost > > +quiet_cmd_genenv = GENENV $@ > +cmd_genenv = $(OBJCOPY) --dump-section .rodata.default_environment=$@ > env/common.o; \ > + sed --in-place -e 's/\x00/\x0A/g' $@ > +
Really an observation rather than an objection - there are boards which have newlines embedded in their compiled in environments - ge_bx50v3 and mx53ppd (the failbootcmd variable) are the two I know of. > +u-boot-initial-env: u-boot.bin > + $(call if_changed,genenv) > + > # Consistency checks > # --------------------------------------------------------------------------- > > -- > 2.17.1 > > _______________________________________________ > U-Boot mailing list > [email protected] > https://lists.denx.de/listinfo/u-boot -- Alex Kiernan _______________________________________________ U-Boot mailing list [email protected] https://lists.denx.de/listinfo/u-boot

