[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: