diff options
| author | Timothy Pearson <tpearson@raptorengineering.com> | 2016-08-26 16:22:19 -0500 |
|---|---|---|
| committer | Timothy Pearson <tpearson@raptorengineering.com> | 2016-08-26 16:22:19 -0500 |
| commit | 3bac020ef83294fd7c3d40c8ec9c0097da93b876 (patch) | |
| tree | 865460b93d760a55ac8eecc20d6019d4a1cb6afa /README | |
| download | flashrom-raptor-p9-3bac020ef83294fd7c3d40c8ec9c0097da93b876.tar.gz flashrom-raptor-p9-3bac020ef83294fd7c3d40c8ec9c0097da93b876.zip | |
Stock SVN revision r1954
Diffstat (limited to 'README')
| -rw-r--r-- | README | 173 |
1 files changed, 173 insertions, 0 deletions
@@ -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 |

