Hi Itai, On Sun, Mar 06, 2011 at 04:59:02PM +0200, Itai Raab wrote: > 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. You seem to be right. Juergen, can you explain what you meant? > Is it the right place to add the support or am I missing something? An alternative solution might be to use the defaultenv mechanism, and put there a fall-back init script which contains the following (untested): loadenv /dev/env1 Since the defaultenv init runs only when environment load from /dev/env0 fails (i.e. the env0 partition is corrupted), this is actually equivalent. baruch > -----Original Message----- > From: Baruch Siach [mailto:baruch@xxxxxxxxxx] > Sent: Monday, February 28, 2011 7:51 AM > To: Boaz Ben-David > Cc: jbe@xxxxxxxxxxxxxx; barebox@xxxxxxxxxxxxxxxxxxx; Itai Raab > Subject: Re: Fallback environment in barebox > > Hi Boaz, > > 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 > partition. > > 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. > > baruch > > > 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 =}------------------------------------------------ooO--U--Ooo------------{= - baruch@xxxxxxxxxx - tel: +972.2.679.5364, http://www.tkos.co.il - _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox