Genode 19.08 demo on seL4/x86 build failing

Alexander Boettcher alexander.boettcher at genode-labs.com
Sat Sep 14 11:48:39 CEST 2019


On 13.09.19 23:31, Adam T. Winchester wrote:
> Just got the ISO image (found in build/x86_64/var/run/demo.iso, just dd
> onto SD card) to start up and display via Minicom.

Good.

> not implemented - resources leaked: 0x20
> [init -> drivers -> acpi_drv] Found MCFG
> [init -> drivers -> acpi_drv] MCFG BASE 0xf8000000 seg 0x0 bus 0x0-0x40
> [init -> drivers -> acpi_drv] Found MADT
> [init -> drivers -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0
> [init -> drivers -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 15
> [init -> drivers -> acpi_drv] XSDT OEM 'COREv4', table id 'COREBOOT',
> revision 0, creator 'CORE' (538511107)
> Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability)
> not implemented - resources leaked: 0x40
> [init -> drivers -> platform_drv] ECAM/MMCONF range 00:00.0-40:1f.7 -
> addr [00000000f8000000,00000000fc100000)
> [init -> drivers -> acpi_drv] SMBIOS table (entry point: 0x1c6280
> structures: 0xcfeab020)
> [init -> drivers -> platform_drv] Root bridge: 00:18.0
> [init -> drivers -> platform_drv] 00:02.2 - bridge 01:00.0
> [init -> drivers -> platform_drv] 00:02.3 - bridge 02:00.0
> [init -> drivers -> platform_drv] 00:02.4 - bridge 03:00.0
> [init -> drivers -> platform_drv] 00:02.5 - bridge 04:00.0 enabled
> Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability)
> not implemented - resources leaked: 0x80
> [init -> drivers -> fb_drv] Error: PCI VGA card not found.
> [init -> drivers -> fb_drv] Error: H/W driver init failed
> [init -> drivers -> fb_drv] Error: __cxa_guard_abort called
> Kernel: Thread 'ep' died because of an uncaught exception
> [init -> drivers -> fb_drv] Error: Uncaught exception of type
> 'Framebuffer::Fatal'
> [init -> drivers -> fb_drv] Warning: abort called - thread: ep
> [init -> drivers] child "fb_drv" exited with exit value 1
> [init -> drivers -> usb_drv] Could not read screen resolution in config
> node

You may try the fb_boot_drv [0][1] instead of the vesa driver. Mainly
you let grub2 set up the graphic device and if this succeeds, the driver
will just us the prepared framebuffer and the fixed resolution. The
driver should work independent of whether you boot uefi or legacy boot,
as long as grub2 manages to setup things.

I attached a diff below where you see the possible set screws. Please
note that the patch in the demo.run is just a bad hack. If the
fb_boot_drv works for you, you should consider to create another
drivers_interactive-pc package which contains the fb_boot-drv instead of
the vesa driver.

[0]
https://genode.org/documentation/release-notes/17.08#Support_for_boot-time_initialized_frame_buffer
[1] https://lists.genode.org/pipermail/users/2017-October/005548.html

> [init -> drivers -> usb_drv] dev_info: applying AMD
> SB700/SB800/Hudson-2/3 EHCI dummy qh workaround

Just as note, AMD is not regularly/officially tested/supported by Genode
Labs - but used/tested by enthusiasts nevertheless also with Sculpt.

> 
> I think its just the fact that APU series has no GUI that I am not
> seeing anything else.
> What does worry me though is this: "[init -> drivers -> platform_drv]
> Warning: Out_of_caps during Device_component construction". Sounds like
> I ran out of something, which may not be good considering my goal is to
> hopefully get Sculpt working on this hardware.
> 
> Is there another demo/test application I can use that functions with
> serial communication to further test and develop with (seeing as I don't
> have an video ouput) or will I have to roll my own?
> 
> Thanks again!

diff --git a/repos/os/run/demo.run b/repos/os/run/demo.run
index 6b9642f4b6..2a8bc3cd85 100644
--- a/repos/os/run/demo.run
+++ b/repos/os/run/demo.run
@@ -213,7 +213,11 @@ puts $launchpad_config_fd {<config>
 </config>}
 close $launchpad_config_fd

-build_boot_image { status_bar testnit launchpad.config }
+build { drivers/framebuffer/boot }
+
+exec cp bin/fb_boot_drv bin/vesa_fb_drv
+
+build_boot_image { status_bar testnit launchpad.config vesa_fb_drv }

 if {[get_cmd_switch --autopilot]} {
 	run_genode_until {\[init -> scout\] png is.*\n} 40
diff --git a/tool/run/boot_dir/nova b/tool/run/boot_dir/nova
index 73f0e4d934..b97cff8703 100644
--- a/tool/run/boot_dir/nova
+++ b/tool/run/boot_dir/nova
@@ -114,7 +114,7 @@ proc run_boot_dir {binaries} {
 		puts $fh "set timeout=0"

 		# choose best graphic mode
-		puts $fh "set gfxpayload=auto"
+		puts $fh "set gfxpayload=1024x768 at 32"

 		if {[have_include image/uefi]} {
 			puts $fh "insmod gfxterm"
diff --git a/tool/run/boot_dir/sel4 b/tool/run/boot_dir/sel4
index 14f2dbafcb..2f04260d8e 100644
--- a/tool/run/boot_dir/sel4
+++ b/tool/run/boot_dir/sel4
@@ -84,7 +84,8 @@ proc run_boot_dir {binaries} {
 		set fh [open "[run_dir]/boot/grub/grub.cfg" "WRONLY CREAT TRUNC"]
 		puts $fh "set timeout=0"
 		# tell grub2 to prefer 32bit framebuffer resolution
-		puts $fh "set gfxpayload=\"0x0x32\""
+#		puts $fh "set gfxpayload=\"0x0x32\""
+		puts $fh "set gfxpayload=1024x768x32"
 		puts $fh "menuentry 'Genode on seL4' {"
 		puts $fh " insmod multiboot2"
 		puts $fh " multiboot2 /boot/bender phys_max=256M $serial_bender_opt"

-- 
Alexander Boettcher
Genode Labs

https://www.genode-labs.com - https://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