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_i... [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@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"