Difference between revisions of "Flashrom/0.9.2"

From flashrom
Jump to: navigation, search
(Short summary for package changelogs)
(Release announcement: Done?)
Line 79: Line 79:
 
= Release announcement =
 
= Release announcement =
  
The flashrom developers are happy to announce the release of flashrom 0.9.FIXME.
+
The flashrom developers are happy to announce the release of flashrom 0.9.2.
  
 
flashrom is a utility for reading, writing, erasing and verifying flash ROM chips.
 
flashrom is a utility for reading, writing, erasing and verifying flash ROM chips.
Line 85: Line 85:
 
flashrom is designed to flash BIOS/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.
 
flashrom is designed to flash BIOS/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.
  
After FIXME 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.
+
After over 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:
 
Highlights of flashrom include:
 
* Parallel, LPC, FWH and SPI flash interfaces.
 
* Parallel, LPC, FWH and SPI flash interfaces.
 
* Support for onboard programming and external programmers.
 
* Support for onboard programming and external programmers.
* FIXME flash chip families and half a dozen variants of each family.
+
* 225 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.
 
* Flash chip package agnostic. DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32, TSOP40 and more have all been verified to work.
* FIXME different chipsets, some with multiple flash controllers.
+
* 128 different chipsets, some with multiple flash controllers.
 
* Special mainboard enabling code for dozens of nonstandard mainboards.
 
* Special mainboard enabling code for dozens of nonstandard mainboards.
* FIXME PCI devices, FIXME USB devices and all external serprog-based programmers can be flashed or used for flashing.
+
* 19 PCI devices, 3 USB devices and all external serprog-based programmers can be flashed or used for flashing.
 
* No physical access needed. root access is sufficient.
 
* No physical access needed. root access is sufficient.
 
* No bootable floppy disk, bootable CD-ROM or other media needed.
 
* No bootable floppy disk, bootable CD-ROM or other media needed.
Line 102: Line 102:
 
* 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.
 
* 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.
 
* Speed. flashrom is much faster than vendor flash tools.
* Supports Linux, FreeBSD, NetBSD, DragonFly BSD, Nexenta, Solaris, Mac OS X and DOS. Please refer to the README for build instructions.
+
* Supports Linux, FreeBSD, NetBSD, DragonFly BSD, Nexenta, Solaris, Mac OS X and DOS. Partial support for Windows. Please refer to the README for build instructions.
  
 
Thanks go to everyone who contributed to flashrom over the years.
 
Thanks go to everyone who contributed to flashrom over the years.
Line 111: Line 111:
  
 
New major user-visible features include:
 
New major user-visible features include:
* FIXME
+
* Dozens of newly supported mainboards, chipsets and flash chips.
 +
* Support for Dr. Kaiser PC-Waechter PCI devices.
 +
* Support for flashing SPI chips with the Bus Pirate.
 +
* Support for the Dediprog SF100 external programmer.
 +
* Selective blockwise erase for all flash chips.
 +
* Automatic chip unlocking.
 +
* Support for each programmer can be selected at compile time.
 +
* Generic detection for unknown flash chips.
 +
* Common mainboard features are now detected automatically.
 +
* Mainboard matching via DMI strings.
 +
* Laptop detection which triggers safety measures.
 +
* Test flags for all part of flashrom operation.
 +
* Windows support for USB-based and serial-based programmers.
 +
* NetBSD support.
 +
* DOS support.
 +
* Slightly changed command line invocation.
 +
 
 +
Experimental new features:
 +
* Support for some NVIDIA graphics cards.
 +
* Chip test pattern generation.
 +
* Support for bit-banging SPI controllers.
 +
* Nvidia MCP6*/MCP7* chipset detection.
 +
* Support for Highpoint ATA/RAID controllers.
  
 
Infrastructural improvements and fixes:
 
Infrastructural improvements and fixes:
* FIXME
+
* Lots of cleanups.
* Improved error messages
+
* Various bugfixes and workarounds for broken third-party software.
* Correctness fixes
+
* Better error messages.
* Various workarounds for broken hardware
+
* Reliability fixes.
* Code cleanups
+
* Adjustable severity level for messages.
 +
* Programmer-specific chip size limitation warnings.
 +
* Multiple builtin frontends for flashrom are now possible.
 +
* Increased strictness in board matching.
 +
* Extensive selfchecks on startup to protect against miscompilation.
 +
* Better timing precision for touchy flash chips.
 +
* Do not rely on Linux kernel bugs for mapping memory.
 +
* Improved documentation.

Revision as of 01:20, 1 June 2010

Draft

Draft 1

