Hi all,
I'm working on putting LinuxBIOS on an old ASUS P2B-L that I'd like to
convert into an "instant-on" server for home use. It has an Intel 440BX
Host Bridge with Intel PIIX4e hard disk controller, and a Winbond
W83977TF SuperIO chip. I downloaded the manuals for these various
chips, so I think I might have a shot at getting them working correctly
as long as I can get some debug output on the serial port.
Since this will be a server, I don't need any video support, though I'd
like to keep the card in the machine uninitialized for when I have to
boot the factory BIOS. I've configured grub and the kernel to use the
serial port as the console, which works OK. My plan is to use FILO as
the LinuxBIOS payload.
I've installed a BIOS Savior in the machine and flashed it with another
copy of the factory BIOS, which works OK, so (barring checks in the
utility's code) I should be able to use the ASUS AFLASH program rather
than flashrom.
First, I tried to build a FILO payload with serial console only and
USE_GRUB=1, which didn't work - it looked like it was still trying to
use the VGA console for some functions. It worked OK when I commented
out the USE_GRUB line, but I'd still like to try the former
configuration - any FILO experts have any tips on how to squash the VGA
functions once and for all?
Then I grabbed the SVN trees for both v1 and v2. I copied the
bitworks/ims mainboard and target directories, as they seemed to be
using the 440bx code, and I'm slogging through changing the various
bitworks & ims entries in the code to asus & p2bl entries. So far, so
good, though I feel somewhat like I'm in a maze of twisty little
passages, all alike.
My main question is: The W83977TF has support under v1, but not v2 -
any tips on porting from one to the other? Also, once I have the
superIO initialization code installed, is there some way to get some
kind of debug output before RAM initialization? I'm not sure where to
put my own debugging output into the code - just a "hello, I'm here" is
all I need for starters. I'd be happy for pointers to some docs which
might answer some of these questions - I perused some of what I could
find in the SVN tree and wiki, but ended up just trying to jump right in
instead.
Another big question would be - should I continue ahead with v2, or go
back to v1? I noticed that v1 had the 440bx support as well, but it
looked like v2's configuration setup was a lot easier to deal with, so I
started there. Would it be worth it to learn how v1 does things for
this project?
The other outstanding issue coming down the pike is that the machine has
all ECC RAM. Is ECC supported by v1 or v2, and if not by either, which
would make it easiest to add support? I'm assuming v2, but I'll try v1
if that would be easier.
Many thanks,
Don