UEFI support for x86

Alexander Boettcher alexander.boettcher at ...1...
Mon Oct 2 10:50:46 CEST 2017


On 01.10.2017 15:38, Edward Sandberg wrote:
> Hello,
> I sent the following email to the sel4 mailing list but this may be a
> better fit.  I built Genode 17.08 with run option "image/uefi" and
> platform option "sel4_x86_32". I have tried booting the resulting image
> on a variety of machines but am not getting the behavior I expect.  The
> machines I have tried are:
> * Up board (a Windows compatible Atom-based system)
> * Dell M3800 laptop
> * Dell Latitude 7280 laptop
> * HP ProLiant DL380 Gen9 Server
> * Dell Optoplex 990
> * Asus P9X79 WS Motherboard with Intel Core i7-3930K
> The furthest I have gotten was on the UP board, which only supports UEFI
> boot:
> https://www.intel.com/content/www/us/en/support/emerging-technologies/intel-realsense-technology/000022699.html
> I saw serial output but no graphical output (see below).  The other
> machines I tried to boot on didn't even give me serial output.  The

The seL4 kernel has a option to manually specify the ioports for a
serial device. If you find them out for your machine (using
Linux/Windows), you may add the cmdline option 'console_port' with the
io_port information to the seL4 kernel in


(I never tried it, but reading from the source code it should do)

> serial output seems to indicate that an attempt to create a framebuffer
> failed.
> Is this the correct build procedure?

Graphical support with UEFI boot for Genode/seL4 may work with the Intel
framebuffer driver (example in intel_fb.run), if you have a Intel
graphic card.

The second option, the fb_drv, which uses the VESA Bios, will not work.
(We had no luck with it, but did also not investigated too much.)

The third framebuffer option (fb_boot_drv component) will not work with
Genode/seL4, but with Genode/NOVA. Grub2 can initialize the framebuffer
utilizing UEFI interfaces/mechanism. The information about the
framebuffer location, size, color depth etc. are propagated by GRUB2
(when using Multiboot 2) to the kernel. For NOVA we have support to
propagate this information further to Genode and further to fb_boot_drv.
This support of propagation of the framebuffer information is however
missing in the seL4 kernel and in Genode/seL4 version of 'core' (the
roottask in seL4 speak).

> What hardware have you used to test UEFI boot?

Recent Lenovo notebooks, with intel_fb_drv and fb_boot_drv.

> Does the trace below suggest any experiments to try?

As pointed out above, for Genode/seL4 the only option for now is the
Intel driver (if you have the hardware of course). The effort to support
the framebuffer initialized by Grub2/UEFI is expected to be not too hard
(as it already done for Genode/NOVA).

Alexander Boettcher
Genode Labs

http://www.genode-labs.com - http://www.genode.org

Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list