Flashrom

From flashrom
Revision as of 00:01, 15 September 2008 by Stepan (talk | contribs) (→‎Installation)
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, erase, 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 OK OK OK OK
AMD Am29LV040B ? ? ? ?
AMD Am29F016D ? ? ? ?
AMIC A25L40P OK OK OK OK
AMIC A29002B ? ? ? ?
AMIC A29002T OK OK OK OK
AMIC A29040B OK OK ? ?
AMIC A49LF040A OK OK OK OK
ASD AE49F2008 ? ? ? ?
Atmel AT25DF321 OK OK OK OK
Atmel AT29C040A ? ? ? ?
Atmel AT29C020 OK OK OK OK
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 OK OK OK OK
Intel® 82802AC ? ? ? ?
Macronix MX29F002 ? ? ? ?
Macronix MX29F002 ? ? ? ?
Macronix MX25L4005 OK OK OK OK
Macronix MX25L8005 OK OK OK OK
Macronix MX25L3205 OK OK OK OK
PMC Pm49FL002 OK OK OK OK
PMC Pm49FL004 OK OK OK OK
PMC Pm25LV512 ? ? ? ?
PMC Pm25LV010 ? ? ? ?
PMC Pm25LV020 ? ? ? ?
PMC Pm25LV040 ? ? ? ?
PMC Pm25LV080B ? ? ? ?
PMC Pm25LV016B ? ? ? ?
Sharp LHF00L04 ? ? ? ?
Spansion S25FL016A OK OK OK OK
SST SST25VF040B ? ? ? ?
SST SST25VF016B ? ? ? ?
SST SST29EE010A OK OK OK OK
SST SST29EE020A ? ? ? ?
SST SST28SF040A ? ? ? ?
SST SST39SF010A ? ? ? ?
SST SST39SF020A ? ? ? ?
SST SST39SF020 OK OK OK OK
SST SST39SF040 ? ? ? ?
SST SST39VF020 ? ? ? ?
SST SST39VF040 OK ? ? ?
SST SST49LF040B OK OK OK OK
SST SST49LF040 OK OK OK OK
SST SST49LF020A ? ? ? ?
SST SST49LF080A OK OK OK OK
SST SST49LF002A/B OK OK OK OK
SST SST49LF003A/B ? ? ? ?
SST SST49LF004A/B OK OK OK OK
SST SST49LF008A OK OK OK OK
SST SST49LF004C ? ? ? ?
SST SST49LF008C ? ? ? ?
SST SST49LF016C ? ? ? ?
SST SST49LF160C OK OK OK OK
Vendor Flash part Status
  Probe Read Write Erase
ST M25P32 OK OK OK OK
ST M50FLW040A ? ? ? ?
ST M50FLW040B ? ? ? ?
ST M50FLW080A OK OK OK OK
ST M50FLW080B ? ? ? ?
ST M50FW040 OK OK ? ?
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 OK OK OK OK
Winbond™ W29C020C OK OK OK OK
Winbond™ W29C040P ? ? ? ?
Winbond™ W29EE011 ? ? ? ?
Winbond™ W49F002U OK OK OK OK
Winbond™ W49V002A ? ? ? ?
Winbond™ W49V002FA ? ? ? ?
Winbond™ W39V040FA OK OK ? ?
Winbond™ W39V040A ? ? ? ?
Winbond™ W39V040B OK OK OK OK
Winbond™ W39V040C OK OK OK OK
Winbond™ W39V080A OK OK OK OK
Winbond™ W39V080FA OK OK OK OK
Winbond™ W25x10 ? ? ? ?
Winbond™ W25x20 ? ? ? ?
Winbond™ W25x40 OK OK OK OK
Winbond™ W25x80 OK OK OK OK

Supported chipsets

Vendor Southbridge Status
ALi M1533 OK
AMD Geode™ CS5530/CS5530A OK
AMD Geode™ SC1100 ?
AMD AMD-8111 OK
ATI SB400 OK
Broadcom HT-1000 OK
Intel®  ICH* OK2
Intel®  6300ESB OK
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 OK
VIA VT8237 OK
VIA VT8237S 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, ICH8M-E, ICH8DH, ICH8DO, ICH8M, ICH9DH, ICH9DO, ICH9R, ICH9M-E, ICH9, ICH9M chipsets.
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 OK4
ASUS P2B OK
ASUS P2B-F OK
ASUS A7V400-MX OK
ASUS A7V8X-MX OK
ASUS P4B266 OK
ASUS A8V-E SE OK6
A-Trend ATC-6220 OK
BCOM WinNET1005 OK
GIGABYTE GA-6BXC OK
MSI KT4V OK
PC Engines Alix.1c OK
PC Engines Alix.2c2 OK
PC Engines Alix.2c3 OK
PC Engines Alix.3c3 OK
RCA RM4100 OK
Thomson IP1000 OK
Tyan S1846 OK
Tyan S2498 (Tomcat K7M) OK
Tyan S2881 OK
Tyan S2882 OK
Tyan S2882-D OK
Tyan S3095 OK
Tyan S5180 OK
Tyan S5191 OK
Tyan S5197 OK
Tyan S5211 OK
Tyan S5211-1U OK
Tyan S5220 OK
Tyan S5375 OK
Tyan S5375-1U OK
Tyan S5376G2NR/S5376WAG2NR OK
Tyan S5377 OK
VIA EPIA-M OK2
VIA EPIA-MII OK2
VIA EPIA-CN OK
VIA EPIA-LN OK
VIA VB700X OK
VIA NAB74X0 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 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 OK
GIGABYTE GA-M61P-S3 -m gigabyte:m61p OK
IWILL DK8-HTX -m iwill:dk8_htx OK
MSI K8N Neo3 -m msi:k8n-neo3 OK
MSI KT3 Ultra2 -m msi:kt4v OK


Known-bad

Vendor Mainboard Status
ASUS MEW-AM No
ASUS MEW-VM No
Biostar M6TBA No
MSI MS-7260 (K9N Neo) SEMI-SUPPORTED3

1 Used in the IGEL WinNET III thin client.
2 Might also work for other CLE266 based EPIAs.
3 Interestingly flashrom does not work when the vendor BIOS is booted, but it does work flawlessly when the machine is booted with coreboot.
4 See http://www.coreboot.org/pipermail/coreboot/2007-September/025281.html.
5 Used in the IGEL-316 thin client.
6 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/libpci-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.

Windows

There is a Windows port of the flashrom utility. Download the latest version at http://google-summer-of-code-2007-coresystems.googlecode.com/files/DarmawanMappatutu_Salihun.tar.gz

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.

Fully testing flashrom chip/southbridge/mainboard support

See this page for instructions on how to test flashrom properly (this may be risky, make sure you have a working backup ROM chip).

Flashrom Live CD

Flashrom Live CD