[coreboot] SeaBIOS, serial output, and grub
kevin at koconnor.net
Thu Apr 30 04:08:22 CEST 2009
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!
> 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.)
> 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.
> 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).
> 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.
More information about the coreboot