Bug#1031251: RFP: flashrom-stable -- Identify, read, write, erase, and verify BIOS/ROM/flash chips
Package: wnpp
Severity: wishlist
X-Debbugs-Cc: nico.h@gmx.de
* Package name : flashrom-stable
Version : 1.0
Upstream Contact: Nico Huber <nico.h@gmx.de>
* URL : https://www.flashrom.org/
* License : GPL
Programming Lang: C
Description : Identify, read, write, erase, and verify BIOS/ROM/flash chips
flashrom is a tool for identifying, reading, writing, verifying and erasing flash chips. It's often used to flash BIOS/EFI/coreboot/firmware/optionROM 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 DIP32, PLCC32, DIP8, SO8/SOIC8, TSOP32/40/48, and BGA chips, which use various protocols such as LPC, FWH, parallel flash, or SPI.
The tool can be used to flash BIOS/firmware images for example -- be it proprietary BIOS images or coreboot (previously known as LinuxBIOS) images.
It can also be used to read the current existing BIOS/firmware from a flash chip.
Currently supported programmers include:
* internal (for in-system flashing in the mainboard)
* dummy (virtual programmer for testing flashrom)
* atahpt (for flash ROMs on Highpoint ATA/RAID controllers)
* atapromise (for flash ROMs on Promise PDC2026x ATA/RAID controllers)
* atavia (for flash ROMs on VIA VT6421A SATA controllers)
* buspirate_spi (for SPI flash ROMs attached to a Bus Pirate)
* ch341a_spi (for SPI flash ROMs attached to WCH CH341A)
* dediprog (for SPI flash ROMs attached to a Dediprog SF100)
* developerbox_spi (for SPI flash ROMs on the 96Boards Developerbox)
* digilent_spi (for SPI flash ROMs on iCEblink40 development boards)
* dirtyjtag_spi (for SPI flash ROMs attached to DirtyJTAG-compatible devices)
* drkaiser (for flash ROMs on Dr. Kaiser PC-Waechter PCI cards)
* ft2232_spi (for SPI flash ROMs attached to an FT2232/FT4232H/FT232H family
based USB SPI programmer), including the DLP Design DLP-USB1232H,
FTDI FT2232H Mini-Module, FTDI FT4232H Mini-Module, openbiosprog-spi,
Amontec JTAGkey/JTAGkey-tiny/JTAGkey-2, Dangerous Prototypes Bus Blaster,
Olimex ARM-USB-TINY/-H, Olimex ARM-USB-OCD/-H, TIAO/DIYGADGET USB
Multi-Protocol Adapter (TUMPA), TUMPA Lite, GOEPEL PicoTAP,
Google Servo v1/v2, and FIC OpenMoko Neo1973 Debug board.
* gfxnvidia (for flash ROMs on NVIDIA graphics cards)
* it8212 (for flash ROMs on ITE IT8212F ATA/RAID controller)
* jlink_spi (for SPI flash ROMs attached to SEGGER J-Link and
compatible devices)
* linux_mtd (for SPI flash ROMs accessible via /dev/mtdX on Linux)
* linux_spi (for SPI flash ROMs accessible via /dev/spidevX.Y on Linux)
* mstarddc_spi (for SPI flash ROMs accessible through DDC in MSTAR-equipped
displays)
* nic3com (for flash ROMs on 3COM network cards)
* nicintel (for parallel flash ROMs on Intel 10/100Mbit network cards)
* nicintel_eeprom (for SPI EEPROMs on Intel Gigabit network cards)
* nicintel_spi (for SPI flash ROMs on Intel Gigabit network cards)
* nicnatsemi (for flash ROMs on National Semiconductor DP838* network cards)
* nicrealtek (for flash ROMs on Realtek and SMC 1211 network cards)
* ogp_spi (for SPI flash ROMs on Open Graphics Project graphics card)
* pickit2_spi (for SPI flash ROMs accessible via Microchip PICkit2)
* pony_spi (for SPI flash ROMs attached to a SI-Prog serial port
bitbanging adapter)
* rayer_spi (for SPI flash ROMs attached to a RayeR parport based programmer)
* satamv (for flash ROMs on Marvell SATA controllers)
* satasii (for flash ROMs on Silicon Image SATA/IDE controllers)
* serprog (for flash ROMs attached to a programmer speaking serprog),
including AVR flasher by Urja Rannikko, AVR flasher by eightdot,
Arduino Mega flasher by fritz, InSystemFlasher by Juhana Helovuo,
and atmegaXXu2-flasher by Stefan Tauner.
* stlinkv3_spi (for SPI flash ROMs attached to STMicroelectronics
STLINK V3 devices)
* usbblaster_spi (for SPI flash ROMs attached to an Altera USB-Blaster)
--
flashrom-stable is a fork of flashrom. Hence the copied description
(with sorted and updated device list). A flashrom-stable package will
naturally conflict the flashrom package. flashrom-stable strives towards
a regular release process, so up-to-date chipset support can hopefully
make it into stable distributions in time.
A note on building: `make` is still the official build process. The
J-Link support (requires libjaylink) has to be enabled explicitly:
`make CONFIG_JLINK_SPI=yes`. `meson` might work as well (it did for
Debian somewhat before), but there is no guarantee that we are beyond
all the growing pains that hit the flashrom-1.2 package.
Reply to: