Flashrom is a utility written for LinuxBIOS and maintained in the LinuxBIOS Subversion repository. It can be used to detect BIOS chips (DIP, PLCC), read their contents and write new contents on the chips ("flashing"). PCI expansion ROM (e.g. via RTL8169 NIC in-situ-flashing) maybe supported in future releases, since some chipsets (like intel ICH7) allow booting from PCI expansion ROM as a fallback option in case of corrupted main BIOS.
Note: The LinuxBIOSv1 version of Flashrom ("flash_and_burn") only supported a very small number of devices. Always use the latest Flashrom version from LinuxBIOSv2!
1 Unsupported, disabled by default.
2 This includes the ICH, ICH0, ICH2, ICH2-M, ICH3-S, ICH3-M, ICH4/ICH4-L, ICH4-M, ICH5/ICH5R, ICH6/ICH6R, ICH6-M, ICH7/ICH7R, ICH7M, ICH7MDH, ICH8/ICH8R, ICH8DH, and ICH8DO chipsets.
3 Identifying and reading chips seems to work, but there are reports that writing may not work on some mainboards.
4 Untested, but should work.
Flashrom requires the libpci and zlib development packages in order to be built.
In Debian unstable the respective packages are called libpci-dev and zlib1g-dev.
$ svn co svn://linuxbios.org/repos/trunk/LinuxBIOSv2 $ cd LinuxBIOSv2/util/flashrom $ make $ make install
$ apt-get install flashrom