README 3.96 KB
Newer Older
Uwe Hermann's avatar
Uwe Hermann committed
1 2 3
-------------------------------------------------------------------------------
Flashrom README
-------------------------------------------------------------------------------
4

5 6 7 8 9
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.

(see http://coreboot.org for details on coreboot)

Uwe Hermann's avatar
Uwe Hermann committed
10 11

Build Requirements
12 13
------------------

14
To build the flashrom utility you need to install the following packages:
15 16

* pciutils
17
* pciutils-devel / pciutils-dev / libpci-dev
18
* zlib-devel / zlib1g-dev
19 20


Uwe Hermann's avatar
Uwe Hermann committed
21
Usage
22 23
-----

Idwer Vollering's avatar
Idwer Vollering committed
24
 $ flashrom [-rwvEVfLhR] [-c chipname] [-s exclude_start] [-e exclude_end]
25 26 27 28 29 30 31 32 33 34 35 36 37 38
            [-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
Idwer Vollering's avatar
Idwer Vollering committed
39 40 41
   -L | --list-supported:            print supported devices
   -h | --help:                      print this help text
   -R | --version:                   print the version (release)
42

43 44
 If no file is specified, then all that happens
 is that flash info is dumped and the flash chip is set to writable.
45 46


47 48 49 50 51 52
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.


Stefan Reinauer's avatar
Stefan Reinauer committed
53
coreboot Table and Mainboard Identification
54 55
--------------------------------------------

Stefan Reinauer's avatar
Stefan Reinauer committed
56 57
Flashrom reads the coreboot table to determine the current mainboard
(parse DMI as well in future?). If no coreboot table could be read
Uwe Hermann's avatar
Uwe Hermann committed
58
or if you want to override these values, you can specify -m, e.g.:
59

60
 $ flashrom -w --mainboard AGAMI:ARUMA agami_aruma.rom
61

62 63 64
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.
Uwe Hermann's avatar
Uwe Hermann committed
65

66

Uwe Hermann's avatar
Uwe Hermann committed
67
ROM Layout Support
68 69
------------------

70
Flashrom supports ROM layouts. This allows you to flash certain parts of
Uwe Hermann's avatar
Uwe Hermann committed
71
the flash chip only. A ROM layout file looks like follows:
72 73 74 75 76 77 78 79

  00000000:00008fff gfxrom
  00009000:0003ffff normal
  00040000:0007ffff fallback

  i.e.:
  startaddr:endaddr name

Uwe Hermann's avatar
Uwe Hermann committed
80
  All addresses are offsets within the file, not absolute addresses!
81
  
Uwe Hermann's avatar
Uwe Hermann committed
82
If you only want to update the normal image in a ROM you can say:
83

Uwe Hermann's avatar
Uwe Hermann committed
84
  flashrom -w --layout rom.layout --image normal agami_aruma.rom
85
     
Uwe Hermann's avatar
Uwe Hermann committed
86
To update normal and fallback but leave the VGA BIOS alone, say:
87

Uwe Hermann's avatar
Uwe Hermann committed
88
  flashrom -w -l rom.layout -i normal -i fallback agami_aruma.rom
89
 
Uwe Hermann's avatar
Uwe Hermann committed
90
Currently overlapping sections are not supported.
91

Uwe Hermann's avatar
Uwe Hermann committed
92 93
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 
Uwe Hermann's avatar
Uwe Hermann committed
94
ROM layout and the ROM image in one file (cpio, zip or something?).
95 96


Uwe Hermann's avatar
Uwe Hermann committed
97 98
Disk on Chip support
--------------------
99

100
Disk on Chip support was removed from flashrom in r3382. It had already
101 102 103
been disabled by default in flashrom for several years because the code
was considered unstable and incomplete. The products intended to work
have been End-Of-Lifed by the manufacturer for a long time.
104

105

106 107 108 109 110 111 112
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.
113