Table of Contents
Flashing the BIOS can be a big problem for a system which a) has no floppy drive anymore and b) doesn't run Windows. If you don't have a BIOS which can update itself (like Dell servers or Asus EZ Flash) then you might have some trouble.
But there's hope! 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!
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).
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.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
mkisofsand 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'!
- Place the disk image into a directory called e.g. “iso” and gunzip it.
- Mount the image:
cd iso; mkdir boot; mount -t vfat -o loop <your_disk_image> boot
- Copy the necessary BIOS files (flash utility and BIOS image file) into the
- 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.:
- 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.isoto 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.