On 3/6/10 5:13 PM, Carl-Daniel Hailfinger wrote:
Since there is so much interest in flashrom as a payload, I'd like to know which variant you prefer:
- Full flashrom with GUI as payload (may easily exceed 200 kB
uncompressed and 60 kB lzma compressed). 2. 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).
Just having it as a FILO add-on would be the best solution. Then it can use all the FILO infrastructure (reading lots of filesystems, using a recovery with a nice menu on a USB stick, integrate with the flash protection that FILO offers (lock flash writes before FILO executes external code for example)
Variant 1 does waste a lot of flash space and is unable to cope with new flash chips, and you have no way to recover if flashing goes wrong because you can't upgrade flashrom in the first place. It is the only standalone solution, though, and it is fast. 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 agree all those variants have some drawbacks...
Stefan