One regression I have with Yamato is that the BIOS cannot be updated through the BIOS itself, like I could do with my previous ASUS motherboard (and Award BIOS). The AMI bios of the Tyan motherboard doesn’t support that.
But since I don’t want to use my Windows installation to do the job (I use it only for work and to play more recent games that don’t play in Wine), I decided to look up something that could allow me to do the upgrade using only Free Software, my Gentoo Linux install, and the files provided by Tyan.
Caution: I make no warranty that the procedure will work properly, if this post gets published it means I was able to get it working myself but it might not work for you! Please remember that you do this at your risk!
I found an interesting post about FreeDOS and USB drives, which made my life much more easier. But as I’m using Linux and in particular Gentoo, I revised a bit the instructions 🙂
- first of all, merge the software we’re going to need, this means sys-boot/makebootfat (from my overlay) and app-arch/libarchive (to extract an ISO file later on);
- proceed then to create the directory where to put the files that will go on the virtual floppy, let’s call it “bios-update”;
- download the new BIOS from Tyan’s website, and put the content of the zip archive in “bios-update”;
- download FreeDOS (I suggest you to use the torrent download rather that ibiblio that is so slow!);
- extract the ISO, with
bsdtar
it’s just the same as extracting a standard tar file:xf
and all; - copy
freedos/setup/odin/{command.com,kernel.sys}
from the FreeDOS ISO to the “bios-update” directory; - from
freedos/packages/src_base/kernels.zip
extract the filessource/ukernel/boot/fat{12,16,32lba}.bin
. - run the
makebootfat
command with a commandline similar to this:makebootfat -o /dev/sde -E 255 -1 fat12.bin -2 fat16.bin -3 fat32lba.bin -m /usr/share/syslinux/mbr.bin bios-update
; note that/dev/sde
has to be changed to your USB device.
Now just restart your system with the USB drive in it and run the flash utility as provided by your manufacturer.
As an alternative you may rename an eventual batch file provided by your manufacturer to autoexec.bat
so that it is ran at boot; I have no idea (yet) how to stop FreeDOS from asking date and time, but whatever, just press enter at them. You don’t usually have to worry about infinite loops of BIOS updates, as once the update is done, I’ve noticed all BIOS, after update, require you to fill in the configuration again.
I’m tempted to streamline this to a script or make the makebootfat
ebuild fetch the needed files out of the FreeDOS ISO, or create an ebuild that install the basic FreeDOS files needed to create the boot disk. But maybe another time.