1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-26 06:32:34 +02:00
Stefan Tauner 0554ca5cd3 Add a bunch of new/tested stuff and various small changes 18
Tested mainboards:
OK:
 - ASUS C60M1-I
   http://www.flashrom.org/pipermail/flashrom/2013-February/010578.html
 - ASUS P8H77-I
   http://www.flashrom.org/pipermail/flashrom/2013-March/010607.html
 - ASUS P8H77-M
   http://www.flashrom.org/pipermail/flashrom/2013-May/010994.html
 - ASUS P8P67 LE (B2)
   http://www.flashrom.org/pipermail/flashrom/2013-May/010972.html
 - Elitegroup GeForce6100PM-M2 (V3.0)
   http://www.flashrom.org/pipermail/flashrom/2013-July/011177.html
 - GIGABYTE GA-P55A-UD7
   http://www.flashrom.org/pipermail/flashrom/2013-July/011302.html
 - MSI B75MA-E33 (MS-7808)
   http://www.flashrom.org/pipermail/flashrom/2013-March/010659.html
 - MSI H77MA-G43 (MS-7756)
   http://www.flashrom.org/pipermail/flashrom/2013-April/010853.html
 - MSI KA780G (MS-7551)
   http://paste.flashrom.org/view.php?id=1617
 - SAPPHIRE IPC-E350M1
   Reported by xvilka on IRC
 - Supermicro X8DTG-D
   http://www.flashrom.org/pipermail/flashrom/2013-July/011305.html
NOT OK:
 - ASRock Fatal1ty Z77 Performance
   http://www.flashrom.org/pipermail/flashrom/2013-January/010467.html
 - ASRock Z68 Extreme4
   http://www.flashrom.org/pipermail/flashrom/2013-May/010984.html
 - ASUS P8B75-M LE
   http://www.flashrom.org/pipermail/flashrom/2013-April/010867.html
 - ASUS P8P67-M PRO
   http://www.flashrom.org/pipermail/flashrom/2013-February/010541.html
 - ASUS P8Z68-V LE
   http://www.flashrom.org/pipermail/flashrom/2013-February/010582.html
 - Intel DQ77MK
   http://paste.flashrom.org/view.php?id=1603
 - Supermicro X9DRD-7LN4F
   http://paste.flashrom.org/view.php?id=1582
 - Supermicro X9SCE-F
   http://www.flashrom.org/pipermail/flashrom/2013-February/010588.html
 - Supermicro X9SCM-F
   http://www.flashrom.org/pipermail/flashrom/2013-February/010527.html
 - Tyan S7066
   http://www.flashrom.org/pipermail/flashrom/2013-March/010630.html

Chipsets:
 - Marked Intel B75 as tested
   http://www.flashrom.org/pipermail/flashrom/2013-March/010659.html
 - Marked Intel H77 as tested
   http://www.flashrom.org/pipermail/flashrom/2013-March/010607.html
 - Removed 10de:03e2 because it is apparently the MCP61 host bridge.
   It was reclassified to Host Bridge in the PCI device ID database and there
   is at least one report suggesting this configuration too:
   http://www.flashrom.org/pipermail/flashrom/2012-August/009716.html
 - Added MCP89 which hopefully works with the code for previous versions.
   Thanks to James Laird for submitting this change.

Tested flash chips:
 - Atmel AT25DF641(A) to PREW (+PREW)
   http://www.flashrom.org/pipermail/flashrom/2013-June/011113.html
 - Atmel AT25F512 to PREW (+PREW)
   http://www.flashrom.org/pipermail/flashrom/2013-April/010904.html
   Also, change its ID according to Modification of PCN SC040401A:
   "There has been a change in the returned value of the Product Identification
   (RDID) command, the AT25F512A RDID code is 65h compared to 60h from
   the AT25F512 product."
   It seems to be quite likely that all AT25F512 are fully functional relabeled
   AT25F1024 chips. There are even some hints in the datasheet:
   in table 6 they stress that address pin 16 needs to be low under all circum-
   stances; while continuous reads can wrap around on the AT25F1024 the DS
   notes "For the AT25F512, the read command must be terminated when the
   highest address (00FFFF) is reached." OTOH the lock bit semantics are
   different, but this has not been tested thoroughly
 - Atmel AT25F512A to PREW (+PREW)
   http://paste.flashrom.org/view.php?id=1569
 - Eon EN25F05 to PREW (+PREW)
   http://paste.flashrom.org/view.php?id=1571
 - Macronix MX25L12805(D) to PREW (+REW)
   http://www.flashrom.org/pipermail/flashrom/2013-April/010913.html
 - Spansion S25FL256S......0 and S25FL512S to P/!R!E!W (+P)
   Tested by Stefan Tauner
 - Micron/Numonyx/ST M25PX80 to PREW (+PREW)
   Tested by Stefan Tauner
 - Micron/Numonyx/ST N25Q032..3E and N25Q128..3E to PREW (+PREW)
   Tested by Stefan Tauner
 - Micron/Numonyx/ST N25Q256..3E and N25Q512..3G to P/!R!E!W (+P)
   Tested by Stefan Tauner
 - SST SST25VF040B to PREW (+PREW)
   http://paste.flashrom.org/view.php?id=1574
 - SST SST25VF040B.REMS to PREW (+EW)
   http://paste.flashrom.org/view.php?id=1575
 - ST M25P05-A to PREW (+PREW)
   http://paste.flashrom.org/view.php?id=1576
 - ST M29W512B to PREW (+W)
   http://www.flashrom.org/pipermail/flashrom/2013-March/010635.html
 - Winbond W25Q64.W to PREW (+PREW)
   Tested by the chromiumos guys.
 - Winbond W25Q128.V to PREW (+REW)
   http://www.flashrom.org/pipermail/flashrom/2013-June/011108.html
 - Winbond W25X20 to PREW (+PREW)
   http://www.flashrom.org/pipermail/flashrom/2013-May/010990.html

