On 09.03.2010 01:16, Joseph Smith wrote:
On Mon, 8 Mar 2010 16:04:31 -0800, Ed Swierk eswierk@aristanetworks.com wrote:
On Sat, Mar 6, 2010 at 8:13 AM, Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net wrote:
- Tiny flashrom stub for remote flashing over serial/network/whatever
(~10 kB uncompressed and 3 kB lzma compressed, maybe even smaller). 3. Load flashrom from an external medium (serial/USB/floppy/whatever) to RAM and execute it (no space requirements). ... Variant 2 is essentially a stripped down SerialICE with one or two extra commands. Rather slow, but you can upgrade the controlling flashrom app on the master computer (and test patches) without having to mess with the contents of the flash in the slave (to be reflashed) computer. Besides that, it allows even such stuff as PCI card reflashing (for gPXE and stuff). Variant 3 has a high initial load time, but flashing will be fast. No guarantees on how to recover if flashrom crashes or exits prematurely, though.
I implemented a little hack a while ago that let you download a payload via xmodem over serial:
http://www.coreboot.org/pipermail/coreboot/2006-October/016120.html
Right, I had remembered such a think existed, but didn't know where to look.
It looks like most of the code has since vanished, but the xmodemReceive() function is still there, and might be useful for some kind of last-ditch failover mechanism.
Absolutely. It is definitely good for payload/whateveryoucallit download once CAR or RAM is working.
We also have a small program on Set-Top-Linux to send flash commands to the original bios over Serial Console:
http://www.settoplinux.org/index.php?title=RCA_RM4100:Howto_coreboot_and_Lin...
You just copy bios image to drive, boot, and flash over serial console. It may be nothing, but it could be a start to something that could be used for recovery???
AFAICS the trick you mentioned works by uploading a small flasher program to the RM4100 memory in a place where it overwrites existing code, causing execution to continue at the inserted code. Very neat. It needs a way to upload a program over serial to RAM to work at all, though.
Anyway, we'll see what the optimal solution is, and how it works out. IMHO one key to success is to have multiple options, and enable some sort of recovery for all of them.
Regards, Carl-Daniel