mirror of
				https://review.coreboot.org/flashrom.git
				synced 2025-11-03 23:00:13 +01:00 
			
		
		
		
	Corresponding to flashrom svn r433 and coreboot v2 svn r4141. Signed-off-by: Peter Stuge <peter@stuge.se> Acked-by: Peter Stuge <peter@stuge.se>
		
			
				
	
	
		
			110 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			110 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
-------------------------------------------------------------------------------
 | 
						|
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
 | 
						|
-----
 | 
						|
 | 
						|
 $ flashrom [-rwvEVfLhR] [-c chipname] [-s exclude_start] [-e exclude_end]
 | 
						|
            [-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
 | 
						|
   -L | --list-supported:            print supported devices
 | 
						|
   -h | --help:                      print this help text
 | 
						|
   -R | --version:                   print the version (release)
 | 
						|
 | 
						|
 If no file is specified, then all that happens
 | 
						|
 is that flash info is dumped and the flash chip is set to writable.
 | 
						|
 | 
						|
 | 
						|
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.
 | 
						|
 |