[coreboot] Black screen during SeaBIOS boot

Daniel K shambles_09 at hotmail.com
Mon Dec 18 08:00:20 CET 2017


Thanks awokd and Taiidan!

You were both right that it had to do with my SeaBIOS configuration. I can now see the "Press ESC for boot menu." screen!

I'll just wrap up this thread with the configurations I used to fix my issue in case someone searches this in the future.

awokd:
> PCIe VGA cards have an option ROM (aka blob) in the card's firmware. Most
> onboard video devices don't have separate firmware, that's why their blob
> is included in the system's firmware. Ordinarily, Seabios will execute
> these blobs which then initializes the video cards. However, with this in
> your Seabios config, I'm not sure how it handles those:
> 
> # VGA ROM
> #
> CONFIG_NO_VGABIOS=y

Taiidan:
> You simply need to select "Execute Option ROM's on PCI-e devices" and 
> "Execute VGA Option ROM's" in menuconfig with the appropriate security 
> settings - this will load it from the card and it is what the factory 
> vendor BIOS does.

I wasn't able to find the options worded in exactly that way on my version of coreboot and SeaBIOS, however setting the following did the equivalent.
These settings are not on by default and I had to change them in the menuconfig.

SeaBIOS menuconfig -> VGA ROM -> VGA Hardware Type -> Set to 'coreboot linear framebuffer'

This resulted in the following changes in the SeaBIOS config, where 'CONFIG_NO_VGABIOS=y' was turned off as awokd suspected:

# CONFIG_NO_VGABIOS is not set
CONFIG_VGA_COREBOOT=y
CONFIG_BUILD_VGABIOS=y
CONFIG_VGA_EMULATE_TEXT=y
CONFIG_VGA_FIXUP_ASM=y
CONFIG_VGA_ALLOCATE_EXTRA_STACK=y
CONFIG_VGA_VBE=y

Also, I tried with and without src/device/Kconfig MULTIPLE_VGA_ADAPTERS change and it made no difference. So that can remain turned off.

Here are the versions of coreboot and SeaBIOS I used. Using relatively new commits on master at the time of writing this.
coreboot commit: https://review.coreboot.org/cgit/coreboot.git/commit/?id=3cf94032bced9345f4b9d71b7d2becab4dfcd530
SeaBIOS commit: https://review.coreboot.org/cgit/seabios.git/commit/?id=844b86464a5cbfffb62b87808632018ca250d867

Attached the final configs I used for my system.
Make sure to specify the SeaBIOS payload config path in the coreboot menuconfig (to something other than payloads/external/SeaBIOS/seabios/.config) or else make will clobber your SeaBIOS settings.

Thanks!
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SeaBIOS.config
Type: application/octet-stream
Size: 1714 bytes
Desc: SeaBIOS.config
URL: <http://mail.coreboot.org/pipermail/coreboot/attachments/20171218/588b5668/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: coreboot.config
Type: application/octet-stream
Size: 22042 bytes
Desc: coreboot.config
URL: <http://mail.coreboot.org/pipermail/coreboot/attachments/20171218/588b5668/attachment-0001.obj>


More information about the coreboot mailing list