On Wed, Apr 29, 2009 at 10:08:22PM -0400, Kevin O'Connor wrote:
On Wed, Apr 29, 2009 at 03:10:23PM -0400, Ward Vandewege wrote:
I've been experimenting with SeaBIOS, and I like what I'm seeing a lot. Great work Kevin!
Thanks!
Feature request: I'd really like a serial console for SeaBIOS. I 'd like serial to just mirror the VGA console so that either could be used for viewing and input. Right now, it seems only sending debug output to the console is supported.
I think you're looking for sgabios: http://code.google.com/p/sgabios/
It's a bit of a hack to launch both it and a vga bios with SeaBIOS. Add sgabios.bin to the CBFS system using a PCI vendor:device of a device in your system that doesn't already have an option rom and isn't a vga or ide device. This will cause SeaBIOS to load your vgabios first and then load sgabios after it.
I tested this on qemu by doing:
./cbfstool ./coreboot.rom add ../sgabios/sgabios.bin pci8086,7113.rom
(8086:7113 is just a random qemu device - the acpi bridge.)
I tried exactly that today (gmta ;), but that didn't seem to work for me - and SeaBIOS complained about an option rom checksum mismatch on the sgabios.bin option rom.
Since every other component in the boot process already does serial - how hard would it be to make SeaBIOS do serial too?
Bug: I have grub configured to pause 5 seconds while giving the user to select either serial or VGA console for input. This is done with these lines in menu.lst:
serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1 terminal --timeout=5 serial console
The only thing I can think of is that SeaBIOS may be setting the serial port settings to something that grub doesn't like. You can try disabling the code in debug_serial_setup() in src/output.c. However, if you've already tried disabling CONFIG_DEBUG_SERIAL, then I don't think this will do much. It could be a conflict with coreboot serial setup and grub I suppose.
Hmm. Suggestions for debugging?
Also, the keyboard works fine before I get to grub, but it's hard to catch the F12 keypress as everything goes pretty fast.
Latest SeaBIOS git has an option CONFIG_BOOTMENU_WAIT that you can use to change the menu wait time (default is 2.5 seconds).
Cool.
I've tried with and without CONFIG_DEBUG_SERIAL set in src/config.h. It does not seem to make a difference. CONFIG_SERIAL is set to 1.
I don't think CONFIG_SERIAL (which control support for old bios int 0x14 calls) is related to this issue.
OK.
Thanks, Ward.