Never checked to see if there was a new BIOS available for my netbook since I bought it. A quick check in the BIOS revealed that the current version is 0804.
A check on the support site for Asus show there are quite a few revisions available:
0901
1003
1103
1202
So, time for an upgrade :). I put wat I did on this page. Could be there are mistakes, so take care when upgrading your own BIOS. You can easily brick your system doing so.
Downloading the required files from the Asus website indicated a DOS based executable for upgrading the BIOS. So I searched for a bit and found an old 64MB USB memory stick to turn into a bootable device with DOS on it.
I reinitialised the USB stick, started by putting a new partition table in place. In the example below the stick was available as sdf. Usually it is easiest to check the output from dmesg to see the device assigned.
I did the following to put the partition table in place:
# fdisk /dev/sdf
WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to
switch off the mode (command ‘c’) and change display units to
sectors (command ‘u’).
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1020, default 1):
Using default value 1
Last cylinder, +cylinders or +size{K,M,G} (1-1020, default 1020):
Using default value 1020
Command (m for help): a
Partition number (1-4): 1
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)
Device Boot Start End Blocks Id System
/dev/sdf1 * 1 1020 64239 6 FAT16
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
After that I put a master boot record (MBR). If you don’t have the install-mbr command, install the mbr package.
install-mbr /dev/sdf
Now that the stick is basically prepped, it is time to install FreeDOS on it. I used the assistance of qemu to do this, it is probably the easiest and quickest way.
Qemu was started as root with the USB stick as first harddrive and the downloaded FreeDOS base image as cdrom drive. Qemu is booting from the cdrom.
qemu -hda /dev/sdf -cdrom ~mark/download/fdbasecd.iso -boot d
The installation process is quite straightforward, but I included a screen capture for good measure.
After the installation is completed, quit qemu.
Now we have to do some postprocessing. First, mount the USB stick and copy the Asus utilities and ROM on it.
mount /dev/sdf1 /mnt
cd /mnt
cp /tmp/1005P-ASUS-1202.ROM bios.rom
cp /tmp/BUPDATER-V1_12/BUPDATER.EXE .
Then we need to make some changes to the bootprocess of FreeDOS so it will not load all kinds of software that might interfere with the flashing process. First, edit the FDCONFIG.SYS file and let only the following lines remain:
Second, edit the AUTOEXEC.BAT and change is so only the following lines remain:
@echo off
SET dosdir=C:FDOS
set PATH=%dosdir%bin
set NLSPATH=%dosdir%NLS
set HELPPATH=%dosdir%HELP
set temp=%dosdir%temp
set tmp=%dosdir%temp
SET BLASTER=A220 I5 D1 H5 P330
REM ShsuCDhd /QQ /F:C:FDBOOTCD.ISO
SET autofile=C:autoexec.bat
alias reboot=fdapm warmboot
alias halt=fdapm poweroff
SET CFGFILE=C:fdconfig.sys
echo type HELP to get support on commands and navigation
echo.
echo Welcome to FreeDOS
echo.
That should be it, unmount the USB stick so you can boot the Eee PC from it.
umount /mnt
It might be best to disable bootbooster in the BIOS if you are using that.