From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Thu, 14 Jan 2021 14:42:38 -0500 Subject: [PATCH] env: Remove all dependencies for SYS_REDUNDAND_ENVIRONMENT In-Reply-To: References: <04343af5d01a74dc9c90e7e6abb354cbcd43b687.1610540785.git.michal.simek@xilinx.com> <20210113140233.GG19813@bill-the-cat> <20210113144332.GH19813@bill-the-cat> Message-ID: <20210114194238.GS19813@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Wed, Jan 13, 2021 at 03:50:17PM +0100, Michal Simek wrote: > > > On 13. 01. 21 15:43, Tom Rini wrote: > > On Wed, Jan 13, 2021 at 03:24:24PM +0100, Michal Simek wrote: > >> On 13. 01. 21 15:02, Tom Rini wrote: > >>> On Wed, Jan 13, 2021 at 01:26:27PM +0100, Michal Simek wrote: > >>> > >>>> CONFIG_SYS_REDUNDAND_ENVIRONMENT is changing in env_internal.h how u-boot > >>>> works with variables. struct environment_s has one byte flags property > >>>> which also affects ENV_SIZE macro. > >>>> > >>>> I have reached the case where CONFIG_ENV_IS_NOWHERE is default setup > >>>> but custom scripts can be designed in a way that u-boot is asked to > >>>> import/export variables from/to file which can be in certain format. > >>>> That's why also for this configuration make sense to enable > >>>> CONFIG_SYS_REDUNDAND_ENVIRONMENT because it depends on environment file > >>>> format. > >>>> > >>>> The patch is removing dependency on this configuration to support selecting > >>>> environment file format without any specific dependency where variables are > >>>> stored. > >>> > >>> Are you importing a binary of the environment in, which was generated > >>> with redundant env set, is what the problem is? > >> > >> Yes exactly. > > > > OK, so env import/export -b require compatible env structs, that makes > > sense. I assume you've ruled out env import/export -t instead already. > > Yes that's not an option. > > > I would rather see the struct be identical (so, always have flags) > > rather than say that we can enable redundant environment in all cases > > (since functionally, we can't for "nowhere" and don't for some others) > > as it also means that for your case you would still need to know to > > enable the redundant feature to get what you're aiming for to work. > > Does that make sense? Thanks! > > I have not a problem to enable this feature for all but when this is > simply enabled for everybody boards which don't have this enabled will > fail. Maybe variables without that flags can be fall back option that > you can read them but when you save you will add there flag field. > > As of I now I know that I want to enable this feature for certain board > because boot variables are generated by OS. OK, so yes, maybe we don't want to enable it globally unconditionally. Can you do a v2 where you update the help text to note that this changes the binary environment structure U-Boot uses? My main concern is that the problem you've tracked down and solved here should be easier to spot for the next person that goes down this path. Thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 659 bytes Desc: not available URL: