[OLPC-devel] BIOS Flash Disaster Recovery

Mark J. Foster mfoster at laptop.org
Fri Jul 21 07:24:13 EDT 2006


Hi, Folks!

I discussed the Flash disaster recovery process with Ray today, and can 
outline what's up.  We need to consider two cases: when just the BIOS is 
toast, and when even the EC code is corrupted.  As long as the EC code 
is good, we've got lots of simple ways to solve the problem. When the EC 
code is gone, things get more complex, but there is still a way out.

In a nutshell, the EC contains a small on-chip boot ROM that lets you 
download code into the SPI Flash, regardless of the state of the 
machine. CN20 is actually a low-voltage serial port which is used to 
feed the new code image into the serial Flash through the EC. That's good.

Now the bad news.  This has never been documented by the manufacturer of 
the EC, and is currently accomplished by running a proprietary 
DOS-in-Windows utility.  I've asked for them to open up the protocol so 
that we can write our own Flash utilities - let's hope they respond 
soon.  It is also rather time-consuming, taking on the order of 45 
minutes to execute.  Still, having something will be better than nothing.

The "fixture" needed turns out to be nothing more complicated than a 
crossover cable which can connect to another OLPC machine's CN20.  
Assuming we can get the proper protocol documentation, we should then be 
able to create a true flash disaster recovery utility that'll restore 
any electrically-functional machine.  If they're taciturn, I've got a 
dandy little comm analyzer! ;-)

One thing is clear. Let's make sure that the "standard" Flash update 
utility leaves the EC code intact when possible, for that'll save 
everyone a lot of heartburn. Beyond that point, I'm starting to wonder 
if it will be worth the effort to try to make CN20 more accessible 
externally...

Cheers!
MarkF



More information about the Devel mailing list