I was trying to update the BIOS of my new SATA controller (a Syba SD-SATA2-4IR, or SD-81012336 – you decide), as the system will not boot with the RAID BIOS, unless you have a logical drive defined. Since this fakeraid is generally garbage, and I’ll be using ZFS as well as gmirror, I thought I would try and work around it.
If you go to the chipset manufacturer’s support page for the Sii3124 chip, you can download a set of BIOSes that will allow you to switch the controller out of RAID mode, and into “IDE mode” (possibly AHCI mode, I haven’t been able to actually test what happens then).
To do this though, ideally I’d like a FreeDOS boot image, because let’s face it – floppies are dead. I still have a bunch, but why?
I followed the “Using Makebootfat on Linux” directions at: http://wiki.fdos.org/Installation/BootDiskCreateUSB, but I found them a little onerous, especially if I need to redo this every time I want to create a custom image. Also, after following the directions, the system would not boot, because the geometry of the drive didn’t match, or something obscure like that. I was greeted with the error: “Bad or missing Command.com Interpreter”. I went into Gparted (0.4.3), and enabled the LBA flag on the partition, and then everything booted up fine (drive geometry is also dead).
You can follow these instructions yourself, or if you prefer something easier, here is an image that you can write directly to the USB drive using dd. I’m not sure what the Windows analog to dd is, perhaps something in cygwin will do:
This is a 31MB image, that is mostly free space, so that should give enough room to fit many different utilities, and also fit on a 32MB USB memory stick.
The image is released under GPLv2, the same as FreeDOS. You can find the sources for all this stuff at the above link.
Now my card boots just fine without any logical drives defined.