mirror of
				https://review.coreboot.org/flashrom.git
				synced 2025-10-31 13:20:42 +01:00 
			
		
		
		
	 b63b067ae2
			
		
	
	b63b067ae2
	
	
	
		
			
			Add a requirements section to the man page which lists the needed access permissions for each programmer. This feature needs my pciutils/libpci 8/16-bit write emulation patch at http://marc.info/?l=openbsd-ports&m=127780030728045 titled [PATCH] Fix pciutils non-32bit PCI write on OpenBSD Corresponding to flashrom svn r1067. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Stuart Henderson <sthen@openbsd.org>
		
			
				
	
	
		
			142 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			3.8 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 packages or ports:
 | |
| 
 | |
| 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. 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 DirectIO from coresystems GmbH.
 | |
|  DirectIO is available at http://www.coresystems.de/en/directio.
 | |
| 
 | |
| To cross-compile on Linux for DOS:
 | |
| 
 | |
|  Get RPMs of the cross compiler from the DJGPP site and install them:
 | |
|  djcross-binutils-2.19.1-10ap.i386.rpm
 | |
|  djcross-gcc-tools-4.4.1-1ap.i686.rpm
 | |
|  djcross-gcc-4.3.2-8ap.i686.rpm
 | |
|  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 OS_ARCH=DOS
 | |
|  or (above settings hardcoded)
 | |
|  make djgpp-dos
 | |
|  You might have to add WARNERROR=no to the make command line.
 | |
|  To run flashrom.exe, download http://clio.rice.edu/djgpp/csdpmi7b.zip and
 | |
|  make sure CWSDPMI.EXE is in the current directory.
 | |
| 
 | |
| 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
 |