summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README192
1 files changed, 0 insertions, 192 deletions
diff --git a/README b/README
deleted file mode 100644
index 4e7bd4fbc..000000000
--- a/README
+++ /dev/null
@@ -1,192 +0,0 @@
--------------------------------------------------------------------------------
-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 Git, either use
-make export
-or
-make tarball
-
-'make export' will export all flashrom files from the Git repository at
-revision HEAD into a directory named "$EXPORTDIR/flashrom-$RELEASENAME"
-and will additionally add a "versioninfo.inc" file in that directory to
-contain the Git revision of the exported tree and a date for the manual
-page.
-
-'make tarball' will simply tar up the result of make export and compress
-it with bzip2.
-
-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)
- * libjaylink (if you want support for SEGGER J-Link and compatible devices)
-
-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.29.1-1ap.x86_64.rpm
- djcross-gcc-7.2.0-1ap.x86_64.rpm
- djcrx-2.05-5.x86_64.rpm
- The cross toolchain packages for your distribution may have slightly different
- names (look for packages named *djgpp*).
-
- Alternatively, you could use a script to build it from scratch:
- https://github.com/andrewwutw/build-djgpp
-
- You will need the libpci and libgetopt library source trees and
- their compiled static libraries and header files installed in some
- directory say libpci-libgetopt/, which will be later specified with
- LIBS_BASE parameter during flashrom compilation. Easiest way to
- handle it is to put pciutils, libgetopt and flashrom directories
- in one subdirectory. There will be an extra subdirectory libpci-libgetopt
- created, which will contain compiled libpci and libgetopt.
-
- Download pciutils 3.5.6 and apply http://flashrom.org/File:Pciutils-3.5.6.patch.gz
- Compile pciutils, using following command line:
-
- make ZLIB=no DNS=no HOST=i386-djgpp-djgpp CROSS_COMPILE=i586-pc-msdosdjgpp- \
- PREFIX=/ DESTDIR=$PWD/../libpci-libgetopt \
- STRIP="--strip-program=i586-pc-msdosdjgpp-strip -s" install install-lib
-
- Download and compile with 'make' http://flashrom.org/File:Libgetopt.tar.gz
-
- Copy the libgetopt.a to ../libpci-libgetopt/lib and
- getopt.h to ../libpci-libgetopt/include
-
- Enter the flashrom directory.
-
- make CC=i586-pc-msdosdjgpp-gcc STRIP=i586-pc-msdosdjgpp-strip LIBS_BASE=../libpci-libgetopt/ strip
-
- If you like, you can compress the resulting executable with UPX:
-
- upx -9 flashrom.exe
-
- 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