# [SOLVED] Update bios with no floppy, cdrom or Windows

## mimosinnet

I have an computer without floppy or cdrom that it is used as a server. The bios is old enough for not being able to boot from a usb stick and not recognising a second hand sata disk. Most of the resources I have reviewed suggest the creation of floppy or cd-rom disk to update the bios, Although this is an uncommon situation, I give the steps I had to do to update the bios, in case it is helpful for somebody:

1.- Unload a Boot Disk from allbootdisks and copy the image into your boot partition. For example:

```
wget http://www.allbootdisks.com/downloads/Disks/Windows_ME_Boot_Disk_Download50/Diskette%20Images/WindowsME.img

mount /boot

cp WindowsME.img /boot
```

2.- Copy memdisk (you need to have syslinux install) to the boot partition:

```
cp /usr/share/syslinux/memdisk /boot
```

3.- (grub): Modify your grub.conf so you boot from the image:

```
# dos boot

title boot DOS

root (hd0,0)

kernel /boot/memdisk

initrd /boot/WindowsME.img
```

4.- Create a vfat partition and copy the bios flash program and bios image there (you need to get them from the motherboard vendor).

5.- Reboot and use the corresponding option from the grub menu.

The fat partition will appear as C:. You can then proceed to update your bios.

This is what has worked for me. Initially, I was reluctant to create a dos partition, and I wanted to create an image with the files to upgrade the iso. This is an example of what I have been doing:

```
mkdir oldiso

mkdir newiso

wget http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdfullcd.iso

mount -o loop fdfullcd.iso oldiso

cp oldiso/* newiso

diff oldiso newiso

mkdir newiso/newbios

cp A0315IAG.BIN Awdflash.exe newiso/newbios

mkisofs -r -o FreeDosBios.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-info-table  newiso
```

And this is the example of the grup options I have used for this case:

```
# dos boot

title boot DOS

root (hd0,0)

kernel /boot/memdisk iso

initrd /boot/FreeDosBios.iso 
```

I was able to boot, but unable to find the bios flash files. I leave it here just in case is useful to somebody. 

This is a list of the references I have used:

http://www.linuxquestions.org/questions/linux-newbie-8/how-to-add-a-folder-directory-in-the-iso-image-of-linux-cd-864208/

http://syslinux.zytor.com/wiki/index.php/MEMDISK#Floppy_images

http://www.freedos.org/freedos/files/

http://support.asus.com/technicaldocuments/technicaldocuments_content.aspx?no=532&SLanguage=en-us

http://www.linuxquestions.org/questions/red-hat-31/mkisofs-error-boot-image-isolinux-isolinux-bin-has-not-an-allowable-size-358439/

http://tldp.org/HOWTO/Bootdisk-HOWTO/cd-roms.html

http://www.ehow.com/how_7469146_modify-iso-image-linux.html

http://michael-prokop.at/blog/2009/05/25/boot-an-iso-via-grub2/

http://www.linuxinsight.com/how-to-flash-motherboard-bios-from-linux-no-dos-windows-no-floppy-drive.html

http://ubuntuforums.org/showthread.php?t=318789

----------

## tomk

Moved from Kernel & Hardware to Documentation, Tips & Tricks as it fits better here.

----------

## V10lator

I don't use memdisk + floppy images for that. I'm simply using flashrom (sys-apps/flashrom) for BIOS updates.  :Wink: 

----------

## Jaglover

Flashrom overwrote onboard NIC's MAC address with ff:ff... in one of my boxes.

I used dosemu to install Freedos to an empty image I created. The image is here for download. This image has more than 1 MB free, should accommodate your needs. 

Mount this image using loop, add your flash file(s) to it, use dd to copy it to a USB stick, boot from USB and flash.

I've learned even computers which do not have USB boot option often boot from the USB stick with boot options set to ZIP drive or USB floppy.

----------

## mimosinnet

 *V10lator wrote:*   

> I don't use memdisk + floppy images for that. I'm simply using flashrom (sys-apps/flashrom) for BIOS updates. 

 

I am again with a laptop bios upgrade, and I have found this message in the flashrom supported harware:

 *flashrom.org wrote:*   

> IMPORTANT: At this point we recommend to not use flashrom on untested laptops unless you have a means to recover from a flashing that goes wrong (a working backup flash chip and/or good soldering skills). 
> 
> Total amount of supported laptops: 2. Not yet supported (i.e., known-bad): 8. 

 

In this situation, I had a Toshiba Tecra laptop that was able to boot from USB. The procedure that I have followed has been the following:

1.- Create a FreeDoss bootable usb with unetbootin

2.- Copy the files  CHGBIOSF.EXE and BIO0076T.COM to the usb.

3.- Boot from the usb

4.- After booting, go to C:, where you can find the files CHGBIOSF.EXE and BIO0076T.COM

5.- Execute: CHGBIOSF.EXE BIO0076T.COM

The main issue has been to identify the files that upgraded the bios, as this was a windows self-executable file (that I have unzip with 7z).

Cheers!

----------

