coreboot-kgpe-d16/util/flashrom
Patrick Georgi 6388d49143 Flashrom is now moved over to its own repository.
Add a note to the coreboot-v2 version of the tree that
contains the new location.

Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Patrick Georgi <patrick.georgi@coresystems.de>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4215 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
2009-04-26 18:17:40 +00:00
..
82802ab.c
COPYING
Makefile
README
REPOSITORY_MOVED.txt Flashrom is now moved over to its own repository. 2009-04-26 18:17:40 +00:00
am29f040b.c
board_enable.c
cbtable.c
chipset_enable.c
coreboot_tables.h
en29f002a.c
flash.h
flashchips.c
flashrom.8
flashrom.c
ichspi.c
it87spi.c
jedec.c
layout.c
m29f002.c
m29f400bt.c
mx29f002.c
physmap.c
pm49fl00x.c
sb600spi.c
sharplhf00l04.c
spi.c
spi.h
sst28sf040.c
sst39sf020.c
sst49lf040.c
sst49lfxxxc.c
sst_fwhub.c
stm50flw0x0x.c
udelay.c
w29ee011.c
w39v040c.c
w39v080fa.c
w49f002u.c
wbsio_spi.c

README

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