General
cancel
Showing results for 
Search instead for 
Did you mean: 

ubuntu compaq 1801 microcode patch error

Niebr
Occasional Visitor

ubuntu compaq 1801 microcode patch error

alright, so I have a compaq evo w4000, running ubuntu 9.10. with a dell processor in it. (yes I know its a mess) so basically, I need a microcode patch that will work with all this. Does anyone have any ideas? I already downloaded SP24303.exe, which was for the compaq evo w4000. yet WINE fails to actually do anything with the file.
3 REPLIES
Matti_Kurkela
Honored Contributor

Re: ubuntu compaq 1801 microcode patch error

Welcome to the ITRC Forums!

Microcode? SP24303.exe is a BIOS update. Microcode is something rather different.

SP24303.exe is a self-extracting archive, which can be extracted with 7-zip on Linux.

$ 7z x sp24303.exe

The result will be two files, copydisk.exe and 686Y2.IMG. Knowing Compaq's standard practice, 686Y2.IMG is a floppy disk image... but it's exactly 32 bytes longer than a standard 1.44 M disk image.

It turns out the first 32 bytes are a header for copydisk.exe. Let's strip it away and see if Linux can access it as a FAT filesystem image:

$ dd if=686Y2.IMG bs=32 skip=1 of=686y2-linux.img
46080+0 records in
46080+0 records out
1474560 bytes (1.5 MB) copied, 0.0763746 s, 19.3 MB/s
$ file 686y2-linux.img
686y2-linux.img: DOS floppy 1440k, x86 hard disk boot sector

The result is a plain FAT filesystem image which can be mounted for examination:

$ sudo mount -o loop,ro -t vfat 686y2-linux.img /mnt
$ ls -l /mnt
total 519
-rwxr-xr-x 1 root root 107 2003-04-21 14:09 config.sys
-rwxr-xr-x 1 root root 3076 2001-01-18 16:35 FLSH.CPU
-rwxr-xr-x 1 root root 17640 2001-01-18 16:35 HIMEM.EXE
-r-xr-xr-x 1 root root 37410 2001-01-18 16:35 IO.SYS
-r-xr-xr-x 1 root root 38154 2001-01-18 16:35 MSDOS.SYS
-rwxr-xr-x 1 root root 91339 2001-01-18 16:35 ROMPAQ.EXE
-rwxr-xr-x 1 root root 340556 2003-04-21 14:02 YELLOW20.306
$ sudo umount /mnt

You might wish to write the image to a disk, and run the BIOS update by booting the system from it. Just insert a disk and run this command:

$ sudo dd if=686y2-linux.img bs=512 of=/dev/fd0
2880+0 records in
2880+0 records out
1474560 bytes (1.5 MB) copied, 0.00208399 s, 708 MB/s

Looks like we did not need that copydisk.exe at all.

Alternatively, you might wish to generate a bootable CD for the update, if you don't happen to have 3.5" floppy disks around.

This will create an ISO image file named "evo-w4000-biosupdate.iso", which can then be burned onto CD using the "Burn CD Image" function of your favorite CD-R burning program:

$ mkdir cdstuff
$ mv 686y2-linux.img cdstuff/
$ genisoimage -b 686y2-linux.img -c boot.cat -o evo-w4000-biosupdate.iso cdstuff

MK
MK
Niebr
Occasional Visitor

Re: ubuntu compaq 1801 microcode patch error

Thank you very much, you helped alot. I got it all fixed.
Niebr
Occasional Visitor

Re: ubuntu compaq 1801 microcode patch error

Thank you.