[U-Boot-Users] auto-save environment if using default environment?

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Tue Mar 25 16:24:57 CET 2008


On 14:36 Tue 25 Mar     , w.wegner at astro-kom.de wrote:
> Hi,
> 
> I just had the problem of fw_{print,save}env not being able to access
> the environment because I was using the default (builtin) environment
> after flashing U-Boot.
> I wonder if I am the only one having this problem, or is it common
> practice to flash the environment together with U-Boot during production?
> 
> I just made this small patch to auto-save the environment if it is
> not found in flash but am wondering if
> - I missed something and such a possibility does already exist?
>   (I could not find a possibility to check from the command-line if
>    the current environment comes from flash or is the built-in default
>    environment, else it would be easier to make a script check and
>    call saveenv before booting.)
> - this small change is enough?
> - something similar might be worth considering as a new regular feature?
> 
> Best regards,
> Wolfgang
> 
> 
> diff --git a/common/env_common.c b/common/env_common.c
> index a494812..8acee8f 100644
> --- a/common/env_common.c
> +++ b/common/env_common.c
> @@ -243,6 +243,11 @@ void env_relocate (void)
>  #endif
>  		env_crc_update ();
>  		gd->env_valid = 1;
> +#ifdef CFG_ENV_AUTOSAVE
> +		gd->env_addr = (ulong)&(env_ptr->data);
> +		puts ("Saving environment\n");
> +		saveenv ();
> +#endif
>  	}
>  	else {
>  		env_relocate_spec ();
> 

I'll point some problem that could appear with some flash that need to
drive some pio before write or erase the flash due to VPP protection

If you want to add an autosave you may need to add a pre-save and
post-save mecanism

and I'll prefer CONFIG_ENV_AUTOSAVE than CFG_ENV_AUTOSAVE.

Best Regards,
J.




More information about the U-Boot mailing list