[coreboot] SeaBIOS, serial output, and grub

Kevin O'Connor 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!

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.)

> 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.

-Kevin




More information about the coreboot mailing list