copyright 1998-2018 by Mark Verboom
ipv6 ready RSS Feed Schakel naar Nederlands

Go back to What's new

Asus Eee PC 1005P BIOS upgrade

To blog index

Sunday, 23 January, 2011

Asus Eee PC 1005P BIOS upgrade

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.

Then I downloaded FreeDOS base CD from their website. I used the small ISO, that is enough to make a bootable USB stick.

www.freedos.org

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)

Command (m for help): p

Disk /dev/sdf: 65 MB, 65863680 bytes
3 heads, 42 sectors/track, 1020 cylinders
Units = cylinders of 126 * 512 = 64512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

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:

!COUNTRY=001,437,C:FDOSBINCOUNTRY.SYS
!SET lang=EN
!LASTDRIVE=Z
!BUFFERS=20
!FILES=40
!DOS=HIGH,UMB
!DOSDATA=UMB
!set dircmd=/ogn /4
!MENUCOLOR=7,0
DOS=HIGH,UMB
SHELLHIGH=C:FDOSbincommand.com C:FDOSbin /E:1024 /P=C:autoexec.bat

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.

Insert the USB stick into the Eee PC. Press ESC to get into the selection screen for the boot device.

Select the USB stick to boot from. You should end up with a screen like this:

The command to flash is already shown. I didn't bother to make a backup but if you want to do so, use the software to make a backup.

After pressing enter the flash software will check the supplied image.

Then it will ask to confirm the flash action.

It will then flash the new BIOS.

When finished it will prompt for a reboot.

After rebooting, go into the BIOS (mine went back to default settings), check the version number and set all your customisations.