[PATCH v2] env: Remove all dependencies for SYS_REDUNDAND_ENVIRONMENT

Michal Simek michal.simek at xilinx.com
Mon Jan 18 09:11:26 CET 2021

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

The patch is removing dependency on this configuration to support selecting
environment file format without any specific dependency where variables are

Signed-off-by: Michal Simek <michal.simek at xilinx.com>

Changes in v2:
- Extend Kconfig help message to cover binary environment handling

 env/Kconfig | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/env/Kconfig b/env/Kconfig
index 67ce93061b7d..b473d7cfe1e9 100644
--- a/env/Kconfig
+++ b/env/Kconfig
@@ -411,13 +411,14 @@ config ENV_IS_IN_UBI
 	bool "Enable redundant environment support"
-	depends on ENV_IS_IN_EEPROM || ENV_IS_IN_FLASH || ENV_IS_IN_MMC || \
 	  Normally, the environemt is stored in a single location.  By
 	  selecting this option, you can then define where to hold a redundant
 	  copy of the environment data, so that there is a valid backup copy in
 	  case there is a power failure during a "saveenv" operation.
+	  Also this config changes the binary environment structure handling
+	  which is used by env import/export commands which are independent of
+	  storing variables to redundant location on a non volatile device.
 	string "Name of the block device for the environment"

More information about the U-Boot mailing list