[coreboot] build failure: cannot move location counter backwards
Kevin O'Connor
kevin at koconnor.net
Wed Jun 22 05:34:56 CEST 2011
On Mon, Jun 20, 2011 at 10:58:06PM -0700, Darren Hart wrote:
> On 06/20/2011 04:09 PM, Cristian Măgherușan-Stanciu wrote:
> > Hi,
> >
> > I documented the latest developments (git and crossgcc) at
> > http://www.coreboot.org/Build_HOWTO. Please someone double-check.
>
> My build succeeded following these instructions. As a first-time user,
> it would be helpful to have a quick-start guide which would be basically
> this wiki page + the steps necessary to do boot what I built in qemu.
> There are bits of that here:
>
> http://www.coreboot.org/QEMU
Unfortunately, it looks like that page has old information on it.
> So perhaps a link, although it is a bit unclear to me which bits of what
> I built get used when I try to boot searbios in qemu. I don't seem to
> need corebios.rom at all, just the seabios bios.bin:
>
> $ qemu -bios ./payloads/external/SeaBIOS/seabios/out/bios.bin -hda
> /dev/zero -serial stdio
SeaBIOS ( http://seabios.org/ ) is now the default BIOS for both QEMU
and KVM. So, it is possible to run SeaBIOS without coreboot on these
emulators. SeaBIOS, however, can't initialize a real machine - that's
what coreboot does.
> I get an option to press F12 in the console and select a boot device.
> Seems to work.
>
> Am I using coreboot?
No.
>Is it integrated into the payload? Reading the
> QEMU_Build_tutorial, http://www.coreboot.org/QEMU_Build_Tutorial, led me
> to try:
>
> $ qemu -bios build/coreboot.rom -hda /dev/zero -serial stdio
>
> This resulted in something else entirely, the shell output terminating
> in the following:
>
> coreboot memory table:
> 0. 0000000000000000-0000000000000fff: CONFIGURATION TABLES
> 1. 0000000000001000-000000000009ffff: RAM
> 2. 00000000000c0000-0000000017feffff: RAM
> 3. 0000000017ff0000-0000000017ffffff: CONFIGURATION TABLES
> 4. 00000000ff800000-00000000ffffffff: RESERVED
> Wrote coreboot table at: 17ff1400 - 17ff15c4 checksum 6c1c
> coreboot table: 452 bytes.
> Multiboot Information structure has been written.
> 0. FREE SPACE 17ff3400 0000cc00
> 1. GDT 17ff0200 00000200
> 2. IRQ TABLE 17ff0400 00001000
> 3. COREBOOT 17ff1400 00002000
> Check CBFS header at fffcfc39
> magic is 386f92fa
> ERROR: No valid CBFS header found!
> CBFS: Could not find file fallback/payload
> Boot failed.
You're now running coreboot, but coreboot was unable to find your
payload (eg, SeaBIOS). Make sure when you run coreboot's "make
menuconfig", you set "Add a payload" to "SeaBIOS" - this is the
fastest way to get up and running.
> It isn't clear to me from the various pages I've read which of the above
> (if either) is the appropriate way to boot coreboot on qemu. Can anyone
> clear that up for me?
Hope this helps.
-Kevin
More information about the coreboot
mailing list