Flashrom

From flashrom
Revision as of 18:28, 20 October 2007 by Uwe (talk | contribs) (Supported mainboards: Flashrom works on the ASUS P2B board.)
Jump to: navigation, search

Flashrom is a utility which can be used to detect, read, or write BIOS chips (DIP, PLCC, SPI).

Supported devices

Note: There are probably some flash ROM chips which are compatible to the ones listed below.

Flash chips

Vendor Flash part Status
AMD AM-29F040B OK
AMD AM-29F016D OK
ASD AE49F2008 OK
Atmel AT-29C040A OK
Atmel AT-29C020 OK
EMST F49B002UA OK
Intel®(Firmware Hub) 82802AB OK
Intel®(Firmware Hub) 82802AC OK
M-Systems MD-2802 OK1
MX MX-29F002 OK
PMC PMC-49FL002 OK
PMC PMC-49FL004 OK
Sharp LHF-00L04 OK
SST SST-29EE020A OK
SST SST-28SF040A OK
SST SST-39SF010A OK
SST SST-39SF020A OK
SST SST-39SF040 OK
SST SST-39VF020 OK
SST SST-49LF040B OK
SST SST-49LF040 OK
SST SST-49LF020A OK
SST SST-49LF080A OK
SST SST-49LF002A/B OK
SST SST-49LF003A/B OK
SST SST-49LF004A/B OK
SST SST-49LF008A OK
SST SST-49LF004C OK
SST SST-49LF008C OK
SST SST-49LF016C OK
SST SST-49LF160C OK

Flash chips (cont'd)

Vendor Flash part Status
ST ST-M50FLW040A OK4
ST ST-M50FLW040B OK4
ST ST-M50FLW080A OK4
ST ST-M50FLW080B OK4
ST ST-M50FW040 OK4
ST ST-M50FW080 OK4
ST ST-M50FW016 OK4
ST ST-M50LPW116 OK4
ST ST-M29F002B OK
ST ST-M29F002T OK
ST ST-M29F002NT OK
ST ST-M29F400BT OK
ST ST-M29F040B OK
ST ST-M29W010B OK4
ST ST-M29W040B OK4
SyncMOS S29C51001T/B OK4
SyncMOS S29C51002T/B OK
SyncMOS S29C51004T/B OK4
SyncMOS S29C31004T OK4
Winbond™ W29C011 OK
Winbond™ W29C020C OK
Winbond™ W29C040P OK
Winbond™ W29EE011 OK
Winbond™ W49F002U OK
Winbond™ W49V002A OK
Winbond™ W49V002FA OK
Winbond™ W39V040FA OK
Winbond™ W39V040A OK
Winbond™ W39V040B OK
Winbond™ W39V080A OK

Southbridges

Vendor Southbridge Status
ALi M1533 OK
AMD Geode™ CS5530/CS5530A OK
AMD Geode™ SC1100  ?
AMD AMD-8111 OK
ATI SB400  ?
Broadcom HT-1000 OK
Intel®  ICH OK2
Intel®  PIIX4/PIIX4E/PIIX4M OK
NVIDIA CK804 OK
NVIDIA MCP51  ?
NVIDIA MCP55 OK
SiS 630  ?
SiS 5595  ?
VIA CX700 OK
VIA VT8231  ?
VIA VT8235  ?
VIA VT8237  ?
VIA VT82C686  ?

1 Unsupported, disabled by default.
2 This includes the ICH, ICH0, ICH2, ICH2-M, ICH3-S, ICH3-M, ICH4/ICH4-L, ICH4-M, ICH5/ICH5R, ICH6/ICH6R, ICH6-M, ICH7DH, ICH7/ICH7R, ICH7M, ICH7MDH, ICH8/ICH8R, ICH8DH, and ICH8DO chipsets. ICH2: Identifying and reading chips seems to work, but there are reports that writing may not work on some mainboards.
4 Untested, but should work.

Supported mainboards

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 southbridge and ROM 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 mailinglist or add them here directly.

Known-good

Vendor Mainboard Status
Advantech PCM-5820 OK
ASI MB-5BLMP1 OK
ASUS A8NE-FM/S OK
ASUS M2A-VM OK5
ASUS P2B OK
ASUS P2B-F OK
BCOM WinNET1006 OK
GIGABYTE GA-6BXC OK
Tyan S1846 OK
Tyan S2881 OK
Tyan S2882 OK

Known-good (but special setup required)

Vendor Mainboard Required option Status
agámi Aruma/AIS6000 -m AGAMI:ARUMA OK
ASUS A7V400-MX OK
ASUS A7V8X-MX OK
ASUS P5A -m asus:p5a OK
EPoX EP-BX3 -m epox:ep-bx3 OK
IBM x3455 -m ibm:x3455 OK
GIGABYTE GA-M57SLI-S4 -m gigabyte:m57sli SEMI-SUPPORTED3
GIGABYTE GA-M61P-S3 -m gigabyte:m61p OK
IWILL DK8-HTX -m iwill:dk8_htx OK
MSI K8N Neo3 -m msi:k8n-neo3 OK
Tyan S2498 (Tomcat K7M) OK
VIA EPIA-M OK2
VIA EPIA-MII OK2

Known-bad

Vendor Mainboard Status
Biostar M6TBA No
MSI MS-7260 (K9N Neo) SEMI-SUPPORTED4

1 Used in the IGEL WinNET III thin client.
2 Might also work for other CLE266 based EPIAs.
3 Flashrom works great when booted with the proprietary BIOS. Once booted in LinuxBIOS, it does not work reliably. See bug #87.
4 Interestingly flashrom does not work when the vendor BIOS is booted, but it does work flawlessly when the machine is booted with LinuxBIOS.
5 See http://www.linuxbios.org/pipermail/linuxbios/2007-September/025202.html.
6 Used in the IGEL-316 thin client.

Installation

Requirements

Flashrom requires the pciutils and zlib and the respective development packages in order to be built.

In Debian unstable these development packages are called pciutils-dev and zlib1g-dev. Most other distributions call them pciutils-devel and zlib-devel.

Manual Installation

$ svn co svn://linuxbios.org/repos/trunk/util/flashrom
$ cd flashrom
$ make
$ sudo make install

Debian

$ sudo aptitude install flashrom

Fedora

$ sudo yum install flashrom

Mandriva

$ urpmi flashrom

Usage

Detect whether flashrom knows about your chipset/mainboard/BIOS chip:

$ flashrom

Read the current BIOS image into a file:

$ flashrom -r backup.bin

Write a BIOS image (proprietary or LinuxBIOS) on the ROM chip:

$ flashrom -wv newbios.bin
WARNING: This will overwrite your current BIOS! Make sure you know what you're doing!

For more documentation please see the flashrom README or the manpage.