blob: 070acffba805fc45c6a3494fa09dbcdd8804d7eb [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
Carl-Daniel Hailfinger10572fa2009-08-17 16:30:53 +000046 * zlib-devel / zlib1g-dev (only needed if libpci is static)
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
Carl-Daniel Hailfinger10572fa2009-08-17 16:30:53 +000061To compile on Nexenta, use:
62
63 make
64
Uwe Hermann87c07932009-05-05 16:15:46 +000065To compile on Solaris, use:
66
Carl-Daniel Hailfinger10572fa2009-08-17 16:30:53 +000067 gmake LDFLAGS="-L$pathtolibpci" CC="gcc -I$pathtopciheaders" CFLAGS=-O2
Uwe Hermann87c07932009-05-05 16:15:46 +000068
69To compile on DragonFly BSD, use:
70
71 ln -s /usr/pkg/include/pciutils pci
Carl-Daniel Hailfinger10572fa2009-08-17 16:30:53 +000072 gmake CFLAGS=-I. LDFLAGS="-L/usr/pkg/lib"
Carl-Daniel Hailfinger9abf5292009-05-01 16:34:32 +000073
74To compile and run on Darwin/Mac OS X:
Uwe Hermann87c07932009-05-05 16:15:46 +000075
76 Install DirectIO from coresystems GmbH.
77 DirectIO is available at http://www.coresystems.de/en/directio.
Carl-Daniel Hailfinger9abf5292009-05-01 16:34:32 +000078
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000079
Uwe Hermannd1129ac2009-05-28 15:07:42 +000080Installation
81------------
82
83In order to install flashrom and the manpage into /usr/local, type:
84
85 sudo make install
86
87For installation in a different directory use DESTDIR, e.g. like this:
88
89 sudo make DESTDIR=/usr install
90
91
Uwe Hermann3d5f96c2009-04-23 14:57:55 +000092Usage / Options
93---------------
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000094
Uwe Hermann3d5f96c2009-04-23 14:57:55 +000095Please see the flashrom(8) manpage.
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000096
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +000097
Peter Stuge42688e52009-01-26 02:20:56 +000098Exit status
99-----------
Uwe Hermanne74b9f82009-04-10 14:41:29 +0000100
Uwe Hermann87c07932009-05-05 16:15:46 +0000101Please see the flashrom(8) manpage.
Peter Stuge42688e52009-01-26 02:20:56 +0000102
103
Stefan Reinauere3f3e2e2008-01-18 15:33:10 +0000104coreboot Table and Mainboard Identification
Ollie Lho184a4042005-11-26 21:55:36 +0000105--------------------------------------------
Ronald G. Minnich5e5f75e2002-01-29 18:21:41 +0000106
Uwe Hermann87c07932009-05-05 16:15:46 +0000107Please see the flashrom(8) manpage.
Uwe Hermann67808fe2007-10-18 00:29:05 +0000108
Ollie Lho184a4042005-11-26 21:55:36 +0000109
Uwe Hermann2dc5f422006-11-20 20:32:35 +0000110ROM Layout Support
Ollie Lho184a4042005-11-26 21:55:36 +0000111------------------
112
Uwe Hermann87c07932009-05-05 16:15:46 +0000113Please see the flashrom(8) manpage.
Ollie Lho184a4042005-11-26 21:55:36 +0000114
115
Uwe Hermannf8a49fe2008-06-22 18:50:25 +0000116Supported Flash Chips / Chipsets / Mainboards
117---------------------------------------------
Uwe Hermannb6d28322006-12-04 08:15:47 +0000118
Uwe Hermannf8a49fe2008-06-22 18:50:25 +0000119Please check the output of 'flashrom -L' for the list of supported
Uwe Hermannc7e8a0c2009-05-19 14:14:21 +0000120flash chips, chipsets/southbridges, mainboards, and flash programmers.
Uwe Hermannb6d28322006-12-04 08:15:47 +0000121
Uwe Hermann0ae5acc2009-06-04 18:53:03 +0000122
Uwe Hermanne94dbf22009-05-22 13:18:38 +0000123Website
124-------
125
126The official flashrom website is:
127
Stefan Reinauer22ea8cd2009-07-30 13:32:26 +0000128 http://www.flashrom.org/
Uwe Hermannb6d28322006-12-04 08:15:47 +0000129