From flashrom
Revision as of 13:01, 16 April 2020 by Th3Fanbus (talk | contribs) (Archive old release notes)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This wiki is retired

Our website is https://www.flashrom.org, instructions on how to add or update documentation are here

All wiki content available in read-only mode at wiki.flashrom.org

This is an archived release notes page. For the release notes of the latest stable release please see here.

Short summary for package changelogs

  • Support for external flashers: 3Com NICs, SiI SATA controllers, ITE IT87* SuperI/Os, FT2232H/FT4232H based SPI serial adapters, AVR based flasher (with AVR source code), Dummy tracing flasher
  • Universal external flasher protocol
  • Automatic write/erase verification
  • Dozens of added flash chips, chipsets, mainboards
  • No root privileges needed for most external flashers
  • Improved more verbose user interface
  • Speedups: Fast bus type dependent probing, 100x faster write for some chips
  • Reliability fixes for buggy hardware, corner case spec conformance

Release announcement

The flashrom developers are happy to announce the release of flashrom 0.9.1.

flashrom is a utility for reading, writing, erasing and verifying flash ROM chips.

flashrom is often used to flash BIOS/coreboot/firmware images because it allows you to update your BIOS/coreboot/firmware without opening the computer and without any special boot procedures.

After nine years of development and constant improvement, we have added support for every BIOS flash ROM technology present on x86 mainboards and every flash ROM chip we ever saw in the wild.

Highlights of flashrom include:

  • Parallel, LPC, FWH and SPI flash interfaces.
  • Support for onboard programming and external programmers.
  • 192 flash chip families and half a dozen variants of each family.
  • Flash chip package agnostic. DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40 and more have all been verified to work.
  • 78 different chipsets, some with multiple flash controllers.
  • Special mainboard enabling code for dozens of nonstandard mainboards.
  • 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, DragonFly BSD, Nexenta, Solaris, Mac OS X. 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.

flashrom has its own home page at http://www.flashrom.org/

New major user-visible features include:

  • 3Com NICs as external flasher
  • Silicon Image SATA controllers as external flasher
  • ITE IT87* SuperI/O SPI translation as external flasher
  • FT2232H/FT4232H based SPI external flasher support
  • Universal external flasher protocol
  • AVR based external flasher support attached via serial line
  • Dummy flasher driver to trace execution
  • Automatic write/erase verification
  • Dozens of added flash chips
  • Support for new chipsets
  • Support for new boards
  • Fast bus type dependent probing
  • No root privileges needed for most external flashers

Infrastructural improvements and fixes:

  • External flasher infrastructure
  • Improved SPI abstraction
  • SPI multicommand infrastructure
  • Partial read support infrastructure
  • Accurate timing information for probing
  • Tarball export target
  • User interface cleanup
  • Block protection printing for more chips
  • Probing accuracy improvements for old SPI chips on ICH
  • MMIO abstraction layer
  • Chip access abstraction layer
  • More intelligent error handling for ICH/VIA SPI
  • Fix corner case SB600 SPI hangs on non-SPI boards
  • Downgrade to byte program for certain chip families because they don't support page program
  • Detection of no-ID responses from chips
  • Elan SC520 runtime detection
  • 100x speedup for writes to some SPI chips
  • Improved error messages
  • Correctness fixes
  • Various workarounds for broken hardware
  • Code cleanups