[coreboot] Seabios - VGA & Boot From First Hard Drive Issues

Kevin O'Connor kevin at koconnor.net
Fri Dec 31 17:27:58 CET 2010


On Fri, Dec 31, 2010 at 12:07:01AM -0900, Roger wrote:
> 1)  If I use coreboot's "Run VGA Option ROMs", I can get VGA up and the first
> thing displayed is one text line of something like "SeaBIOS Version...".
> 
> And then I usually get some of my other PCI devices option roms executing as
> well on the VGA display.
> 
> But when I turn "Run VGA & other Option ROMs" off in Coreboot and then modify SeaBIOS
> config.h with any of these options:
> 
> // Support finding and running option roms during post.
> #define CONFIG_OPTIONROMS 1
> // Set if option roms are already copied to 0xc0000-0xf0000
> #define CONFIG_OPTIONROMS_DEPLOYED 0
> // When option roms are not pre-deployed, SeaBIOS can copy an optionrom
> // from flash for up to 2 devices.
> #define OPTIONROM_VENDEV_1 0x00000000
> #define OPTIONROM_MEM_1 0xf9000000
> #define OPTIONROM_VENDEV_2 0x00000000
> #define OPTIONROM_MEM_2 0x00000000

You should not set OPTIONROM_*.  Please follow the directions at:

http://www.coreboot.org/SeaBIOS

The issue with your previous run:

> Scan for VGA option rom
> Found option rom with bad checksum: loc=0x000c0000 len=61440 sum=42

indicates SeaBIOS succussfully found the optionrom - it ran into an
error running it.  In order to debug this, the debugging level must be
increased, but nothing else should change.

> 2) SeaBIOS seems to find a lot of things, but still tries to boot from floppy
> device (or image), for which I have neither.  I thought SeaBIOS was able to
> boot from the first hard drive partition (ie. grub)?  This is what I see on
> serial console along with the quick f12 boot pause.  But pressing f12 only
> pauses longer with nothing else displayed via serial console.  But, I can press
> ESC and have it reboot, or the wonderful Windows Key will print it's scancode
> on screen, but no other keys.  (See very last lines in log.)

SeaBIOS behaves like a legacy bios, so it will try legacy boot methods
(like booting from a floppy).  It's nothing to worry about - it isn't
harmful or slower in any way.

> 
> Attaching log with max debug on.
> 

[...]
> Attempting to find coreboot table
> Found coreboot table forwarder.
> Now attempting to find coreboot memory map
> Add to e820 map: 00000000 00001000 2
> Add to e820 map: 00001000 0009f000 1
> Add to e820 map: 000c0000 17f30000 1
> Add to e820 map: 17ff0000 00010000 2
> Add to e820 map: ff800000 00800000 2
> Add to e820 map: 00000000 00004000 1

Oddly - seabios found the coreboot table this time.  I suspect you're
having memory controller issues.  If so, that needs to be fixed first.

[...]
> Scan for VGA option rom
> Attempting to init PCI bdf 01:00.0 (vd 10de:0253)
> Searching CBFS for prefix pci10de,0253.rom
> Found CBFS file fallback/romstage
> Found CBFS file fallback/coreboot_ram
> Found CBFS file fallback/payload
> Found CBFS file
> Attempting to map option rom on dev 01:00.0
> Option rom sizing returned f9000000 fffe0000
> Inspecting possible rom at 0xf9000000 (vd=10de:0253 bdf=01:00.0)
> Copying option rom (size 61440) from 0xf9000000 to c0000
> Checking rom 0x000c0000 (sig aa55 size 120)
> Found option rom with bad checksum: loc=0x000c0000 len=61440 sum=42

It's really odd that the rom isn't checksumming correctly.  I'm not
sure how OPTIONROM_* interacts here though.  It's possible to disable
SeaBIOS' checksum check, but if this is a memory controller issue, it
will just fail somewhere else.

-Kevin




More information about the coreboot mailing list