90 lines
2.6 KiB
Plaintext
90 lines
2.6 KiB
Plaintext
-------------------------------------------------------------------------------
|
|
flashrom README
|
|
-------------------------------------------------------------------------------
|
|
|
|
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 install the following packages:
|
|
|
|
* pciutils
|
|
* pciutils-devel / pciutils-dev / libpci-dev
|
|
* zlib-devel / zlib1g-dev
|
|
|
|
|
|
Usage / Options
|
|
---------------
|
|
|
|
Please see the flashrom(8) manpage.
|
|
|
|
|
|
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. 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
|
|
|
|
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
|
|
the flash chip only. A ROM layout file looks like follows:
|
|
|
|
00000000:00008fff gfxrom
|
|
00009000:0003ffff normal
|
|
00040000:0007ffff fallback
|
|
|
|
i.e.:
|
|
startaddr:endaddr name
|
|
|
|
All addresses are offsets within the file, not absolute addresses!
|
|
|
|
If you only want to update the normal image in a ROM you can say:
|
|
|
|
flashrom -w --layout rom.layout --image normal agami_aruma.rom
|
|
|
|
To update normal and fallback but leave the VGA BIOS alone, say:
|
|
|
|
flashrom -w -l rom.layout -i normal -i fallback agami_aruma.rom
|
|
|
|
Currently overlapping sections are not supported.
|
|
|
|
ROM layouts should replace the -s and -e option since they are more
|
|
flexible and they should lead to a ROM update file format with the
|
|
ROM layout and the ROM image in one file (cpio, zip or something?).
|
|
|
|
|
|
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.
|
|
|