[coreboot] SeaVGABIOS with native vga init (Need testers)

Kevin O'Connor kevin at koconnor.net
Wed Feb 12 18:58:11 CET 2014


I have recently put together a basic implementation of a vgabios for
use with displays that are initialized by coreboot.

The idea is pretty simple - coreboot initializes the vga hardware and
maps a framebuffer into an address in system memory.  Then SeaVGABIOS
implements the various legacy vga bios functions, but all it does with
them is translate them to framebuffer updates.  SeaVGABIOS doesn't try
to initialize the display, change modes, or modify the vga registers.

This might be useful for those wishing to run fewer third-party blobs,
for those where a vgabios isn't available at all, and for those
wanting a faster boot (I've found proprietary vga bioses to be very
slow).

I've run some basic tests on this version of SeaVGABIOS on my
hardware.  However, I don't have one of the boards where coreboot
supports native vga init.  It would be great if someone with the
hardware (looks like stout, x60, and maybe others) could run tests.

To build this version of SeaVGABIOS, checkout the testing code from:

https://github.com/KevinOConnor/seabios/tree/testing

Then run "make menuconfig", turn on building for coreboot
(CONFIG_COREBOOT), serial debugging (CONFIG_DEBUG_SERIAL), and enable
the coreboot vgabios build (CONFIG_VGA_COREBOOT).  The resulting
vgabios will be in "out/vgabios.bin" - this file should be placed in
CBFS in the file "vgaroms/vgabios.bin".  Then launch coreboot with
seabios as the payload (one can use the repo above to build seabios
also, or use the normal coreboot method of building seabios).
Ideally, the seabios menu should appear on the screen and basic OS
boot loaders will work.  But if not, the debugging info should help
track down any problems.

-Kevin



More information about the coreboot mailing list