From flashrom
Jump to navigation Jump to search

This wiki is retired

Our website is, instructions on how to add or update documentation are here

All wiki content available in read-only mode at


To cross-compile on Linux for DOS:

  1. Get packages of the DJGPP cross compiler and install them:
    • djgpp-filesystemdjgpp-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:
  2. 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.
  3. Download pciutils 3.5.6 and apply File:Pciutils-3.5.6.patch.gz
  4. 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
  5. Download and compile with 'make' File:Libgetopt.tar.gz
  6. Copy the libgetopt.a to ../libpci-libgetopt/lib and getopt.h to ../libpci-libgetopt/include
  7. Enter the flashrom directory.
    make CC=i586-pc-msdosdjgpp-gcc STRIP=i586-pc-msdosdjgpp-strip LIBS_BASE=../libpci-libgetopt/ strip
  8. If you like, you can compress the resulting executable with UPX:
    upx -9 flashrom.exe
  9. To run flashrom.exe, download and unpack CWSDPMI.EXE into the current directory or one in PATH.