Dreg's fork windows build: - https://github.com/therealdreg/flashrom_build_windows_x64
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 classic_cli_manpage
.
# Building / installing / packaging ---------------------------------
flashrom supports building with make and meson.
## Installing dependencies
- Linux
- Debian / Ubuntu
`bash apt-get install -y \ gcc meson ninja-build pkg-config python3-sphinx \ libcmocka-dev libpci-dev libusb-1.0-0-dev libftdi1-dev libjaylink-dev
` - ArchLinux / Manjaro
`bash pacman -S --noconfirm \ gcc meson ninja pkg-config python-sphinx cmocka \ pciutils libusb libftdi libjaylink
` - openSUSE / SUSE
`bash zypper install -y \ gcc meson ninja pkg-config python3-Sphinx \ libcmocka-devel pciutils-devel libusb-1_0-devel libftdi1-devel libjaylink-devel
` - NixOS / nixpkgs
`bash nix-shell -p \ gcc meson ninja pkg-config sphinx \ cmocka pciutils libusb1 libftdi1 libjaylink
` - Alpine Linux
`bash apk add \ build-base meson ninja pkgconf py3-sphinx \ cmocka-dev pciutils-dev libusb-dev libjaylink-dev
`
- Debian / Ubuntu
- MacOS
- Homebrew
- libpci is not available through the package manager
- libjaylink is not available through the package manager
`bash brew install \ meson ninja pkg-config sphinx-doc \ libusb libftdi
`
- Homebrew
- BSD
- FreeBSD / DragonFlyBSD
- libusb1 is part of the system
- libjaylink is not available through the package manager
`bash pkg install \ meson ninja pkgconf py39-sphinx \ cmocka libpci libftdi1
`
- OpenBSD
- libjaylink is not available through the package manager
`bash pkg_add \ meson ninja pkg-config py39-sphinx\ cmocka pciutils libusb1 libftdi1
`
- NetBSD
- libjaylink is not available through the package manager
- note: [https://www.cambus.net/installing-ca-certificates-on-netbsd/](https://www.cambus.net/installing-ca-certificates-on-netbsd/)
`bash pkgin install \ meson ninja pkg-config py39-sphinx \ cmocka pciutils libusb1 libftdi1
`
- FreeBSD / DragonFlyBSD
- OpenIndiana (Illumos, Solaris, SunOS)
- libpci missing, pciutils is build without it
- libftdi1 & libjaylink are not available through the package manager
- TODO: replace build-essential with the default compiler
`bash pkg install build-essential meson ninja cmocka libusb-1
`
- DJGPP-DOS
- Get [DJGPP](https://www.delorie.com/djgpp/)
- A great build script can be found [here](https://github.com/andrewwutw/build-djgpp)
- Download the [pciutils](https://mj.ucw.cz/sw/pciutils/) sources
- Run the following commands in the the pciutils directory to build libpci for DOS. Replace <DOS_INSTALL_ROOT> with your cross-compile install root.
`bash make install-lib \ ZLIB=no \ DNS=no \ HOST=i386-djgpp-djgpp \ CROSS_COMPILE=i586-pc-msdosdjgpp- \ STRIP="--strip-program=i586-pc-msdosdjgpp-strip -s" \ PREFIX=<DOS_INSTALL_ROOT>
` - Point pkg-config to the <DOS_INSTALL_ROOT>
`bash export PKG_CONFIG_SYSROOT=<DOS_INSTALL_ROOT>
` - To compile flashrom use the meson_cross/i586_djgpp_dos.txt cross-file
- You will need [CWSDPMI.EXE](https://sandmann.dotster.com/cwsdpmi/) to run flashrom
- Get [DJGPP](https://www.delorie.com/djgpp/)
:
meson setup builddir
meson compile -C builddir
meson test -C builddir
meson install -C builddir
For full detailed instructions, follow the information in dev_guide/building_from_source
make
make install
For full detailed instructions, follow the information in dev_guide/building_with_make
# Contact -------
The official flashrom website is:
For available contact methods see contact
# Related -------- https://github.com/therealdreg/flashrom_build_windows_x64 - https://github.com/therealdreg/asprogrammer-dregmod - https://github.com/therealdreg/buzzpirat