I'm looking for a way to get u-boot to ignore the environment variables in flash if there is an autoscript on the SD card. The easiest way I can find is to simply ignore the environment variables completely and boot u-boot itself off of the SD card.
I see there are some other CONFIG's that do somewhat the same thing, but not quite. On a Beagle Board, the experience is: * No SD card with u-boot.bin, boot u-boot.bin w/o OVERRIDE and read environment from flash. * SD card with u-boot.bin w/ OVERRIDE is read. Environment in flash is ignored so default environment is used. The board defaults cause it to read an autoscr file from the SD card, allowing you to always boot, even if the environment variables in the flash are bad and there is no access to the serial console. Any comments on if the below can be a suitable approach? Signed-off-by: Jason Kridner <jkrid...@beagleboard.org> --- common/env_common.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/common/env_common.c b/common/env_common.c index 6be3bb0..6f39f10 100644 --- a/common/env_common.c +++ b/common/env_common.c @@ -251,8 +251,12 @@ void env_relocate (void) DEBUGF ("%s[%d] malloced ENV at %p\n", __FUNCTION__,__LINE__,env_ptr); #endif +#ifdef CONFIG_OVERRIDE_BOOTENV + gd->env_valid = 0; +#endif if (gd->env_valid == 0) { -#if defined(CONFIG_GTH) || defined(CONFIG_ENV_IS_NOWHERE) /* Environment not changable */ +#if defined(CONFIG_GTH) || defined(CONFIG_ENV_IS_NOWHERE) \ + || defined(CONFIG_OVERRIDE_BOOTENV) /* Environment not changable */ puts ("Using default environment\n\n"); #else puts ("*** Warning - bad CRC, using default environment\n\n"); -- 1.6.0.4.790.gaa14a _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot