1 -------------------------------------------------------------------------------
3 -------------------------------------------------------------------------------
5 This is the universal (LinuxBIOS) flash utility.
10 To build the flashrom utility you need to have the following packages
11 installed on your Linux system:
14 * pciutils-devel / pciutils-dev
15 * zlib-devel / zlib1g-dev
21 usage: ./flashrom [-rwvEVfh] [-c chipname] [-s exclude_start]
22 [-e exclude_end] [-m vendor:part] [-l file.layout] [-i imagename] [file]
23 -r | --read: read flash and save into file
24 -w | --write: write file into flash (default when
26 -v | --verify: verify flash against file
27 -E | --erase: erase flash device
28 -V | --verbose: more verbose output
29 -c | --chip <chipname>: probe only for specified flash chip
30 -s | --estart <addr>: exclude start position
31 -e | --eend <addr>: exclude end postion
32 -m | --mainboard <vendor:part>: override mainboard settings
33 -f | --force: force write without checking image
34 -l | --layout <file.layout>: read rom layout from file
35 -i | --image <name>: only flash image name from flash layout
37 If no file is specified, then all that happens
38 is that flash info is dumped and the flash chip is set to writable.
41 LinuxBIOS Table and Mainboard Identification
42 --------------------------------------------
44 Flashrom reads the LinuxBIOS table to determine the current mainboard.
45 (Parse DMI as well in future?) If no LinuxBIOS table could be read
46 or if you want to override these values, you can specify -m, e.g.:
48 flashrom -w --mainboard ISLAND:ARUMA island_aruma.rom
50 The following boards require the specification of the board name, if
51 no LinuxBIOS table is found:
53 * IWILL DK8-HTX: use -m iwill:dk8_htx
54 * Agami Aruma: use -m AGAMI:ARUMA
55 * ASUS P5A: use -m asus:p5a
56 * IBM x3455: use -m ibm:x3455
57 * EPoX EP-BX3: use -m epox:ep-bx3
63 Flashrom supports ROM layouts. This allows to flash certain parts of
64 the flash chip only. A ROM layout file looks like follows:
66 00000000:00008fff gfxrom
67 00009000:0003ffff normal
68 00040000:0007ffff fallback
71 startaddr:endaddr name
73 all addresses are offsets within the file, not absolute addresses!
75 If you only want to update the normal image in a ROM you can say:
77 flashrom -w --layout rom.layout --image normal island_aruma.rom
79 To update normal and fallback but leave the VGA BIOS alone, say:
81 flashrom -w -l rom.layout -i normal -i fallback island_aruma.rom
83 Currently overlapping sections are not supported.
85 ROM layouts should replace the -s and -e option since they are more
86 flexible and they should lead to a ROM update file format with the
87 ROM layout and the ROM image in one file (cpio, zip or something?)
93 DISK on Chip support is currently disabled since it is considered unstable.
94 Change CFLAGS in the Makefile to enable it: Remove -DDISABLE_DOC from CFLAGS.
106 Intel 82802AB (Firmware Hub)
107 Intel 82802AC (Firmware Hub)
108 M-Systems MD-2802 (unsupported, disabled by default)
162 Supported Southbridges
163 ----------------------
170 Intel ICH0-ICH8 (all variations)
171 Intel PIIX4/PIIX4E/PIIX4M