BIOS Update

Hardware manufactures often provide updates for their BIOS and firmware. To apply (often referred to as to flash) the updates is sometimes not straight forward and requires some work.

Getting BIOS
First you should find the motherboard's manufacturer and the model. Check the user's Manual that comes with your computer, usually there you'll find all needed information.

You can also use to retrieve some info.

Lastly, if you have phyiscal access to the motherboard, you may find the required information directly on the motherboard itself.

After some searching on manufacturer site you can get BIOS update as zip-, exe- or iso-file.

BIOS Option
Many BIOS have an option to read the new binary image from an external memory stick or floppy disk. All you need to do is to go into your BIOS setup and look for the option.

Boot-CD
Often the manufaturer offers a CD-Rom image to download as a boot medium. The file should have the extension .iso, to burn the image to an empty CD-R:

Now you can choose in your BIOS to boot from CD and follow the instructions on your manufacturers website.

FreeDOS/SystemRescueCD
The SystemRescueCD comes with a version of FreeDOS, we can replace the original image and create a bootable memory stick which contains the needed programs to flash our BIOS.

Installation
First we need to install and download the required software and enable the loopback device in our kernel:

If the module isn't loaded yet:

Install required software:

Download SystemRescueCD and FreeDOS:
 * SystemRescueCD - download the normal ISO image
 * FreeDOS - download the fdboot.img file
 * FreeDOS bootsector - download the file sys-freedos-linux.zip
 * The DOS-Flash program and new BIOS from your manufacturers website

Create Bootable Memory Stick
We use the default method to create the SystemRescueCD boot medium, the script usb_inst.sh will guide through the installation.

Create the folder in /mnt:

Mount the cd image:

Start the installation script:

Unmount the cd image:

Create Custom FreeDOS Image
The default FreeDOS image on the SystemRescueCD is too small to hold any additional files, so we create our own image. Create an image file of ~20MB using dd(the name needs to be freedos.img to replace the one on the SystemRescueCD):

Write a file system to the image:

Write the bootsector to the image file:

Now we need to copy the FreeDOS files to our new image. Create the mountpoints:

Mount the original image:

Create a loopback device for our new image (we assume /dev/loop1 isn't in use):

Mount the new image:

Copy the FreeDOS system files to our new image:

Now you should also copy your flash program and the new BIOS to the image file:

Unmount both images:

Replace the FreeDOS image
We are going to replace the original FreeDOS image on the SystemRescueCD memory stick. Mount the SystemRescueCD memory stick (/dev/sdX1 needs to be replaced by the device name of your memory stick):

Replace the freedos.img file:

Unmount the SystemRescueCD memory stick:

BIOS Update
Restart and choose to boot from the USB memory stick. In the GRUB command line type: freedos This should boot you into our new FreeDOS image and you are greeted by the DOS prompt: C:\ Now you can start your BIOS update by following the manufacturers instructions. Some useful commands in DOS:
 * cd : change to the directory
 * dir : list the files in the current directory
 * type : display the contents of a file

flashrom
Your motherboard can support flashing via directly from your system. In this case only what you need is BIOS image. Please check first list of supported hardware.

First we check our new BIOS image:

If all OK, let's flash'em: