flashcp

Rob Landley rob at landley.net
Thu Jan 6 10:22:16 UTC 2011


On Thursday 06 January 2011 04:07:39 Peter Korsgaard wrote:
> >>>>> "Rob" == Rob Landley <rob at landley.net> writes:
>
>  Rob> The solution embedded people use is either:
>
>  Rob> 1) Use a jtag to reflash the device, so no matter how bricked it
>  Rob> gets it can be externally driven by shouting "clear", applying
>  Rob> paddles, and hooking it up to an IV drip.
>
>  Rob> 2) Have a small bootloader in its own flash erase block (or actual
>  Rob> ROM) that never gets overwritten and is capable of loading and
>  Rob> booting something from network or serial or some such, so you
>  Rob> always have a fallback recovery option.
>
>  Rob> 3) Design the hardware to boot from an SD card, so you can unbrick
> your Rob> embedded device the same way you unbrick a PC, by inserting a
> boot disk.
>
> 4) Use a bootloader and a store everything else double. Use a ping/pong
> system so you never overwrite what you are currently using. Fall back to
> the previous system in the bootloader if the new system fails.

Heh, I did that on my first embedded system for weboffice back in 2001.  (The 
"lilo -R" option was something grub _still_ can't do.  Yeah an interactive 
shell is great, but not so much on a headless box being updated remotely.)

The cheaper embedded devices don't have resources to waste on duplicate copies 
of stuff, but moore's law marches on.  (Then again I'm still waiting for cereal 
boxes that update a "writeable paper" style display on the front every 30 
seconds using a 386-equivalent proccessor driven by a watch battery.  
Disposable computing is only a matter of time...)

Rob
-- 
GPLv3: as worthy a successor as The Phantom Menace, as timely as Duke Nukem 
Forever, and as welcome as New Coke.


More information about the busybox mailing list