Flashrom: Difference between revisions
(→Installation: FreeBSD install.) |
(→Supported chips: Update chip status using 'flashrom -z' output (patch pending).) |
||
Line 198: | Line 198: | ||
| {{?2}} | | {{?2}} | ||
| {{?2}} | | {{?2}} | ||
| {{?2}} | |||
|- bgcolor="#eeeeee" valign="top" | |||
| Atmel | |||
| AT29C010A | |||
| {{OK}} | |||
| {{OK}} | |||
| {{OK}} | |||
| {{?2}} | | {{?2}} | ||
|- bgcolor="#eeeeee" valign="top" | |- bgcolor="#eeeeee" valign="top" | ||
Line 276: | Line 283: | ||
| {{?2}} | | {{?2}} | ||
| {{?2}} | | {{?2}} | ||
|- bgcolor="#eeeeee" valign="top" | |||
| Atmel | |||
| AT49BV512 | |||
| {{OK}} | |||
| {{OK}} | |||
| {{OK}} | |||
| {{OK}} | |||
|- bgcolor="#eeeeee" valign="top" | |- bgcolor="#eeeeee" valign="top" | ||
| Atmel | | Atmel | ||
Line 419: | Line 433: | ||
| Macronix | | Macronix | ||
| MX25L8005 | | MX25L8005 | ||
| {{OK}} | | {{OK}} | ||
| {{OK}} | | {{OK}} | ||
Line 448: | Line 455: | ||
| Erase | | Erase | ||
|- bgcolor="#eeeeee" valign="top" | |||
| Macronix | |||
| MX25L1605 | |||
| {{OK}} | |||
| {{OK}} | |||
| {{OK}} | |||
| {{OK}} | |||
|- bgcolor="#eeeeee" valign="top" | |- bgcolor="#eeeeee" valign="top" | ||
| Macronix | | Macronix | ||
Line 493: | Line 507: | ||
| Macronix | | Macronix | ||
| MX29F002T | | MX29F002T | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
|- bgcolor="#eeeeee" valign="top" | |- bgcolor="#eeeeee" valign="top" | ||
| Macronix | | Macronix | ||
Line 581: | Line 595: | ||
| {{?2}} | | {{?2}} | ||
| {{?2}} | | {{?2}} | ||
|- bgcolor="#eeeeee" valign="top" | |||
| PMC | |||
| Pm39LV010 | |||
| {{OK}} | |||
| {{OK}} | |||
| {{OK}} | |||
| {{OK}} | |||
|- bgcolor="#eeeeee" valign="top" | |- bgcolor="#eeeeee" valign="top" | ||
| PMC | | PMC | ||
Line 710: | Line 731: | ||
| SST | | SST | ||
| SST39VF512 | | SST39VF512 | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
|- bgcolor="#dddddd" valign="top" | |- bgcolor="#dddddd" valign="top" | ||
| SST | | SST | ||
| SST39VF010 | | SST39VF010 | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
|- bgcolor="#dddddd" valign="top" | |- bgcolor="#dddddd" valign="top" | ||
| SST | | SST | ||
Line 822: | Line 843: | ||
| SST | | SST | ||
| SST49LF080A | | SST49LF080A | ||
| {{OK}} | | {{OK}} | ||
| {{OK}} | | {{OK}} | ||
Line 851: | Line 865: | ||
| Erase | | Erase | ||
|- bgcolor="#dddddd" valign="top" | |||
| SST | |||
| SST49LF160C | |||
| {{OK}} | |||
| {{OK}} | |||
| {{OK}} | |||
| {{OK}} | |||
|- bgcolor="#eeeeee" valign="top" | |- bgcolor="#eeeeee" valign="top" | ||
| ST | | ST | ||
Line 1,113: | Line 1,134: | ||
| Winbond | | Winbond | ||
| W39V040A | | W39V040A | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
| {{ | | {{OK}} | ||
|- bgcolor="#eeeeee" valign="top" | |- bgcolor="#eeeeee" valign="top" | ||
| Winbond | | Winbond |
Revision as of 18:59, 22 May 2009
flashrom is a utility for identifying, reading, writing, verifying and erasing flash chips. It's often used to flash BIOS/EFI/coreboot/firmware images.
Highlights of flashrom include:
- Supports parallel, LPC, FWH and SPI flash interfaces.
- Supports more than 150 flash chip families and half a dozen variants of each family.
- Flash chip package agnostic. DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40 and more have all been verified to work.
- Supports more than 75 different chipsets, some with multiple flash controllers.
- Features special mainboard enabling code for dozens of nonstandard mainboards.
- No physical access needed, root access is sufficient.
- No bootable floppy disk, bootable CD-ROM or other media needed.
- No keyboard or monitor needed. Simply reflash remotely via SSH.
- No instant reboot needed. Reflash your chip in a running system, verify it, be happy. The new firmware will be present next time you boot.
- Crossflashing and hotflashing is possible as long as the flash chips are electrically and logically compatible (same protocol). Great for recovery.
- Scriptability. Reflash a whole pool of identical machines at the same time from the command line. It is recommended to check flashrom output and error codes.
- Speed. flashrom is often much faster than most vendor flash tools.
- Supports Linux, FreeBSD, DragonFly BSD, Solaris, Mac OS X, and other Unix-like OSes.
Supported devices
Supported chips
|
|
|
Supported chipsets
|
|
|
Supported mainboards
In general, it is very likely that flashrom works out of the box even if your mainboard is not listed below.
This is a list of mainboards where we have verified that they either do or do not need any special initialization to make flashrom work (given flashrom supports the respective chipset and flash chip), or that they do not yet work at all. If they do not work, support may or may not be added later.
Mainboards which don't appear in the list may or may not work (we don't know, someone has to give it a try). Please report any further verified mainboards on the mailing list.
Known good (worked out of the box)
|
|
|
Known good (with write-enable code in flashrom)
|
|
Not supported (yet)
|
Board notes
- ASI MB-5BLMP: Used in the IGEL WinNET III thin client.
- MSI MS-7260 (K9N Neo): Interestingly flashrom does not work when the vendor BIOS is booted, but it does work flawlessly when the machine is booted with coreboot.
- ASUS M2A-VM: See http://www.coreboot.org/pipermail/coreboot/2007-September/025281.html.
- BCOM WinNET100: Used in the IGEL-316 thin client.
- ASUS A8V-E SE: See http://www.coreboot.org/pipermail/coreboot/2007-October/026496.html.
Supported laptops/notebooks
In general, flashing laptops is more difficult because
- Laptops often use the flash chip for stuff besides the BIOS.
- Laptops often have special protection stuff which has to be handled by flashrom.
- Laptops often use flash translation circuits which need extra drivers in flashrom.
At this point we recommend to not use flashrom on untested laptops unless you have a means to recover from a flashing that goes wrong (a working backup flash chip and/or good soldering skills).
Known-good
|