Usually BIOS updating means booting DOS and running a proprietary tool from the board vendor. A few days ago, coreboot's flashrom 0.9 has realeased. It's an open-source tool which supports program almost all flash chips used on x86 mainboards. Its compatibility list includes Geode™ CS5530/A, which can be found on the ALIX.3D3 board. So why not using flashrom to update ALIX.3D3 BIOS.
Sadly there is no ebuild for flashrom in portage, so Gentoo users (and maybe some other) have to build it on there own, but it's quite easy. You need to install subversion, an open-source revision control system, first:
emerge -va subversion
As there is no portage package for flashrom, we need to install it somewhere. I installed it in /root/flashrom so it can be removed easily. You can achieve this by
cd root svn co svn://coreboot.org/flashrom/trunk flashrom cd flashrom make
You can do an optional
make install
to install the binaries in /usr/local/sbin and install the man page. Now we should save our old BIOS. Running
flashrom -r /root/bios_save.bin
should display some info on the found chipset and flash chip:
Calibrating delay loop... OK. No coreboot table found. Found chipset "AMD CS5536", enabling flash write... OK. Found chip "AMIC A49LF040A" (512 KB) at physical address 0xfff80000. Reading flash... done.
If you have an image of the old installed BIOS you can check, if everything went right, by
diff /root/bios_save.bin /root/bios_old.bin
where /root/bios_old.bin is the old BIOS version, preferable found on the manufacturer's website. Now we can update the BIOS. Download the new BIOS version (ALIX.3D3 can be found here) and run:
flashrom -wv /root/bios_new.bin
flashrom should print some information, a process status and after all a VERIFIED, if everything went right:
Calibrating delay loop... OK. No coreboot table found. Found chipset "AMD CS5536", enabling flash write... OK. Found chip "AMIC A49LF040A" (512 KB) at physical address 0xfff80000. Flash image seems to be a legacy BIOS. Disabling checks. Programming page: 0007 at address: 0x00070000 Verifying flash... VERIFIED.
Now your BIOS should be updated. It's time to plug (power) and pray.
Update: After writing a Gentoo Bug report, there is now an ebuild in portage. You can install it by
emerge -va flashrom
Which one is the appropriate .bin file for the alix3d3? alix0.bin or alix2.bin?
I used alix2.bin
very helpful, i did not know flashrom utility. fortunately, it's included in debian repo. thanks
Pingback: Viele Infos | Purzel's extension 4 electronic & software
any thoughts on how to recover from a bad/incorrect flash? i missed the above comment, and used alix0, and now it won't post, even though it was successful
@adeel
You could write an email to PC Engines and ask them. I got a very fast reply once I asked something about BIOS there.
as it turns out, they sell a small LPC device that can override the onboard flash to allow recovery, http://www.pcengines.ch/lpc1a.htm
i'll probably pick one up sooner or later
Thanks a lot!
Using the alixbio7.zip (internal version02/11/2009-AMD-LX800-6A43AEM1C-00) actually solves the hang at boot after the "Probing EDD... ok" message with a stock Debian kernel.
I was using Lenny installed from a desktop pc + CF/IDE adapter with a Voyage Linux kernel but couldn't boot on 2.6.38-voyage so i was stuck at 2.6.26
Now i'm in the process of upgrading to Debian Squeeze.