mirror of
https://review.coreboot.org/flashrom.git
synced 2025-04-26 22:52:34 +02:00

- /usr/include/cpu/param.h defines PAGE_MASK already, hence use another name for the respective macro in nicintel_eeprom.c. - Since DragonflyBSD 3.6 DPorts is used as the default package manager. Therefore we should use /usr/local/ instead of /usr/pkg/ on default to fetch libraries. Corresponding to flashrom svn r1866. Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
167 lines
5.1 KiB
Plaintext
167 lines
5.1 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 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, 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
|