Miscellaneous:
 - Add Lenovo X201 to the laptop whitelist.
 - Add chip IDs for the ESMT F25L..QA family.
 - Add chip IDs for a few Macronix MX25 models.
 - The list of flashchips is not sorted strictly alphabetically and should not be
   either. Refine the comment explaining the scheme on top of the list.
 - Support -L output of chip sizes with up to 6 decimal places (up to 4 Gb).
 - Use z length modifier in (more) prints for size_t types.
 - Remove chips >16MB again because our current implementation of memory mapping
   the flash chip violates common rules by mapping a window as large as the chip.
   This leads to failing mmaps as can be seen here:
   http://paste.flashrom.org/view.php?id=1695
 - Document spispeed parameter of linux_spi (and fix some leaks).
 - Rephrase the "multiple chips detected" message because it was confusing.
 - Skip verification step if the image is equal to the flash contents.
 - Tiny other stuff.

Corresponding to flashrom svn r1702.

Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
2013-07-25 22:54:25 +00:00
2013-01-04 22:54:07 +00:00
2007-09-08 14:36:01 +00:00
2013-05-23 21:47:46 +00:00
2013-01-04 22:54:07 +00:00
2013-07-13 23:21:05 +00:00
2013-07-13 23:21:05 +00:00
2012-07-20 20:35:14 +00:00
2013-07-13 23:21:05 +00:00
2012-07-20 20:35:14 +00:00
2012-02-25 22:50:21 +00:00
2012-11-30 16:46:45 +00:00
2013-07-11 13:48:52 +00:00
2012-08-09 21:09:51 +00:00
2012-08-27 00:44:42 +00:00
2013-03-27 13:00:23 +00:00
2013-01-04 22:54:07 +00:00
2012-07-20 20:35:14 +00:00

-------------------------------------------------------------------------------
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 DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, and TSOP40
chips, which use various protocols such as LPC, FWH, parallel flash, or SPI.

Do not use flashrom on laptops! The embedded controller (EC) present in many
laptops interacts badly with any flash attempts and can brick your laptop
permanently.

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, 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 or DragonFly BSD, use:

 ln -s /usr/pkg/include/pciutils pci
 gmake CPPFLAGS="-I. -I/usr/pkg/include" \
       LDFLAGS="-L/usr/pkg/lib -Wl,-rpath-link,/usr/pkg/lib"

To compile on OpenBSD, 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*).
 Download pciutils 3.1.5 and apply http://assembler.cz/flashrom/pciutils.patch
 Download and compile http://assembler.cz/flashrom/libgetopt/
 Compile pciutils, see README.DJGPP for instructions.
 Enter the flashrom directory.
 ../libpci should contain pciutils source and binaries.
 ../libgetopt should contain getopt.a from libgetopt.
 Run either (change settings where appropriate)
 make CC=i586-pc-msdosdjgpp-gcc STRIP=i586-pc-msdosdjgpp-strip
 or (above settings hardcoded)
 make djgpp-dos
 You might have to add WARNERROR=no to the make command line.
 To run flashrom.exe, download and unpack
 http://homer.rice.edu/~sandmann/cwsdpmi/csdpmi7b.zip and make sure
 CWSDPMI.EXE is in the current directory.

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
Description
No description provided
Readme 75 MiB
Languages
C 90.2%
Rust 5%
Shell 2%
Makefile 1.6%
Meson 1.2%