.TH FLASHROM 8 "May 14, 2009"
.SH NAME
flashrom \- detect, read, write, verify and erase flash chips
.SH SYNOPSIS
.B flashrom \fR[\fB\-EVfLhR\fR] [\fB\-r\fR file] [\fB\-w\fR file] [\fB\-v\fR file]
         [\fB\-c\fR chipname] [\fB\-s\fR addr] [\fB\-e\fR addr] [\fB\-m\fR [vendor:]part]
         [\fB\-l\fR file] [\fB\-i\fR image] [\fB\-p\fR programmer] [file]
.SH DESCRIPTION
.B flashrom
is a utility for detecting, reading, writing, verifying and erasing flash ROM
chips. It's often used to flash BIOS/EFI/coreboot/firmware images in-system
using a supported mainboard, but it also supports flashing of network cards
(NICs), SATA controller cards, and other external devices which can program
flash chips.
.PP
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.
.PP
(see
.B http://coreboot.org
for details on coreboot)
.SH OPTIONS
Please note that the command line interface for flashrom will change before
flashrom 1.0. Do not use flashrom in scripts or other automated tools without
checking that your flashrom version won't interpret them in a totally different
way.
.PP
If no file is specified, then all that happens
is that flash info is dumped and the flash chip is set to writable.
.TP
.B "\-r, \-\-read <file>"
Read flash ROM contents and save them into the given
.BR <file> .
.TP
.B "\-w, \-\-write <file>"
Write file into flash ROM (default when
.B <file>
is specified).
.TP
.B "\-v, \-\-verify <file>"
Verify the flash ROM contents against the given
.BR <file> .
.TP
.B "\-E, \-\-erase"
Erase the flash ROM chip.
.TP
.B "\-V, \-\-verbose"
More verbose output.
.TP
.B "\-c, \-\-chip" <chipname>
Probe only for specified flash ROM chip.
.TP
.B "\-s, \-\-estart" <addr>
Exclude start position (obsolete).
.sp
flashrom supports ROM layouts. This allows you to flash certain parts of
the flash chip only. A ROM layout file looks like follows:
.sp
  00000000:00008fff gfxrom
  00009000:0003ffff normal
  00040000:0007ffff fallback
.sp
  i.e.:
  startaddr:endaddr name
.sp
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:
.sp
.B "  flashrom -w --layout rom.layout --image normal agami_aruma.rom"
.sp
To update normal and fallback but leave the VGA BIOS alone, say:
.sp
.B "  flashrom -w -l rom.layout -i normal \"
.br
.B "           -i fallback agami_aruma.rom"
.sp
Currently overlapping sections are not supported.
.sp
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?).
.TP
.B "\-e, \-\-eend" <addr> 
Exclude end postion (obsolete).
.TP
.B "\-m, \-\-mainboard" <[vendor:]part>
Override mainboard settings.
.sp
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.:
.sp
.B "  flashrom -w --mainboard AGAMI:ARUMA agami_aruma.rom"
.sp
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.
.TP
.B "\-f, \-\-force"
Force write without checking whether the ROM image file is really meant
to be used on this board.
.sp
Note: This check only works while coreboot is running, and only for those
boards where the coreboot code supports it.
.TP
.B "\-l, \-\-layout <file>"
Read ROM layout from
.BR <file> .
.TP
.B "\-i, \-\-image <name>"
Only flash image
.B <name>
from flash layout.
.TP
.B "\-L, \-\-list\-supported"
List the ROM chips, chipsets, and mainboards supported by flashrom.
The list of mainboards consists of those boards which need a special
ROM write-enable function for flashrom to work.
.sp
There are many other boards which will work out of the box, without such
special support in flashrom. Some of the known-good/known-bad and tested ones
are listed at
.BR http://coreboot.org/Flashrom#Supported_mainboards ,
but the list is not exhaustive, of course.
.sp
Please let us know if you can verify other boards to work or not work out
of the box.
.TP
.B "\-p, \-\-programmer <name>"
Specify the programmer device. Currently supported are:
.sp
.BR "* internal" " (default, for in-system flashing in the mainboard)"
.sp
.BR "* dummy" " (just prints all operations and accesses)"
.sp
.BR "* nic3com" " (for flash ROMs on 3COM network cards)"
.sp
.BR "* satasii" " (for flash ROMs on Silicon Image SATA/IDE controllers)"
.sp
If you have multiple supported PCI cards which can program flash chips
(NICs, SATA/IDE controllers, etc.) in your system, you must use the
.B "flashrom -p xxxx=bb:dd.f"
syntax to explicitly select one of them, where
.B xxxx
is the name of the programmer
.B bb
is the PCI bus number,
.B dd
is the PCI device number, and
.B f
is the PCI function number of the desired NIC.
.sp
Example:
.B "flashrom -p nic3com=05:04.0"
.sp
Currently the following programmers support this mechanism:
.BR nic3com ,
.BR satasii .
.TP
.B "\-h, \-\-help"
Show a help text and exit.
.TP
.B "\-R, \-\-version"
Show version information and exit.
.SH 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.
.SH BUGS
Please report any bugs at
.BR http://tracker.coreboot.org/trac/coreboot/newticket ","
or on the coreboot mailing list
.RB "(" http://coreboot.org/Mailinglist ")."
.SH LICENCE
.B flashrom
is covered by the GNU General Public License (GPL), version 2. Some files are
additionally available under the GPL (version 2, or any later version).
.SH COPYRIGHT
.br
Please see the individual files.
.SH AUTHORS
Carl-Daniel Hailfinger
.br
Claus Gindhart <claus.gindhart@kontron.com>
.br
Dominik Geyer <dominik.geyer@kontron.com>
.br
Eric Biederman <ebiederman@lnxi.com>
.br
Giampiero Giancipoli <gianci@email.it>
.br
Joe Bao <Zheng.Bao@amd.com>
.br
Luc Verhaegen <libv@skynet.be>
.br
Li-Ta Lo
.br
Markus Boas <ryven@ryven.de>
.br
Nikolay Petukhov <nikolay.petukhov@gmail.com>
.br
Peter Stuge <peter@stuge.se>
.br
Reinder E.N. de Haan <lb_reha@mveas.com>
.br
Ronald G. Minnich <rminnich@gmail.com>
.br
Ronald Hoogenboom <ronald@zonnet.nl>
.br
Stefan Reinauer <stepan@coresystems.de>
.br
Stefan Wildemann <stefan.wildemann@kontron.com>
.br
Steven James <pyro@linuxlabs.com>
.br
Uwe Hermann <uwe@hermann-uwe.de>
.br
Wang Qingpei <Qingpei.Wang@amd.com>
.br
Yinghai Lu <yinghai.lu@amd.com>
.br
some others 
.PP
This manual page was written by Uwe Hermann <uwe@hermann-uwe.de>.
It is licensed under the terms of the GNU GPL (version 2 or later).
