DeskTux

Linux on Desktops

User Tools

Site Tools


misc:bios

BIOS

Flashing the BIOS can be a big problem for a system which a) has no floppy drive anymore and b) doesn't run Windows. Luckily these days I have not encountered systems anymore which do not have integrated flash utilities.

But just in case you still need it, here is a quite easy way to flash your BIOS without Windows or a floppy disk drive.

Before you begin

Flashing your BIOS is a potential system-killer, i.e. it could render your computer unusable! So please take care and only follow these steps if you know what you are doing!

Naturally I can't take responsibility for any damage to your system which may occur by following the steps on this page!

Nowadays, most modern PC's have some kind of built-in function in their one-time boot menu to flash the BIOS from a (FAT32 formatted) USB stick or from a local partition. I personally like to use /boot/efi for that ;-)

Bottomline is: the information below might not even be necessary anymore.

The procedure

FreeDOS running in a VM This has been successfully tested on several Asus and MSI mainboards w/ AMI as well as Award BIOSes. And although the files seem to be Windows applications, you also can use this method with Dell BIOS update files (they contain a Windows program, DOS flash utility and the BIOS file in one file). I have successfully tested this on several Dell Latitude notebooks running Debian Etch'n'Half and later and a Dell Inspiron 6400 running Lenny (and later).

Common steps

You will need:

  • The BIOS flash utility and the BIOS file itself (usually available from your mainboard/computer manufacturer).
  • A disk image with DOS, I recommend a FreeDOS disk image. Take the FDSTD.144.gz or the FDSTD.288.gz, depending on your space needs (e.g. the Dell BIOS might not fit on a single 1.44MB disk). Because the FreeDOS disk images seem to be unavailable all the time, you can download the FDSTD.288.gz right here.
    If you need an even larger image, you should check the site of Derek Marcotte!
  • Some installed tools, like mkisofs and VFAT support for mount.

Now, just follow these steps to make a bootable image with your flash utility on it. You can boot this image and use it to update your BIOS. You should follow these steps as 'root'!

  1. Place the disk image into a directory called e.g. “iso” and gunzip it.
  2. Mount the image:
    cd iso; mkdir boot; mount -t vfat -o loop <your_disk_image> boot
  3. Copy the necessary BIOS files (flash utility and BIOS image file) into the boot/ directory.
  4. Unmount the floppy image:
    umount boot; rmdir boot

Bootable USB Stick

Note: This procedure will erase the entire USB Stick; even though the FreeDOS images just are a couple of megabytes in size!

Although this seems to be more complicated than making an ISO image for a bootable CD, it actually is less time-consuming.

  • Connect your USB stick (or other USB device) you wish to boot from.
  • Check for the device name using dmesg, there should be an output like this:
    [62236.117840] usb-storage: device found at 8
    [62236.117842] usb-storage: waiting for device to settle before scanning
    [62241.116647] usb-storage: device scan complete
    [62241.118242] scsi 11:0:0:0: Direct-Access     USB 2.0  Mobile Disk      PMAP PQ: 0 ANSI: 0 CCS
    [62241.119532] sd 11:0:0:0: Attached scsi generic sg8 type 0
    [62241.506600] sd 11:0:0:0: [sdh] 1967616 512-byte logical blocks: (1.00 GB/960 MiB)
    [62241.508093] sd 11:0:0:0: [sdh] Write Protect is off
    [62241.508096] sd 11:0:0:0: [sdh] Mode Sense: 23 00 00 00
    [62241.508098] sd 11:0:0:0: [sdh] Assuming drive cache: write through
    [62241.511092] sd 11:0:0:0: [sdh] Assuming drive cache: write through
    [62241.511095]  sdh:
    [62241.514093] sd 11:0:0:0: [sdh] Assuming drive cache: write through
    [62241.514096] sd 11:0:0:0: [sdh] Attached SCSI removable disk
  • In this case, the device is sdh, make sure it or any partition on it is not mouted. E.g.:
    umount /dev/sdh
  • Write the image to your USB device and synchronize the filesystem to make sure the cache is empty before disconnecting your device.
    Make sure to use the correct device names, otherwise you'll be ending up overwriting crucial data!
    cat <your_disk_image> > /dev/sdh; sync
  • Done! You can now boot from the USB device and use it to flash your BIOS.

Bootable CD ISO Image

  • Make the ISO image:
    cd ..; mkisofs -r -b <your_disk_image> -c boot.cat -o bootcd.iso iso
  • Burn the created ISO image bootcd.iso to e.g. a CD-RW using our favourite CD burning application.
  • That's it already! You can now boot that CD and use it to flash your BIOS.

Discussion

Enter your comment:
T M W E Y
 
misc/bios.txt · Last modified: 2024-05-18 18:38 by jens