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