FlashROM version 0.9.0 has recently been released allowing for vastly improved BIOS flashing capabilities on Linux machines.
The Basic Input Output System (BIOS) is a built-in program in your PC that loads before your operating system does and performs the most basic tasks on your computer such as verifying the presence of a CPU video card memory keyboard and other parts configuring the hardware according to how you want it and so on.
As the first program to run in your system the moment you turn it on it can also provide initial control capabilities such as keyboard input from the moment the PC powers up displaying boot status info on the screen and on more advanced BIOSes even access to the hard drive and network.
Being software (strictly speaking they call it ‘firmware’ because it’s well ‘firmly’ fixed in a chip) it often benefits from being updated to newer versions. For example motherboard makers often correct bugs via BIOS firmware updates or provide additional features and the ability to accommodate new hardware in the PC such as faster processors or much larger hard drives.
The process of updating the BIOS is called flashing. In the past Linux users had to make use of an MS-DOS boot disk with a corresponding BIOS flashing program loaded on it to perform this procedure. However many users feel that this is an inelegant hack and may even find it idealogically offensive to have to load a Microsoft operating system to update the firmware in their PC.
But now with FlashROM it is possible to flash from a Linux desktop through a command-line interface — and no doubt a graphical user interface will quickly be built for it.
FlashROM can even provide remote flashing through SSH. And since it is scriptable it is possible to re-flash multiple machines simultaneously.
It can also allow hot-flashing. Hot-flashing is the physical replacement of a BIOS chip while the system is running on compatible motherboards.
For a more complete list of features for this release you may visit the Coreboot news page.
Coreboot which was formerly known as LinuxBIOS is an ambitious Free Software project that is aimed at replacing commonly used proprietary BIOS and is the main project that includes Flashrom. Some supported motherboards are for the open source BIOS are:
ASUS: A8N-E P2B A7V400-MX P4B266 M2A-MX
Gigabyte: GA-6BXC GA-6BXDU
VIA: EPIA-M EPIA-CN EPIA-LN VB700X NAB74X0
However the FlashROM component of Coreboot supports flashing many more motherboards than just these ones — the complete list of supported devices chipsets and mainboards as well as the installation instructions can be found on the Flashrom page.