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.
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 sys-apps/dmidecode to retrieve some info.
Lastly, if you have physical 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.
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.
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.
You can use FreeDOS to run the DOS-based BIOS utility from your manufacturer. You must first create a custom FreeDOS image which includes the necessary BIOS tools, and then boot this image via one of the methods shown here.
Download FreeDOS and tools:
- 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 Custom FreeDOS Image
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:
Create an image file of ~20MB using dd (the name needs to be freedos.img if you will be replacing 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:
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:
Using SystemRescueCD to boot FreeDOS
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.
Download SystemRescueCD and prepare LiveUSB
- SystemRescueCD - download the normal ISO image
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:
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:
Booting the FreeDOS image from GRUB directly
If you would like to boot FreeDOS without any external media, you can use the "memdisk" tool from syslinux to allow grub (or another bootloader) to boot your FreeDOS image directly.
Mount your /boot partition (if needed):
Copy the memdisk binary, and your newly built FreeDOS image to /boot:
Edit /boot/grub/grub.conf and add an entry for FreeDOS:
Restart and choose to boot from the USB memory stick OR your new grub entry. If using SystemRescueCD, in the GRUB command line type:
This should boot you into our new FreeDOS image and you are greeted by the DOS prompt:
Now you can start your BIOS update by following the manufacturers instructions. Some useful commands in DOS:
- cd <dir>
- change to the directory
- list the files in the current directory
- display the contents of a file
First we check our new BIOS image:
If all OK, let's flash'em: