How to avoid the need to run 'env default' command on modified env variable

Mircea Carausu mcarausu at gmail.com
Mon Aug 11 18:46:16 CEST 2025


Hi Quentin,
Thank you for your reply.
I wish it would be that simple:
- as mentioned we are using RAUC for firmware upgrade (https://rauc.io/)
and A/B partitions. RAUC needs some u-boot env variables to point to the
active slot to load and it maintains a retry count.
(all of this is implemented with help from u-boot env variables, which have
to be writable).
I thought of erasing the entire u-boot env or corrupting the CRC signature
to force loading the defaults. I can do that from Linux also - prior to
reboot.
In this way I lose two things:
 - the active slot info that RAUC uses to point to the partition I just
programmed.
- the MAC address of the eth interfaces - perhaps for this there is a flag
to protect it (i.e. write once type of attribute).

I can think of working around these  obstacles - just fearing I am
reinventing the wheel when u-boot may already have a simpler way - hence
the question.
If there is no simple way in u-boot I will probably end up writing a RAUC
hook to do some of the automation  I need before rebooting.
Thank you,
Mircea


On Mon, Aug 11, 2025 at 9:00 AM Quentin Schulz <quentin.schulz at cherry.de>
wrote:

> Hi Mirceam
>
> On 8/11/25 6:30 AM, Mircea Carausu wrote:
> > [You don't often get email from mcarausu at gmail.com. Learn why this is
> important at https://aka.ms/LearnAboutSenderIdentification ]
> >
> > Hi All,
> > apologies in advance if my question is trivial:
> >
> > I am changing some critical variables in the read-only / compiled-in
> > section of u-boot env variables via CFG_EXTRA_ENV_SETTINGS in
> > include/configs/<my_board.h>
> > All I want is to have them take effect automatically (i.e. without having
> > the need to stop in u-boot console and issue the env default command).
> > I see the new values if I use the env default command.
> > Since I am applying the new config via a RAUC bundle and some systems are
> > using automated testing it is not practical to issue env default on each
> > board.
> > Is there a way of telling u-boot to load / use the read-only / built-in
> > values instead of the ones stored in env storage?
>
> Build U-Boot without external environment support?
>
> E.g. with only ENV_IS_NOWHERE?
>
> You can also entirely and permanently erase the stored environment with
> `env erase` if you have CONFIG_CMD_ERASEENV enabled.
>
> If that's not fitting your use-case can you provide more information
> please?
>
> Cheers,
> Quentin
>


More information about the U-Boot mailing list