Flashrom

From flashrom
Revision as of 12:19, 17 May 2008 by Uwe (talk | contribs) (→‎Supported devices: Fixed in http://tracker.coreboot.org/trac/coreboot/changeset/3332, confirmed by me on hardware.)
Jump to navigation Jump to search

This wiki is retired

Our website is https://www.flashrom.org, instructions on how to add or update documentation are here

All wiki content available in read-only mode at wiki.flashrom.org

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.

Vendor Flash part Status
  Probe Read Write Erase
AMD Am29F040B ? ? ? ?
AMD Am29LV040B ? ? ? ?
AMD Am29F016D ? ? ? ?
ASD AE49F2008 ? ? ? ?
Atmel AT29C040A ? ? ? ?
Atmel AT29C020 ? ? ? ?
Atmel AT49F002(N) OK6 OK6 ? ?
Atmel AT49F002(N)T OK6 OK6 ? ?
EON EN29F002(A)(N)T ? ? ? ?
EON EN29F002(A)(N)B ? ? ? ?
EMST F49B002UA ? ? ? ?
Fujitsu MBM29F400TC OK5 OK5 ? ?
Intel® 82802AB ? ? ? ?
Intel® 82802AC ? ? ? ?
M-Systems MD-2802 WIP1 WIP1 WIP1 WIP1
Macronix MX29F002 ? ? ? ?
Macronix MX29F002 ? ? ? ?
Macronix MX25L4005 ? ? ? ?
Macronix MX25L8005 ? ? ? ?
Macronix MX25L3205 ? ? ? ?
Spansion S25FL016A ? ? ? ?
PMC Pm49FL002 ? ? ? ?
PMC Pm49FL004 OK OK OK OK
PMC Pm25LV512 ? ? ? ?
PMC Pm25LV010 ? ? ? ?
PMC Pm25LV020 ? ? ? ?
PMC Pm25LV040 ? ? ? ?
PMC Pm25LV080B ? ? ? ?
PMC Pm25LV016B ? ? ? ?
Sharp LHF00L04 ? ? ? ?
SST SST25VF040B ? ? ? ?
SST SST25VF016B ? ? ? ?
SST SST29EE020A ? ? ? ?
SST SST28SF040A ? ? ? ?
SST SST39SF010A ? ? ? ?
SST SST39SF020A ? ? ? ?
SST SST39SF040 ? ? ? ?
SST SST39VF020 ? ? ? ?
SST SST49LF040B OK OK OK OK
SST SST49LF040 ? ? ? ?
SST SST49LF020A ? ? ? ?
SST SST49LF080A OK OK OK OK
SST SST49LF002A/B ? ? ? ?
SST SST49LF003A/B ? ? ? ?
SST SST49LF004A/B ? ? ? ?
SST SST49LF008A ? ? ? ?
SST SST49LF004C ? ? ? ?
SST SST49LF008C ? ? ? ?
SST SST49LF016C ? ? ? ?
SST SST49LF160C ? ? ? ?
Vendor Flash part Status
  Probe Read Write Erase
ST M50FLW040A ? ? ? ?
ST M50FLW040B ? ? ? ?
ST M50FLW080A ? ? ? ?
ST M50FLW080B ? ? ? ?
ST M50FW040 ? ? ? ?
ST M50FW080 OK OK OK OK
ST M50FW016 ? ? ? ?
ST M50LPW116 ? ? ? ?
ST M29F002B ? ? ? ?
ST M29F002T ? ? ? ?
ST M29F002NT ? ? ? ?
ST M29F400BT ? ? ? ?
ST M29F040B ? ? ? ?
ST M29W010B ? ? ? ?
ST M29W040B ? ? ? ?
SyncMOS S29C51001T/B ? ? ? ?
SyncMOS S29C51002T/B ? ? ? ?
SyncMOS S29C51004T/B ? ? ? ?
SyncMOS S29C31004T ? ? ? ?
Winbond™ W29C011 ? ? ? ?
Winbond™ W29C020C ? ? ? ?
Winbond™ W29C040P ? ? ? ?
Winbond™ W29EE011 ? ? ? ?
Winbond™ W49F002U ? ? ? ?
Winbond™ W49V002A ? ? ? ?
Winbond™ W49V002FA ? ? ? ?
Winbond™ W39V040FA ? ? ? ?
Winbond™ W39V040A ? ? ? ?
Winbond™ W39V040B ? ? ? ?
Winbond™ W39V080A ? ? ? ?
Winbond™ W25x10 ? ? ? ?
Winbond™ W25x20 ? ? ? ?
Winbond™ W25x40 ? ? ? ?
Winbond™ W25x80 ? ? ? ?

Supported chipsets

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
Intel®  440MX OK
NVIDIA CK804 OK
NVIDIA MCP51 ?
NVIDIA MCP55 OK
SiS 630 ?
SiS 5595 ?
VIA CX700 OK
VIA VT8231 ?
VIA VT8235 ?
VIA VT8237 OK
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.
5 Only reading the chip, but not writing to it has been tested. Both is expected to work, though.
6 Should work, but only reading (not writing or erasing) the chip has been tested.

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 A8N-E OK
ASUS A8NE-FM/S OK
ASUS A8N-SLI Premium OK
ASUS A8V-E Deluxe OK
ASUS M2A-VM OK5
ASUS P2B OK
ASUS P2B-F OK
BCOM WinNET1006 OK
GIGABYTE GA-6BXC OK
RCA RM4100 OK
Tyan S1846 OK
Tyan S2881 OK
Tyan S2882 OK

Known-good (but special setup required)

Vendor Mainboard Required option Status
Acorp 6A815EPD -m acorp:6a815epd OK
agámi Aruma/AIS6000 -m AGAMI:ARUMA OK
Artec Group DBE61 -m artecgroup:dbe61 OK
Artec Group DBE62 -m artecgroup:dbe62 OK
ASUS A7V400-MX OK
ASUS A7V8X-MX OK
ASUS A8V-E SE OK7
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
ASUS MEW-AM No
ASUS MEW-VM No
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 coreboot, 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 coreboot.
5 See http://www.coreboot.org/pipermail/coreboot/2007-September/025281.html.
6 Used in the IGEL-316 thin client.
7 See http://www.coreboot.org/pipermail/coreboot/2007-October/026496.html.

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://coreboot.org/repos/trunk/util/flashrom
$ cd flashrom
$ make
$ sudo make install

Debian

$ sudo aptitude install flashrom

Fedora

$ sudo yum install flashrom

Mandriva

$ urpmi flashrom

openSUSE

$ yast -i coreboot-utils

For distributions older than openSUSE Factory (11.0) you find "backports" in the openSUSE Build Service.

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 coreboot) 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.