[coreboot] ISOLINUX gfx problems under qemu/coreboot/SeaBIOS (was: Building of payloads fails, SeaBIOS fails in qemu)

Jonathan Neuschäfer j.neuschaefer at gmx.net
Tue Oct 25 01:10:08 CEST 2016


On Mon, Oct 24, 2016 at 07:42:36AM +0200, Philipp Stanner wrote:
> Hi,
[...]
> 
> The second problem is that a self-build seabios doesn't boot in qemu
> (again for me and people in IRC). While the default-qemu-bios boots any
> diskimage just fine, -boot build/coreboot.rom causes seabios to start
> fine (at first), too. But when it actually tries to boot from an image,
> the errors: "Graphic initalization failed. Error setting up gfxboot.
> boot: Could not allocate memory."

I think I was able to reproduce the problem, when Philipp described it
on IRC:

1. checkout coreboot from git[1], or run make clean && rm .config

2. make menuconfig, select Emulation/QEMU-i440fx. SeaBIOS will
   automatically be selected.

3. make

4. Test with QEMU. I'm using QEMU 2.6.0 from Debian testing (a.k.a.
   stretch) on an x86_64 laptop. Both of the tested CDs use ISOLINUX.

4.1.1. get xubuntu-16.04.1-desktop-amd64.iso[2]

4.1.2. qemu-system-x86_64 -cdrom xubuntu-16.04.1-desktop-amd64.iso -m 512
  A splash screen is shown, and then a graphical boot menu, which allows
  to select language, different boot modes, kernel command line, etc.

4.1.3. qemu-system-x86_64 -cdrom xubuntu-16.04.1-desktop-amd64.iso -m 512
                          -bios build/coreboot.rom
  The splash screen doesn't appear; instead an error is shown:

  graphics initialization failed
  Error setting up gfxboot
  boot:

4.2.1. get debian-live-8.2.0-amd64-lxde-desktop.iso[3]

4.2.2. qemu-system-x86_64 -cdrom debian-live-8.2.0-amd64-lxde-desktop.iso
  A graphical boot menu is shown.

4.2.3. qemu-system-x86_64 -cdrom debian-live-8.2.0-amd64-lxde-desktop.iso
                          -bios build/coreboot.rom
  ISOLINUX fails to present a graphic menu and falls back to a
  text-based menu.


I haven't looked at how ISOLINUX does graphics, or what "gfxboot" does
exactly, but there's apparently something (graphics-related) in QEMU's
stock BIOS, which coreboot+SeaBIOS doesn't provide.


> If I build a new virtual harddrive, install Ubuntu there (using qemu's
> default bios) then I'm able to start the new image using my self-build bios.

I'm not sure what you mean here. Can you explain it in more detail?


Greetings,
Jonathan Neuschäfer


[1] I'm currently on commit f5f0b7b71a450 plus some irrelevant local
    patches.
[2] Available at http://cdimage.ubuntu.com/xubuntu/releases/16.04/release/,
    sha1sum: 4094e1c353742754064c59200ea5d5db0651e948
[3] Available at http://cdimage.debian.org/mirror/cdimage/archive/8.2.0-live/amd64/iso-hybrid/,
    sha1sum: b0dbe4ca8f526d1e43555459c538607d4a987184
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://www.coreboot.org/pipermail/coreboot/attachments/20161025/f2f369f6/attachment.asc>


More information about the coreboot mailing list