Re: default environment append from kconfig
Hi Tom, On Wed, 10 Aug 2022 at 08:36, Tom Rini wrote: > > On Tue, Aug 09, 2022 at 01:02:24PM +0200, Rasmus Villemoes wrote: > > On 09/08/2022 12.47, Francesco Dolcini wrote: > > > Hello all, > > > is there any kconfig mechanism in u-boot to append environment variable > > > to the > > > default one? > > > > > > > Well, despite the name, CONFIG_EXTRA_ENV_SETTINGS is not settable via > > kconfig, but only from board header file. And while it works, it's > > rather cumbersome to maintain that macro expanding to a string with all > > the embedded \0 and the required \ continuations etc. > > I just want to chime in here to note that the biggest blocker to > removing CONFIG_EXTRA_ENV_SETTINGS and migrating it to board.env files > is how to handle, exactly, distroboot support. Aside from that, I will get back to that before long. > whatever is done in CONFIG_EXTRA_ENV_SETTINGS can be done in the .env > file (unless there's some other fancy macro work being done that I've > missed). > > -- > Tom Regards, SImon
Re: default environment append from kconfig
On Wed, Aug 10, 2022 at 05:09:45PM +0200, Francesco Dolcini wrote: > On Wed, Aug 10, 2022 at 10:34:26AM -0400, Tom Rini wrote: > > On Tue, Aug 09, 2022 at 12:47:39PM +0200, Francesco Dolcini wrote: > > > Hello all, > > > is there any kconfig mechanism in u-boot to append environment variable > > > to the > > > default one? > > > > > > I am aware of CONFIG_USE_DEFAULT_ENV_FILE, but this will completely > > > replace it, looking into the code I was not able to find anything, but I > > > wonder if something from this > > > https://lore.kernel.org/all/20211022030852.1986718-1-...@chromium.org/ > > > can be used. > > > > Yes, you can use the series above, which has been merged for some time, > > to append to the environment via board/..//.env and you > > can look at the existing .env files for examples of how it works. > Am I wrong or this just override the whole environment? My need here is > to just add|override some env variables to the default env to an in-tree > u-boot board from an out-of-tree configuration. > > Think about a specific network or boot configuration, for example. It doesn't override the whole environment. As of the link you posted, it did override all of (or rather, conflicted with) CONFIG_EXTRA_ENV_SETTINGS, but I changed that more recently as it was hindering adoption of the feature overall. -- Tom signature.asc Description: PGP signature
Re: default environment append from kconfig
On Tue, Aug 09, 2022 at 01:02:24PM +0200, Rasmus Villemoes wrote: > On 09/08/2022 12.47, Francesco Dolcini wrote: > > Hello all, > > is there any kconfig mechanism in u-boot to append environment variable to > > the > > default one? > > > > Well, despite the name, CONFIG_EXTRA_ENV_SETTINGS is not settable via > kconfig, but only from board header file. And while it works, it's > rather cumbersome to maintain that macro expanding to a string with all > the embedded \0 and the required \ continuations etc. I just want to chime in here to note that the biggest blocker to removing CONFIG_EXTRA_ENV_SETTINGS and migrating it to board.env files is how to handle, exactly, distroboot support. Aside from that, whatever is done in CONFIG_EXTRA_ENV_SETTINGS can be done in the .env file (unless there's some other fancy macro work being done that I've missed). -- Tom signature.asc Description: PGP signature
Re: default environment append from kconfig
On Tue, Aug 09, 2022 at 12:47:39PM +0200, Francesco Dolcini wrote: > Hello all, > is there any kconfig mechanism in u-boot to append environment variable to the > default one? > > I am aware of CONFIG_USE_DEFAULT_ENV_FILE, but this will completely > replace it, looking into the code I was not able to find anything, but I > wonder if something from this > https://lore.kernel.org/all/20211022030852.1986718-1-...@chromium.org/ > can be used. Yes, you can use the series above, which has been merged for some time, to append to the environment via board/..//.env and you can look at the existing .env files for examples of how it works. -- Tom signature.asc Description: PGP signature
Re: default environment append from kconfig
On 09/08/2022 12.47, Francesco Dolcini wrote: > Hello all, > is there any kconfig mechanism in u-boot to append environment variable to the > default one? > Well, despite the name, CONFIG_EXTRA_ENV_SETTINGS is not settable via kconfig, but only from board header file. And while it works, it's rather cumbersome to maintain that macro expanding to a string with all the embedded \0 and the required \ continuations etc. > I am aware of CONFIG_USE_DEFAULT_ENV_FILE, but this will completely > replace it, looking into the code I was not able to find anything, You could select CONFIG_ENV_IMPORT_FDT, then populate the /config/environment/ devicetree node with the key/value pairs you want. This can for example be done via the -u-boot.dtsi file, or if you're using an in-tree board with in-tree .dts, and just want to maintain your own .config and environment out of tree, you could additionally set CONFIG_DEVICE_TREE_INCLUDES to point at a .dtsi which just has that / { config { environment { foo = "bar"; }; }; }; (that was exactly a use case I had in mind for CONFIG_DEVICE_TREE_INCLUDES, as can be seen in the commit log for a77f468099). Rasmus