Flashrom is a utility which can be used to detect BIOS chips (DIP, PLCC), read their contents and write new contents on the chips ("flash the chip").
Supported devices
Note: There are probably some 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
|
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
|
?
|
|
Mainboards which need special setup
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
|
IWILL
|
DK8-HTX
|
-m iwill:dk8_htx
|
OK
|
Tyan
|
S2498 (Tomcat K7M)
|
—
|
OK
|
VIA
|
EPIA-M
|
—
|
OK5
|
VIA
|
EPIA-MII
|
—
|
OK5
|
|
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 Might also work for other CLE266 based EPIAs.
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
$ make
$ sudo make install
Or (as root):
# make install
Debian
$ sudo apt-get install flashrom