mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-28 07:23:43 +02:00

Tested mainboards: OK: - ASRock G31M-GS Reported by Александр Трубицын - ASRock G41M-VS3 Reported by Александр Трубицын - ASRock N68C-S UCC Reported by Alexey Belyaev - ASRock AMCP7AION-HT (ION 330HT(-BD)) Reported by Stefan Tauner - ASUS P5K SE Reported by Александр Трубицын - ASUS P5KPL-VM Reported by Marin Vlah - ASUS RAMPAGE III GENE Reported by stevessss on IRC - GIGABYTE GA-945GM-S2 Reported by Александр Трубицын - GIGABYTE GA-945GCM-S2 (rev. 3.0) Reported by Александр Трубицын - GIGABYTE GA-965P-S3 Reported by Александр Трубицын - GIGABYTE GA-EG43M-S2H Reported by Александр Трубицын - GIGABYTE GA-EP31-DS3L (rev. 1.0) Reported by Александр Трубицын - GIGABYTE GA-G33M-S2 Reported by Александр Трубицын - GIGABYTE GA-G33M-S2L Reported by Александр Трубицын - GIGABYTE GA-H55M-S2 Reported by Александр Трубицын - GIGABYTE GA-J1900N-D3V Reported by Marcos Truchado and Guillermo von Hünefeld - GIGABYTE GA-K8NS Reported by nicolae788 - GIGABYTE GA-M56S-S3 Reported by Estevo Paz Freire - GIGABYTE GA-P31-DS3L Reported by Александр Трубицын - GIGABYTE GA-P31-S3G Reported by Александр Трубицын - MSI MS-7336 Reported by Benjamin Bellec - MSI X79A-GD45 (8D) (MS-7760)" Reported by mortehu on IRC - Supermicro A1SAi-2550F Reported by Bernard Grymonpon - Supermicro X7DWT Reported by Steven Stremciuc Laptop: - ASUS U38N Reported by Ultra on IRC - Dell Latitude D630 Reported by Márton Miklós - Fujitsu Amilo Xi 3650 Reported by Elmar Stellnberger - Lenovo T400 (whitelisting only) Chipsets: - Mark 8086:1f38 (Intel Avoton/Rangeley) as tested Reported by Jeremy Porter and Bernard Grymonpon - Add Intel Sunrise Point IDs but no support yet. Flash chips: - Atmel AT45DB321D to PREW (+PREW) Reported by The Raven - Eon EN25QH32 to PREW (+PREW) Reported by Josua Mayer - Eon EN25QH64 to PREW (+EW) Reported by David s. Alessio - GigaDevice GD25LQ64(B) to PREW (+PREW) Reported by Greg Tippit - Intel 28F001BN/BX-T to PREW (+EW) Reported by Lu Xie - Micron M25P10-A to PREW (+W) Reported by the Raven - Micron M25PE40 Reported by David Wood - Micron N25Q128..3E to PREW (+PREW) Reported by Miklós Márton - Macronix MX25L3273E to PREW (+PREW) Reported by Roklobsta on IRC - Macronix MX23L6454 to PR (+PR) Reported by Steven Honeyman - Macronix MX25U6435E/F to PREW (+PREW) Reported by Marcos Truchado and Guillermo von Hünefeld - PMC Pm25LQ032C to PREW (+EW) Reported by Dirk Knop - Spansion S25FL016A to PREW (+EW) Reported by Márton Miklós - Spansion S25FL128S......0 to PREW (+PREW) Reported by Jim Houston - Spansion S25FL204K to PR (+PR) Reported by Thomas Debrunner - SST SST49LF016C to PREW (+EW) Reported by Steven Stremciuc - SST SST39VF040 to PREW (+PREW) Reported by Xavier Bourgeois - SST SST49LF040B to PREW (+EW) Reported by Rikard Åhlund - ST M25P10-A to PREW (+W) Reported by Martijn Schiedon - Winbond W39V040FA to PREW (+EW) Reported by Евгений Черкашин - Winbond W39V080FA to PREW (+EW) Reported by protagonist0 on IRC - Winbond W25Q80.W to PREW (+PREW) Reported by Miklós Márton - Winbond W25X64 to PREW (+REW) Reported by Johannes Krampf and Manuel Dejonghe - Fix ID of AMIC A25LQ64 Reported by Roman Titov - Fix page size of Spansion S25FL129P......1 Copy and paste error from the 128S uniform 256kB variant, probably. - Add Micron/Numonyx phase-change memory IDs Miscellaneous: - Detect Android target OS. No changes are required to build flashrom (excluding programmers with NEED_PCI) on Android. - Update rayerspi (spipgm) URL - Fix max_data_write handling of at45db. - Minor refinement of the README - Mark board enable for the GA-K8NS variants as tested. Tested by "nicolae788" on a board with socket 754. - Mark "Multi-system" chassis as non-laptop case. - Remove W836xx log requests. We got enough (and no one is looking at them for the time being anyway). - serprog: improve invalid reply error message, contributed by Urja Rannikko. - Remove default include paths for MinGW. - Disable implicit rules in the Makefile because we don't need them and they just make the build (imperceptibly) slower. - Enable our own strnlen() implementation not only on DJGPP but also if HAVE_STRNLEN is not defined. This is needed to get older BSDs (e.g. NetBSD 6.0, FreeBSD < 8.0) to work. - Tiny other stuff. Corresponding to flashrom svn r1917. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
168 lines
5.2 KiB
Plaintext
168 lines
5.2 KiB
Plaintext
-------------------------------------------------------------------------------
|
|
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".
|
|
|
|
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
|