Fallback environment in barebox
itai.raab at wellsense-tech.com
Sun Mar 6 09:59:02 EST 2011
I tried doing what you explained, but it seems like Barebox startup code didn't load the environment from env1 when env0 was corrupted.
In barebox shell I could find /dev/env1 with all the data, but when the Barebox started I got:
no valid environment found on /dev/env0. Using default environment
Looking at the startup code (common/startup.c - is this the place?) I don't see any mechanism to load env1 when env0 fails.
Is it the right place to add the support or am I missing something?
From: Baruch Siach [mailto:baruch at tkos.co.il]
Sent: Monday, February 28, 2011 7:51 AM
To: Boaz Ben-David
Cc: jbe at pengutronix.de; barebox at lists.infradead.org; Itai Raab
Subject: Re: Fallback environment in barebox
On Sun, Feb 27, 2011 at 12:09:59PM +0200, Boaz Ben-David wrote:
> Sounds great.
> Is there any documentation on how to "register" environments?
What Juergen meant to say is "register partitions named env0, env1, ...". The
barebox startup code then automatically picks the first valid environment
To register partitions (with bad blocks awareness) use devfs_add_partition()
and then dev_add_bb_dev(). grep for "env0" under arch/ for many examples.
> On Sun, 2011-02-27 at 10:50 +0100, Juergen Beisert wrote:
> > Boaz Ben-David wrote:
> > > We want to implement a mechanism in barebox to use two environment
> > > partitions.
> > > i.e. when barebox boots it will go to the first by default and try to
> > > use it. If for some reason it fails
> > > it will boot with the second one.
> > >
> > > What is the best way to implement this in barebox and did anyone do it
> > > already?
> > AFAIR a mechanism like this is already present in barebox. It tries the first
> > environment, checks its CRC and if it fails it tries the next, if one exists.
> > Just register env0, env1, .....
~. .~ Tk Open Systems
- baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -
More information about the barebox