This wiki is retired
All wiki content available in read-only mode at wiki.flashrom.org
The flashrom developers are happy to announce the release of the flashrom 0.9.6 series.
flashrom is a utility for reading, writing, erasing and verifying flash ROM chips.
flashrom is designed to flash BIOS/[U]EFI/coreboot/firmware/optionROM images on mainboards, network/graphics/storage controller cards, and various programmer devices. It can do so without any special boot procedures and from your normal working environment.
Highlights of flashrom
- Parallel, LPC, FWH and SPI flash interfaces.
- Support for onboard programming and external programmers.
- 300 (+12 since 0.9.5) flash chip types/models some with a number of variants each.
- 220 (+44 since 0.9.5) different chipsets, some with multiple flash controllers.
- 401 (+27 since 0.9.5) mainboards verified to be working.
- Flash chip package agnostic. DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32/40/48, BGA and more have all been verified to work.
- 50 PCI devices, various USB and parallel port devices, and all external programmers compatible with serprog or SI Prog can be used for flashing.
- No physical access needed. root access is sufficient.
- No bootable floppy disk, bootable CD-ROM or other media needed.
- No keyboard or monitor needed. Simply reflash remotely via SSH.
- No instant reboot needed. Reflash your ROM in a running system, verify it, be happy. The new firmware will be present next time you boot.
- Crossflashing and hotflashing is possible as long as the flash chips are electrically and logically compatible (same protocol). Great for recovery.
- Scriptability. Reflash a whole pool of identical machines at the same time from the command line. It is recommended to check flashrom output and error codes.
- Speed. flashrom is much faster than vendor flash tools.
- Supports Linux, FreeBSD, NetBSD, DragonFly BSD, OpenBSD, Nexenta, Solaris, Mac OS X and DOS fully, Windows partially (no flashing of mainboards). Please refer to the README for build instructions.
Thanks go to everyone who contributed to flashrom over the years.
Please note that rewriting your flash chip can be dangerous and flashrom developers make no guarantees whatsoever. That said, many users have successfully replaced proprietary tools such as awdflash, amiflash and afudos with flashrom.
User interface changes
- The -p/--programmer parameter is now mandatory for all operations that access the programmer/chip.
- Previously there was a default programmer selected at build time. This was convenient for most users, but created a danger for others that increased with the number of platforms and programmers supported, namely that they get used to a default programmer that later changes when they use another binary. It is very easy to brick a mainboard in case you do not notice you are writing its firmware instead of a device attached to an external programmer. The disadvantage is of course that many users have now to add -p internal to the command line when they want to do the obvious and flash their mainboards.
- It is now possible to let flashrom create log files directly (by using the new -o/--output option).
- flashrom now checks for duplicate -i/--image arguments (which are used together with layout files).
New major user-visible features
- Programmer support:
- new driver ponyprog for hardware similar to SI Prog
- native SPI AAI write support to the Dediprog SF100 driver
- Support for new chips:
- Atmel AT49F040
- Eon EN25QH32
- Eon EN29LV640B
- GigaDevice GD25QXX
- Numonyx N25Q064
- PMC Pm39LV512
Infrastructural improvements and fixes
- The dummy programmer got support for SFDP and now has a dedicated status register.
- Various minor refactorings of SPI-related code.
- The code generating the list of supported hardware for the wiki has been improved.
- Many exit() calls have been replaced by proper error handling.
- I/O permissions are now released automatically on shutdown.
- Preliminary work on Winbond W836xx and ITE IT8707F/IT8710F detection.
flashrom 0.9.6 had a small bug regarding the version string, which has been fixed in 0.9.6.1.
flashrom 0.9.6.1 can be downloaded in various ways:
Anonymous checkout from the subversion repository at svn://flashrom.org/flashrom/tags/flashrom-0.9.6.1
A tarball is available for download at
Please see the archived status page for the hardware supported by this release.