summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorTimothy Pearson <tpearson@raptorengineering.com>2016-08-26 16:22:19 -0500
committerTimothy Pearson <tpearson@raptorengineering.com>2016-08-26 16:22:19 -0500
commit3bac020ef83294fd7c3d40c8ec9c0097da93b876 (patch)
tree865460b93d760a55ac8eecc20d6019d4a1cb6afa /README
downloadflashrom-raptor-p9-3bac020ef83294fd7c3d40c8ec9c0097da93b876.tar.gz
flashrom-raptor-p9-3bac020ef83294fd7c3d40c8ec9c0097da93b876.zip
Stock SVN revision r1954
Diffstat (limited to 'README')
-rw-r--r--README173
1 files changed, 173 insertions, 0 deletions
diff --git a/README b/README
new file mode 100644
index 0000000..ab761f7
--- /dev/null
+++ b/README
@@ -0,0 +1,173 @@
+-------------------------------------------------------------------------------
+flashrom README
+-------------------------------------------------------------------------------
+
+flashrom is a utility for detecting, reading, writing, verifying and erasing
+flash chips. It is often used to flash BIOS/EFI/coreboot/firmware images
+in-system using a supported mainboard, but it also supports flashing of network
+cards (NICs), SATA controller cards, and other external devices which can
+program flash chips.
+
+It supports a wide range of flash chips (most commonly found in SOIC8, DIP8,
+SOIC16, WSON8, PLCC32, DIP32, TSOP32, and TSOP40 packages), which use various
+protocols such as LPC, FWH, parallel flash, or SPI.
+
+Do not use flashrom on laptops (yet)! The embedded controller (EC) present in
+many laptops might interact badly with any attempts to communicate with the
+flash chip and may brick your laptop.
+
+Please make a backup of your flash chip before writing to it.
+
+Please see the flashrom(8) manpage.
+
+
+Packaging
+---------
+
+To package flashrom and remove dependencies on subversion, either use
+make export
+or
+make tarball
+
+make export will export all flashrom files from the subversion repository at
+revision BASE into a directory named $EXPORTDIR/flashrom-$VERSION-r$SVNREVISION
+and will additionally modify the Makefile in that directory to contain the svn
+revision of the exported tree.
+
+make tarball will simply tar up the result of make export and gzip compress it.
+
+The snapshot tarballs are the result of make tarball and require no further
+processing.
+
+
+Build Instructions
+------------------
+
+To build flashrom you need to install the following software:
+
+ * pciutils+libpci (if you want support for mainboard or PCI device flashing)
+ * libusb (if you want FT2232, Dediprog or USB-Blaster support)
+ * libftdi (if you want FT2232 or USB-Blaster support)
+
+Linux et al:
+
+ * pciutils / libpci
+ * pciutils-devel / pciutils-dev / libpci-dev
+ * zlib-devel / zlib1g-dev (needed if libpci was compiled with libz support)
+
+On FreeBSD, you need the following ports:
+
+ * devel/gmake
+ * devel/libpci
+
+On OpenBSD, you need the following ports:
+
+ * devel/gmake
+ * sysutils/pciutils
+
+To compile on Linux, use:
+
+ make
+
+To compile on FreeBSD, OpenBSD or DragonFly BSD, use:
+
+ gmake
+
+To compile on Nexenta, use:
+
+ make
+
+To compile on Solaris, use:
+
+ gmake LDFLAGS="-L$pathtolibpci" CC="gcc -I$pathtopciheaders" CFLAGS=-O2
+
+To compile on NetBSD (with pciutils, libftdi, libusb installed in /usr/pkg/), use:
+
+ gmake
+
+To compile and run on Darwin/Mac OS X:
+
+ Install DirectHW from coresystems GmbH.
+ DirectHW is available at http://www.coreboot.org/DirectHW .
+
+To cross-compile on Linux for DOS:
+
+ Get packages of the DJGPP cross compiler and install them:
+ djgpp-filesystem djgpp-gcc djgpp-cpp djgpp-runtime djgpp-binutils
+ As an alternative, the DJGPP web site offers packages for download as well:
+ djcross-binutils-2.19.1-10ap.i386.rpm
+ djcross-gcc-4.3.2-8ap.i686.rpm
+ djcrx-2.04pre_20090725-13ap.i386.rpm
+ The cross toolchain packages for your distribution may have slightly different
+ names (look for packages named *djgpp*).
+
+ You will need the following library source trees containing their compiled
+ static libraries either in the parent directory of the flashrom source or
+ specify the base folder on compile time with the LIBS_BASE parameter.
+ The default as described above is equal to calling
+ 'make djgpp-dos LIBS_BASE=..'
+
+ To get and build said libraries...
+ Download pciutils 3.1.5 and apply http://flashrom.org/File:Pciutils.patch.gz
+ Compile pciutils, see README.DJGPP for instructions.
+ Download and compile http://flashrom.org/File:Libgetopt.tar.gz
+ Enter the flashrom directory.
+ Run either (change settings where appropriate)
+ make CC=i586-pc-msdosdjgpp-gcc STRIP=i586-pc-msdosdjgpp-strip
+ or (above settings hardcoded)
+ make djgpp-dos
+ To run flashrom.exe, download http://flashrom.org/File:Csdpmi7b.zip and
+ unpack CWSDPMI.EXE into the current directory or one in PATH.
+
+To cross-compile on Linux for Windows:
+
+ Get packages of the MinGW cross compiler and install them:
+ mingw32-filesystem mingw32-cross-cpp mingw32-cross-binutils mingw32-cross-gcc
+ mingw32-runtime mingw32-headers
+ The cross toolchain packages for your distribution may have slightly different
+ names (look for packages named *mingw*).
+ PCI-based programmers (internal etc.) are not supported on Windows.
+ Run (change CC= and STRIP= settings where appropriate)
+ make CC=i686-w64-mingw32-gcc STRIP=i686-w64-mingw32-strip
+
+Processor architecture dependent features:
+
+ On non-x86 architectures a few programmers don't work (yet) because they
+ use port-based I/O which is not directly available on non-x86. Those
+ programmers will be disabled automatically if you run "make".
+
+Compiler quirks:
+
+If you are using clang and if you want to enable only one driver, you may hit an
+overzealous compiler warning from clang. Compile with "make WARNERROR=no" to
+force it to continue and enjoy.
+
+Installation
+------------
+
+In order to install flashrom and the manpage into /usr/local, type:
+
+ make install
+
+For installation in a different directory use DESTDIR, e.g. like this:
+
+ make DESTDIR=/usr install
+
+If you have insufficient permissions for the destination directory, use sudo
+by adding sudo in front of the commands above.
+
+
+Contact
+-------
+
+The official flashrom website is:
+
+ http://www.flashrom.org/
+
+The IRC channel is
+
+ #flashrom at irc.freenode.net
+
+The mailing list address is
+
+ flashrom@flashrom.org
OpenPOWER on IntegriCloud