-------------------------------------------------------------------------------
-Flashrom README
+flashrom README
-------------------------------------------------------------------------------
-Flashrom is a universal flash programming utility for DIP, PLCC, or SPI
-flash ROM chips. It can be used to flash BIOS/coreboot/firmware images.
+flashrom is a utility for reading, writing, and erasing flash ROM chips.
+It's often used to flash BIOS/coreboot/firmware images.
+
+It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, and
+TSOP40 chips, which use various protocols such as LPC, FWH, parallel flash,
+or SPI.
(see http://coreboot.org for details on coreboot)
Build Requirements
------------------
-To build the flashrom utility you need to have the following packages
-installed on your Linux system:
+To build the flashrom utility you need to install the following packages:
* pciutils
-* pciutils-devel / pciutils-dev
+* pciutils-devel / pciutils-dev / libpci-dev
* zlib-devel / zlib1g-dev
Usage
-----
- $ flashrom [-rwvEVfh] [-c chipname] [-s exclude_start] [-e exclude_end]
- [-m vendor:part] [-l file.layout] [-i imagename] [file]
- -r | --read: read flash and save into file
- -w | --write: write file into flash (default when
- file is specified)
- -v | --verify: verify flash against file
- -E | --erase: erase flash device
- -V | --verbose: more verbose output
- -c | --chip <chipname>: probe only for specified flash chip
- -s | --estart <addr>: exclude start position
- -e | --eend <addr>: exclude end postion
- -m | --mainboard <vendor:part>: override mainboard settings
- -f | --force: force write without checking image
- -l | --layout <file.layout>: read rom layout from file
- -i | --image <name>: only flash image name from flash layout
+ $ flashrom [-rwvEVfLhR] [-c chipname] [-s exclude_start] [-e exclude_end]
+ [-m [vendor:]part] [-l file.layout] [-i imagename] [file]
+ -r | --read: read flash and save into file
+ -w | --write: write file into flash (default when
+ file is specified)
+ -v | --verify: verify flash against file
+ -E | --erase: erase flash device
+ -V | --verbose: more verbose output
+ -c | --chip <chipname>: probe only for specified flash chip
+ -s | --estart <addr>: exclude start position
+ -e | --eend <addr>: exclude end postion
+ -m | --mainboard <[vendor:]part>: override mainboard settings
+ -f | --force: force write without checking image
+ -l | --layout <file.layout>: read rom layout from file
+ -i | --image <name>: only flash image name from flash layout
+ -L | --list-supported: print supported devices
+ -h | --help: print this help text
+ -R | --version: print the version (release)
If no file is specified, then all that happens
is that flash info is dumped and the flash chip is set to writable.
+Exit status
+-----------
+
+flashrom exits with 0 on success, 1 on most failures but with 2 if /dev/mem
+(/dev/xsvc on Solaris) can not be opened and with 3 if a call to mmap() fails.
+
+
coreboot Table and Mainboard Identification
--------------------------------------------
-Flashrom reads the coreboot table to determine the current mainboard
-(parse DMI as well in future?). If no coreboot table could be read
-or if you want to override these values, you can specify -m, e.g.:
+flashrom reads the coreboot table to determine the current mainboard. If no
+coreboot table could be read or if you want to override these values, you can
+specify -m, e.g.:
- flashrom -w --mainboard AGAMI:ARUMA agami_aruma.rom
+ $ flashrom -w --mainboard AGAMI:ARUMA agami_aruma.rom
-The following boards require the specification of the board name, if
-no coreboot table is found:
-
-* IWILL DK8-HTX: use -m iwill:dk8_htx
-* Agami Aruma: use -m AGAMI:ARUMA
-* ASUS P5A: use -m asus:p5a
-* IBM x3455: use -m ibm:x3455
-* EPoX EP-BX3: use -m epox:ep-bx3
-* GIGABYTE GA-M57SLI-S4 v2.0: use -m gigabyte:m57sli
-* GIGABYTE GA-M61P-S3: use -m gigabyte:m61p
-* MSI K8N Neo3: use -m msi:k8n-neo3
-* Acorp 6A815EPD: use -m acorp:6a815epd
+See the 'Supported mainboards' section in the output of 'flashrom -L' for
+a list of boards which require the specification of the board name, if no
+coreboot table is found.
ROM Layout Support
------------------
-Flashrom supports ROM layouts. This allows you to flash certain parts of
+flashrom supports ROM layouts. This allows you to flash certain parts of
the flash chip only. A ROM layout file looks like follows:
00000000:00008fff gfxrom
ROM layout and the ROM image in one file (cpio, zip or something?).
-Disk on Chip support
---------------------
-
-Disk on Chip support is currently disabled since it is considered unstable.
-Change CFLAGS in the Makefile to enable it: Remove -DDISABLE_DOC from CFLAGS.
-
-
-Supported Flash Chips
----------------------
-
-AMD AM-29F040B
-AMD AM-29F016D
-ASD AE49F2008
-Atmel AT-29C040A
-Atmel AT-29C020
-EMST F49B002UA
-Intel 82802AB (Firmware Hub)
-Intel 82802AC (Firmware Hub)
-M-Systems MD-2802 (unsupported, disabled by default)
-MX MX-29F002
-PMC PMC-49FL002
-PMC PMC-49FL004
-Sharp LHF-00L04
-Spansion S25FL016A
-SST SST-29EE020A
-SST SST-28SF040A
-SST SST-39SF010A
-SST SST-39SF020A
-SST SST-39SF040
-SST SST-39VF020
-SST SST-49LF040B
-SST SST-49LF040
-SST SST-49LF020A
-SST SST-49LF080A
-SST SST-49LF160C
-SST SST-49LF002A/B
-SST SST-49LF003A/B
-SST SST-49LF004A/B
-SST SST-49LF008A
-SST SST-49LF004C
-SST SST-49LF008C
-SST SST-49LF016C
-ST ST-M50FLW040A
-ST ST-M50FLW040B
-ST ST-M50FLW080A
-ST ST-M50FLW080B
-ST ST-M50FW040
-ST ST-M50FW080
-ST ST-M50FW016
-ST ST-M50LPW116
-ST ST-M29F002B
-ST ST-M29F002T
-ST ST-M29F002NT
-ST ST-M29F400BT
-ST ST-M29F040B
-ST ST-M29W010B
-ST 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
-
-
-Supported Southbridges
-----------------------
-
-AMD CS5530/CS5530A
-AMD Geode SC1100
-AMD AMD-8111
-ATI SB400
-Broadcom HT-1000
-Intel ICH0-ICH8 (all variations)
-Intel PIIX4/PIIX4E/PIIX4M
-NVIDIA CK804
-NVIDIA MCP51
-NVIDIA MCP55
-SiS 630
-SiS 5595
-VIA CX700
-VIA VT8231
-VIA VT8235
-VIA VT8237
-VIA VT82C686
+Supported Flash Chips / Chipsets / Mainboards
+---------------------------------------------
+
+Please check the output of 'flashrom -L' for the list of supported
+flash chips, chipsets/southbridges, and mainboards.
+
+See also http://coreboot.org/Flashrom for more details.