blob: 9f21c219af0081a865e5f59f990f6258dc927702 [file] [log] [blame]
Uwe Hermann2dc5f422006-11-20 20:32:35 +00001-------------------------------------------------------------------------------
Peter Stuge44dd3042009-04-20 12:34:30 +00002flashrom README
Uwe Hermann2dc5f422006-11-20 20:32:35 +00003-------------------------------------------------------------------------------
Ronald G. Minnich1e5003f2002-04-10 18:02:07 +00004
Peter Stuge261cafa2009-05-01 14:52:50 +00005flashrom is a utility for reading, writing, verifying and erasing flash ROM
Uwe Hermannc7e8a0c2009-05-19 14:14:21 +00006chips. It's often used to flash BIOS/EFI/coreboot/firmware images in-system
7using a supported mainboard, but it also supports flashing of network
8cards (NICs), SATA controller cards, and other external devices which can
9program flash chips.
Uwe Hermanne74b9f82009-04-10 14:41:29 +000010
Uwe Hermannd42009c2009-04-11 13:59:00 +000011It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, and
12TSOP40 chips, which use various protocols such as LPC, FWH, parallel flash,
13or SPI.
Uwe Hermann42eb17f2008-01-18 17:48:51 +000014
15(see http://coreboot.org for details on coreboot)
16
Uwe Hermann2dc5f422006-11-20 20:32:35 +000017
Carl-Daniel Hailfingera23041c2009-06-12 14:49:10 +000018Packaging
19---------
20
21To package flashrom and remove dependencies on subversion, either use
22make export
23or
24make tarball
25
26make export will export all flashrom files from the subversion repository at
27revision BASE into a directory named $EXPORTDIR/flashrom-$VERSION-r$SVNREVISION
28and will additionally modify the Makefile in that directory to contain the svn
29revision of the exported tree.
30
31make tarball will simply tar up the result of make export and gzip compress it.
32
33The snapshot tarballs are the result of make tarball and require no further
34processing.
35
36
Uwe Hermannd1129ac2009-05-28 15:07:42 +000037Build Instructions
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000038------------------
39
Uwe Hermann87c07932009-05-05 16:15:46 +000040To build flashrom you need to install the following packages or ports:
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000041
Idwer Vollering5e410de2009-05-03 23:33:05 +000042Linux et al:
Uwe Hermann87c07932009-05-05 16:15:46 +000043
44 * pciutils
45 * pciutils-devel / pciutils-dev / libpci-dev
46 * zlib-devel / zlib1g-dev
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000047
Idwer Vollering5e410de2009-05-03 23:33:05 +000048On FreeBSD, you need the following ports:
Idwer Vollering5e410de2009-05-03 23:33:05 +000049
Uwe Hermann87c07932009-05-05 16:15:46 +000050 * devel/gmake
51 * devel/libpci
Idwer Vollering5e410de2009-05-03 23:33:05 +000052
Uwe Hermann87c07932009-05-05 16:15:46 +000053To compile on Linux, use:
Carl-Daniel Hailfinger9abf5292009-05-01 16:34:32 +000054
Uwe Hermann87c07932009-05-05 16:15:46 +000055 make
56
57To compile on FreeBSD, use:
58
59 gmake
60
61To compile on Solaris, use:
62
63 gmake LDFLAGS="-L$pathtolibpci -lpci -lz" CC="gcc -I$pathtopciheaders" \
64 CFLAGS=-O2
65
66To compile on DragonFly BSD, use:
67
68 ln -s /usr/pkg/include/pciutils pci
69 gmake CFLAGS=-I. LDFLAGS="-L/usr/pkg/lib -lpci -lz"
Carl-Daniel Hailfinger9abf5292009-05-01 16:34:32 +000070
71To compile and run on Darwin/Mac OS X:
Uwe Hermann87c07932009-05-05 16:15:46 +000072
73 Install DirectIO from coresystems GmbH.
74 DirectIO is available at http://www.coresystems.de/en/directio.
Carl-Daniel Hailfinger9abf5292009-05-01 16:34:32 +000075
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000076
Uwe Hermannd1129ac2009-05-28 15:07:42 +000077Installation
78------------
79
80In order to install flashrom and the manpage into /usr/local, type:
81
82 sudo make install
83
84For installation in a different directory use DESTDIR, e.g. like this:
85
86 sudo make DESTDIR=/usr install
87
88
Uwe Hermann3d5f96c2009-04-23 14:57:55 +000089Usage / Options
90---------------
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000091
Uwe Hermann3d5f96c2009-04-23 14:57:55 +000092Please see the flashrom(8) manpage.
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000093
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000094
Peter Stuge42688e52009-01-26 02:20:56 +000095Exit status
96-----------
Uwe Hermanne74b9f82009-04-10 14:41:29 +000097
Uwe Hermann87c07932009-05-05 16:15:46 +000098Please see the flashrom(8) manpage.
Peter Stuge42688e52009-01-26 02:20:56 +000099
100
Stefan Reinauere3f3e2e2008-01-18 15:33:10 +0000101coreboot Table and Mainboard Identification
Ollie Lho184a4042005-11-26 21:55:36 +0000102--------------------------------------------
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +0000103
Uwe Hermann87c07932009-05-05 16:15:46 +0000104Please see the flashrom(8) manpage.
Uwe Hermann67808fe2007-10-18 00:29:05 +0000105
Ollie Lho184a4042005-11-26 21:55:36 +0000106
Uwe Hermann2dc5f422006-11-20 20:32:35 +0000107ROM Layout Support
Ollie Lho184a4042005-11-26 21:55:36 +0000108------------------
109
Uwe Hermann87c07932009-05-05 16:15:46 +0000110Please see the flashrom(8) manpage.
Ollie Lho184a4042005-11-26 21:55:36 +0000111
112
Uwe Hermannf8a49fe2008-06-22 18:50:25 +0000113Supported Flash Chips / Chipsets / Mainboards
114---------------------------------------------
Uwe Hermannb6d28322006-12-04 08:15:47 +0000115
Uwe Hermannf8a49fe2008-06-22 18:50:25 +0000116Please check the output of 'flashrom -L' for the list of supported
Uwe Hermannc7e8a0c2009-05-19 14:14:21 +0000117flash chips, chipsets/southbridges, mainboards, and flash programmers.
Uwe Hermannb6d28322006-12-04 08:15:47 +0000118
Uwe Hermann0ae5acc2009-06-04 18:53:03 +0000119
Uwe Hermanne94dbf22009-05-22 13:18:38 +0000120Website
121-------
122
123The official flashrom website is:
124
Stefan Reinauer22ea8cd2009-07-30 13:32:26 +0000125 http://www.flashrom.org/
Uwe Hermannb6d28322006-12-04 08:15:47 +0000126