Upgrading the BIOS on an EEE PC (with Linux)

This took me a while to figure out, so I wrote directions to hopefully make it easier for other people.

  1. First, you need to get the proper firmware for the EEE PC you are going to flash. Go to http://www.asus.com/ and find the latest firmware for your model.
  2. Extract the *.ROM file from the *.zip file, and place it on your Desktop.
  3. Rename the *.ROM file to [MODEL].ROM. (For example, the EEE PC 1000 would be named “1000.ROM”, 1000H would be “1000H.ROM”) Due to how the boot block was written, the name is case sensitive apparently.
  4. Insert your flash device, unmount it (if it gets automatically mouted,) and open it with fdisk. Set it up like the following:
    #fdisk /dev/sdd
    
    Command (m for help): p
    
    Disk /dev/sdd: 129 MB, 129499136 bytes
    17 heads, 32 sectors/track, 464 cylinders
    Units = cylinders of 544 * 512 = 278528 bytes
    Disk identifier: 0xc3072e18
    
    Device Boot      Start         End      Blocks    Id   System
    /dev/sdd1               1         465      126448    6  FAT16
  5. Now that you have the drive properly partitioned, we need to format it.
    #mkfs.msdos -F 16 /dev/sdd1
  6. After the format completes (and your device activity comes to a halt), unplug the flash drive, plug it back in, and if necessary, unmount the device if it automatically mounts.
  7. Mount it with the following command:
    #mount /dev/sdd1 /mnt/temp/ -o rw,flush,uid=1000,utf8,shortname=win95
  8. Now, copy the renamed *.ROM file to the flash device. After you copy it, refresh the listings to make sure everything is in uppercase. If not, rename it, and try again.
  9. If everything is good, then we can unmount the device.
    #umount /dev/sdd1
  10. Now we can start the flashing process. With the flash device still plugged into the system, restart the system. As soon as you see the BIOS screen, hold down Alt, and hit F2. This should load up the BIOS updater from the boot block.
  11. Now just wait for it to find your flash device, and the *.ROM file on it. If it halts at “Reading file 1000.ROM”, or similar, you did something wrong. Otherwise, it should look similiar to this:
    Boot Block Compatible Version Ver.026
    Please do NOT insert any disc into CD-ROM or Floppy drive
    if you want to recovery with an USB device.
    EZ-Flash starting BIOS update.....
    DO KEEP the power supply on and NOT touch the system while performing BIOS
    update.
    Checking for USB Device...
    USB Device found.
    Reading file "1000.ROM".  Completed.
    Start Erasing...\
    Start Programming.../
    Start Erasing EC Firmware...
    Start Programming EC Firmware...
    
    The BIOS update is finished.
    Please press power button to shut down the system.
  12. After the BIOS update is completed, your BIOS settings will revert back to factory defaults. It will prompt you when you restart that the settings were lost, and everything was reverted. It will ask you to hit F1 to enter Setup. Do that.
  13. Change everything back to how it was. One thing I should note: It disables the Wireless, Camera, and Bluetooth for some reason. Enable these again in the BIOS if you want them.

60 thoughts on “Upgrading the BIOS on an EEE PC (with Linux)”

  1. Wow, guess I spoke too soon, just found and old tiny (like 256mb) drive, loaded the rom onto it and it worked immediatly, no formatting or anything. I guess having a small enough drive was really the key for me.

  2. Drew Woodard!!!
    Thank you so much!! I was on this for 5 hours trying to figure this out. I think the Cylinders format was a must for me!!! Thank you!

  3. Thanks, Blake, for the time and energy and big thanks to Drew! For me on the 1000HE, Drew’s 128MB align to cylinders was the winner winner chicken dinner (2gb usb stick). Step by step deliciousness.

  4. Drew’s instructions were the only thing that worked for me. It’d be helpful if the main article referenced them! Thanks!

  5. 4 am. I’ve been struggling with the 1601 BIOS update for 6 hours, with my 1005HA never finding the 1005HA.ROM file on the USB stick. Drew Woodard’s post and his ‘Align to cylinder’ trick solved it for me. Thank you man!

  6. Just tried to replicate these steps exactly as shown but it would still hang at “Reading file “900A.ROM”.”
    On a hunch I simply formated the entire USB drive as fat16 with
    mkdosfs -F 16 -I /dev/sdc
    And it worked. Yes, it will see the file system without a partition table.

  7. 1. I formated to FAT16 (I used gparted)
    2. Copied the renamed file 900.ROM onto flashdrive.
    3. unmounted, unplugged drive, turned off machine.
    4. plugged drive back in, turned on machine. (hit Alt+F2)
    hangs on ‘Reading file 900.ROM
    What am I missing?

  8. I was able to properly format my 1GB (979 MB) flash drive with windows 7.
    File system = FAT (Default), Allocation unit size = 16 kilobytes, unticked (left blank) Quick format.
    I had previously deleted all partitions with Gparted. (I don’t know if this made a difference.)
    I copied 900A-ASUS-1103.ROM to the flash drive and changed the name to 900A.ROM, pressed Alt and F2 when the Asus EEE PC screen came on, and it worked for me.

  9. Also, as suggests [https://makeeasierit.blogspot.com/2014/11/flashing-bios-on-laptop-asus-eee-pc.html], the FAT16 partition MUST BE SMALL like 128 MB. Using GPARTED is easy

Leave a Reply

Your email address will not be published. Required fields are marked *