Done are:

  • Dr. Kaiser PC-Wächter flashing support (the FPGA variant)
  • Blockwise erase (infrastructure and a few chips, no user interface yet)
  • split frontend and backend functionality
  • DOS support
  • bitbanging SPI driver infrastructure
  • Bus Pirate support
  • Dediprog SF100 support

Countless new features and bugfixes like:

  • cosmetic and naming/coding style fixes
  • error checking/handling
  • dependency checking/handling
  • Add infrastructure to check and report to the user the maximum supported decode size for chipsets and tested mainboards
  • new message infrastructure
  • Matching board via DMI
  • print runtime and build environment information


Draft 2

New mature features

  • Dozens of newly supported mainboards, chipsets and flash chips.
  • Support for Dr. Kaiser PC-Waechter PCI devices.
  • Support for flashing SPI chips with the Bus Pirate.
  • Support for the Dediprog SF100 external programmer.
  • Selective blockwise erase for all flash chips.
  • Automatic chip unlocking.
  • Support for each programmer can be selected at compile time.
  • Generic detection for unknown flash chips.
  • Common mainboard features are now detected automatically.
  • Mainboard matching via DMI strings.
  • Laptop detection which triggers safety measures.
  • Test flags for all part of flashrom operation.
  • Windows support for USB-based and serial-based programmers.
  • NetBSD support.
  • DOS support.
  • Slightly changed command line invocation.


Experimental features

  • Support for some NVIDIA graphics cards.
  • Chip test pattern generation.
  • Support for bit-banging SPI controllers.
  • Nvidia MCP6*/MCP7* chipset detection.
  • Support for Highpoint ATA/RAID controllers.


Code quality

  • Lots of cleanups.
  • Various bugfixes and workarounds for broken third-party software.
  • Better error messages.
  • Reliability fixes.
  • Adjustable severity level for messages.
  • Programmer-specific chip size limitation warnings.
  • Multiple builtin frontends for flashrom are now possible.
  • Increased strictness in board matching.
  • Extensive selfchecks on startup to protect against miscompilation.
  • Better timing precision for touchy flash chips.
  • Do not rely on Linux kernel bugs for mapping memory.
  • Improved documentation.

Draft 3

FIXME: Fill in the info above wherever the text below has a FIXME.


Short summary for package changelogs

  • Support for new flashers: Dr. Kaiser PC-Waechter, Dangerous Prototypes Bus Pirate, Dediprog SF100
  • Dozens of added flash chips, chipsets, mainboards
  • Selective blockwise erase
  • Improved user interface
  • Reliability fixes for buggy hardware, buggy third party software and corner case spec conformance
  • Mainboard matching via DMI strings
  • Laptop detection which triggers safety measures

Release announcement

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

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

flashrom is designed to flash BIOS/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.

After over 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.
  • 225 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.
  • 128 different chipsets, some with multiple flash controllers.
  • Special mainboard enabling code for dozens of nonstandard mainboards.
  • 19 PCI devices, 3 USB devices and all external serprog-based programmers can be flashed or 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, Nexenta, Solaris, Mac OS X and DOS. Partial support for Windows. 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:

  • Dozens of newly supported mainboards, chipsets and flash chips.
  • Support for Dr. Kaiser PC-Waechter PCI devices.
  • Support for flashing SPI chips with the Bus Pirate.
  • Support for the Dediprog SF100 external programmer.
  • Selective blockwise erase for all flash chips.
  • Automatic chip unlocking.
  • Support for each programmer can be selected at compile time.
  • Generic detection for unknown flash chips.
  • Common mainboard features are now detected automatically.
  • Mainboard matching via DMI strings.
  • Laptop detection which triggers safety measures.
  • Test flags for all part of flashrom operation.
  • Windows support for USB-based and serial-based programmers.
  • NetBSD support.
  • DOS support.
  • Slightly changed command line invocation.

Experimental new features:

  • Support for some NVIDIA graphics cards.
  • Chip test pattern generation.
  • Support for bit-banging SPI controllers.
  • Nvidia MCP6*/MCP7* chipset detection.
  • Support for Highpoint ATA/RAID controllers.

Infrastructural improvements and fixes:

  • Lots of cleanups.
  • Various bugfixes and workarounds for broken third-party software.
  • Better error messages.
  • Reliability fixes.
  • Adjustable severity level for messages.
  • Programmer-specific chip size limitation warnings.
  • Multiple builtin frontends for flashrom are now possible.
  • Increased strictness in board matching.
  • Extensive selfchecks on startup to protect against miscompilation.
  • Better timing precision for touchy flash chips.
  • Do not rely on Linux kernel bugs for mapping memory.
  • Improved documentation.