====== 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. 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! 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 ===== {{ wiki:FreeDOS.png?300|FreeDOS running in a VM}} This has been successfully tested on several [[http://www.asus.com/|Asus]] and [[http://www.msi.com/|MSI]] mainboards w/ [[http://www.ami.com/|AMI]] as well as [[http://www.award-bios.com/|Award]] BIOSes. And although the files seem to be Windows applications, you also can use this method with [[http://www.dell.com/|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 [[http://www.debian.org/|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 [[http://www.freedos.org/|FreeDOS]] [[http://www.fdos.info/bootdisks/|disk image]]. Take the ''FDSTD.144.gz'' or the ''FDSTD.288.gz'', depending on your space needs (e.g. the [[http://www.dell.com/|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 {{wiki:Freedos-288.img.gz|FDSTD.288.gz right here}}.\\ If you need an even larger image, you should check the site of [[http://derek.chezmarcotte.ca/?p=340|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'! - 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 boot - Copy the necessary BIOS files (flash utility and BIOS image file) into the ''boot/'' directory. - 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 > /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 -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.