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)
  * nic3com (for flash ROMs on 3COM network cards)
  * nicrealtek (for flash ROMs on Realtek and SMC 1211 network cards)
  * nicnatsemi (for flash ROMs on National Semiconductor DP838* network cards)
  * nicintel (for parallel flash ROMs on Intel 10/100Mbit network cards)
  * gfxnvidia (for flash ROMs on NVIDIA graphics cards)
  * drkaiser (for flash ROMs on Dr. Kaiser PC-Waechter PCI cards)
  * satasii (for flash ROMs on Silicon Image SATA/IDE controllers)
  * satamv (for flash ROMs on Marvell SATA controllers)
  * atahpt (for flash ROMs on Highpoint ATA/RAID controllers)
  * atavia (for flash ROMs on VIA VT6421A SATA controllers)
  * atapromise (for flash ROMs on Promise PDC2026x ATA/RAID controllers)
  * it8212 (for flash ROMs on ITE IT8212F ATA/RAID controller)
  * 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,
    Multi-Protocol Adapter (TUMPA), TUMPA Lite, GOEPEL PicoTAP,
    Google Servo v1/v2, and FIC OpenMoko Neo1973 Debug board.
  * 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.
  * buspirate_spi (for SPI flash ROMs attached to a Bus Pirate)
  * dediprog (for SPI flash ROMs attached to a Dediprog SF100)
  * rayer_spi (for SPI flash ROMs attached to a RayeR parport based programmer)
  * pony_spi (for SPI flash ROMs attached to a SI-Prog serial port
    bitbanging adapter)
  * nicintel_spi (for SPI flash ROMs on Intel Gigabit network cards)
  * ogp_spi (for SPI flash ROMs on Open Graphics Project graphics card)
  * linux_spi (for SPI flash ROMs accessible via /dev/spidevX.Y on Linux)
  * usbblaster_spi (for SPI flash ROMs attached to an Altera USB-Blaster)
  * nicintel_eeprom (for SPI EEPROMs on Intel Gigabit network cards)
  * mstarddc_spi (for SPI flash ROMs accessible through DDC in MSTAR-equipped
  * pickit2_spi (for SPI flash ROMs accessible via Microchip PICkit2)
  * ch341a_spi (for SPI flash ROMs attached to WCH CH341A)

Upload more screenshots

Please help extend the collection of screenshots. Just make a screenshot and upload it here. You don't need to register or anything.

Upload a screenshot

Hint: upload an image here from your clipboard with Ctrl-V



Install this software package

If the package is available for the distribution you are currently using on your computer then install the software by clicking on…

Install flashrom

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more