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 $ flashrom [-rwvEVfh] [-c chipname] [-s exclude_start] [-e exclude_end]
22 [-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 AGAMI:ARUMA agami_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
58 * GIGABYTE GA-M57SLI-S4 v2.0: use -m gigabyte:m57sli
59 * GIGABYTE GA-M61P-S3: use -m gigabyte:m61p
60 * MSI K8N Neo3: use -m msi:k8n-neo3
61 * Acorp 6A815EPD: use -m acorp:6a815epd
67 Flashrom supports ROM layouts. This allows to flash certain parts of
68 the flash chip only. A ROM layout file looks like follows:
70 00000000:00008fff gfxrom
71 00009000:0003ffff normal
72 00040000:0007ffff fallback
75 startaddr:endaddr name
77 All addresses are offsets within the file, not absolute addresses!
79 If you only want to update the normal image in a ROM you can say:
81 flashrom -w --layout rom.layout --image normal agami_aruma.rom
83 To update normal and fallback but leave the VGA BIOS alone, say:
85 flashrom -w -l rom.layout -i normal -i fallback agami_aruma.rom
87 Currently overlapping sections are not supported.
89 ROM layouts should replace the -s and -e option since they are more
90 flexible and they should lead to a ROM update file format with the
91 ROM layout and the ROM image in one file (cpio, zip or something?).
97 Disk on Chip support is currently disabled since it is considered unstable.
98 Change CFLAGS in the Makefile to enable it: Remove -DDISABLE_DOC from CFLAGS.
101 Supported Flash Chips
102 ---------------------
110 Intel 82802AB (Firmware Hub)
111 Intel 82802AC (Firmware Hub)
112 M-Systems MD-2802 (unsupported, disabled by default)
167 Supported Southbridges
168 ----------------------
175 Intel ICH0-ICH8 (all variations)
176 Intel PIIX4/PIIX4E/PIIX4M