HOWTO Flash Your BIOS on a Linux computer

Motherboard manufacturers typically distribute BIOS upgrades in a form that is only usable for Windows or MS-DOS users. There are a number of web pages that tell you how to flash your BIOS under Linux, but those recipes tend to have one of the following drawbacks:

  • They require you to have a floppy drive. (None of my current machines have one.)
  • They require you to have a dedicated bootable hard drive partition on which to store the new BIOS image and associated utilities.
  • They require you to burn a ridiculously small amount of data onto a CD, which is then not usable for any other type of machine; i.e., it is instant garbage when you are done flashing the BIOS.

None of that is necessary. Just follow these steps. Note that some of these steps require root access. Also note that these instructions assume the use of grub2.

Booting from a floppy

  1. Get the OEM Bootdisk (FDOEM.144.gz) from www.fdos.org.
  2. gunzip FDOEM.144.gz
  3. mkdir floppy
  4. mount -t vfat -o loop FDOEM.144 floppy
  5. Copy the flash image and installation files into floppy.
  6. umount floppy
  7. cp /usr/share/syslinux/memdisk /boot (this may not be installed by default; on Fedora systems, for example, it is contained in the syslinux package).
  8. cp FDOEM.144 /boot
  9. Add this entry to /boot/grub2/grub.cfg:
    menuentry "BIOS Flasher" {
        linux16 /memdisk
        initrd16 /FDOEM.144
    }
  10. Reboot and choose the BIOS Flasher entry to boot from. That will give you a DOS prompt from which you can run the BIOS installer.
  11. After flashing the BIOS, remove the grub entry and the files that were copied to /boot, lest you accidentally activate them again later.

Booting from a CD image

  1. cp /usr/share/syslinux/memdisk /boot (this may not be installed by default; on Fedora systems, for example, it is contained in the syslinux package).
  2. cp bootcd.iso /boot
  3. Add this entry to /boot/grub2/grub.cfg:
    menuentry "BIOS Flasher" {
        linux16 /memdisk iso
        initrd16 /bootcd.iso
    }
  4. Reboot and choose the BIOS Flasher entry to boot from. That will give you a DOS prompt from which you can run the BIOS installer.
  5. After flashing the BIOS, remove the grub entry and the files that were copied to /boot, lest you accidentally activate them again later.