[coreboot] SeaBIOS, serial output, and grub

Ward Vandewege ward at gnu.org
Thu Apr 30 05:04:32 CEST 2009

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


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



Ward Vandewege <ward at fsf.org>
Free Software Foundation - Senior Systems Administrator

More information about the coreboot mailing list