blob: 1a959750c61bfa7fa4fba06188568567b6ba0b3a [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
Carl-Daniel Hailfinger1ebf8452009-08-18 23:50:14 +00005flashrom is a utility for detecting, reading, writing, verifying and erasing
6flash chips. It is often used to flash BIOS/EFI/coreboot/firmware images
7in-system using a supported mainboard, but it also supports flashing of network
Uwe Hermannc7e8a0c2009-05-19 14:14:21 +00008cards (NICs), SATA controller cards, and other external devices which can
9program flash chips.
Uwe Hermanne74b9f82009-04-10 14:41:29 +000010
Carl-Daniel Hailfinger1ebf8452009-08-18 23:50:14 +000011It supports a wide range of DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, and TSOP40
12chips, which use various protocols such as LPC, FWH, parallel flash, or SPI.
Uwe Hermann42eb17f2008-01-18 17:48:51 +000013
Uwe Hermann2dc5f422006-11-20 20:32:35 +000014
Carl-Daniel Hailfingera23041c2009-06-12 14:49:10 +000015Packaging
16---------
17
18To package flashrom and remove dependencies on subversion, either use
19make export
20or
21make tarball
22
23make export will export all flashrom files from the subversion repository at
24revision BASE into a directory named $EXPORTDIR/flashrom-$VERSION-r$SVNREVISION
25and will additionally modify the Makefile in that directory to contain the svn
26revision of the exported tree.
27
28make tarball will simply tar up the result of make export and gzip compress it.
29
30The snapshot tarballs are the result of make tarball and require no further
31processing.
32
33
Uwe Hermannd1129ac2009-05-28 15:07:42 +000034Build Instructions
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000035------------------
36
Uwe Hermann87c07932009-05-05 16:15:46 +000037To build flashrom you need to install the following packages or ports:
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000038
Idwer Vollering5e410de2009-05-03 23:33:05 +000039Linux et al:
Uwe Hermann87c07932009-05-05 16:15:46 +000040
Carl-Daniel Hailfingera472b8b2009-10-03 17:08:02 +000041 * pciutils / libpci
Uwe Hermann87c07932009-05-05 16:15:46 +000042 * pciutils-devel / pciutils-dev / libpci-dev
Carl-Daniel Hailfinger10572fa2009-08-17 16:30:53 +000043 * zlib-devel / zlib1g-dev (only needed if libpci is static)
Stefan Reinauer06b2c4d2005-12-01 10:51:08 +000044
Idwer Vollering5e410de2009-05-03 23:33:05 +000045On FreeBSD, you need the following ports:
Idwer Vollering5e410de2009-05-03 23:33:05 +000046
Uwe Hermann87c07932009-05-05 16:15:46 +000047 * devel/gmake
48 * devel/libpci
Idwer Vollering5e410de2009-05-03 23:33:05 +000049
Uwe Hermann87c07932009-05-05 16:15:46 +000050To compile on Linux, use:
Carl-Daniel Hailfinger9abf5292009-05-01 16:34:32 +000051
Uwe Hermann87c07932009-05-05 16:15:46 +000052 make
53
54To compile on FreeBSD, use:
55
56 gmake
57
Carl-Daniel Hailfinger10572fa2009-08-17 16:30:53 +000058To compile on Nexenta, use:
59
60 make
61
Uwe Hermann87c07932009-05-05 16:15:46 +000062To compile on Solaris, use:
63
Carl-Daniel Hailfinger10572fa2009-08-17 16:30:53 +000064 gmake LDFLAGS="-L$pathtolibpci" CC="gcc -I$pathtopciheaders" CFLAGS=-O2
Uwe Hermann87c07932009-05-05 16:15:46 +000065
66To compile on DragonFly BSD, use:
67
68 ln -s /usr/pkg/include/pciutils pci
Carl-Daniel Hailfinger10572fa2009-08-17 16:30:53 +000069 gmake CFLAGS=-I. LDFLAGS="-L/usr/pkg/lib"
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
Carl-Daniel Hailfingera472b8b2009-10-03 17:08:02 +000082 make install
Uwe Hermannd1129ac2009-05-28 15:07:42 +000083
84For installation in a different directory use DESTDIR, e.g. like this:
85
Carl-Daniel Hailfingera472b8b2009-10-03 17:08:02 +000086 make DESTDIR=/usr install
87
88If you have insufficient permissions for the destination directory, use sudo
89by adding sudo in front of the commands above.
Uwe Hermannd1129ac2009-05-28 15:07:42 +000090
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
Joerg Mayer7221d5f2009-08-24 13:24:52 +0000123Contact
Uwe Hermanne94dbf22009-05-22 13:18:38 +0000124-------
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
Joerg Mayer7221d5f2009-08-24 13:24:52 +0000130The IRC channel is
131
132 #flashrom at irc.freenode.net
133
134The Mailing list addess is
135
136 flashrom@flashrom.org