Flashrom


Flashrom is a universal flash programming utility used to detect, read, verify, erase, or write BIOS chips in dual in-line package, plastic leaded chip carrier, small-outline integrated circuit, thin small-outline package, or ball grid array packages. It supports parallel, Low Pin Count, FWH, and Serial Peripheral Interface Bus flash interfaces. It can be used to flash firmware images such as BIOS or coreboot, or to backup an existing firmware.

Details

It is free software released under the terms of the GNU General Public License version 2.
It has pciutils and zlib as dependencies, for some programmers also and libusb.
It is run from user space and usually requires superuser privileges.
Backup the firmware of the host running flashrom into a file:
# flashrom -p internal -r backup.bin
It supports over 480 flash chip families, 291 chipsets, 524 mainboards, 71 PCI devices, 19 USB devices and various parallel/serial port-based devices which can be used as programmers. It supports cross-flashing and hot-flashing.