genodelabs / genode

Genode OS Framework
https://genode.org/
Other
1.05k stars 249 forks source link

Cannot get NOVA demo to run on qemu #2309

Closed sdconsta closed 7 years ago

sdconsta commented 7 years ago

I followed the directions in the Genode book, Section 2.4, to build and run the nova demo on x86_64. I'm using Genode 17.02, and qemu 2.7.1 on Ubuntu 16.04 LTS. When I run

$ make run/demo

everything seems to build just fine, and then qemu launches. The GUI for the demo is then displayed, but freezes immediately. The scout window is displayed with the green x-ray shading, but I cannot move or manipulate it at all. The entire GUI just remains frozen, and I am unable to do anything. Here's the output when I run make run/demo:

including /home/scott/Documents/genode/tool/run/power_on/qemu
including /home/scott/Documents/genode/tool/run/log/qemu
including /home/scott/Documents/genode/tool/run/image/iso
including /home/scott/Documents/genode/tool/run/boot_dir/nova
including /home/scott/Documents/genode/repos/os/run/demo.run
building targets:  core init drivers/timer server/nitpicker app/pointer app/status_bar app/xray_trigger server/liquid_framebuffer app/launchpad app/scout test/nitpicker server/nitlog drivers/framebuffer drivers/input server/report_rom server/rom_filter drivers/platform drivers/acpi server/report_rom drivers/platform/spec/x86/device_pd
spawn make core init drivers/timer server/nitpicker app/pointer app/status_bar app/xray_trigger server/liquid_framebuffer app/launchpad app/scout test/nitpicker server/nitlog drivers/framebuffer drivers/input server/report_rom server/rom_filter drivers/platform drivers/acpi server/report_rom drivers/platform/spec/x86/device_pd
make[1]: Entering directory '/home/scott/Documents/genode/build/x86_64'
Makefile:134: target 'server/report_rom' given more than once in the same rule
checking library dependencies...
Skip target drivers/framebuffer/spec/exynos because it requires exynos
Skip target drivers/framebuffer/spec/imx53 because it requires imx53
Skip target drivers/framebuffer/spec/omap4 because it requires omap4
Skip target drivers/framebuffer/spec/pl11x/pbxa9 because it requires pl11x pbxa9
Skip target drivers/framebuffer/spec/rpi because it requires rpi
Skip target drivers/framebuffer/spec/sdl because it requires linux sdl
Skip target drivers/input/spec/imx53 because it requires imx53
Skip target drivers/input/spec/ps2/pl050 because it requires pl050
Skip target drivers/platform/spec/arndale because it requires arndale
Skip target drivers/platform/spec/imx53 because it requires imx53
Skip target drivers/platform/spec/odroid_x2 because it requires odroid_x2
Skip target drivers/platform/spec/rpi because it requires rpi
Skip target drivers/timer/fiasco because it requires fiasco
Skip target drivers/timer/foc because it requires foc
Skip target drivers/timer/hw because it requires hw
Skip target drivers/timer/linux because it requires linux
Skip target drivers/timer/pistachio because it requires pistachio
  Library ldso-startup
  Library blit
  Library scout_gfx
  Library mini_c
  Library startup-nova
  Library cxx
  Library x86emu
  Library alarm
  Library config
  Library ld
  Library libz_static
  Library timeout
  Library base-nova-common
  Library base
  Library libpng_static
  Program drivers/acpi/spec/x86/acpi_drv
  Program drivers/framebuffer/vesa/fb_drv
  Program drivers/input/dummy/dummy_input_drv
  Program drivers/input/spec/ps2/x86/ps2_drv
  Library core-nova
    COMPILE  version.o
    MERGE    core-nova.lib.a
  Library base-nova
  Program drivers/platform/spec/x86/platform_drv
  Program drivers/timer/nova/nova_timer_drv
  Program drivers/timer/pit/pit_timer_drv
  Program server/nitlog/nitlog
  Program init/init
  Program server/nitpicker/nitpicker
  Program server/rom_filter/rom_filter
  Program server/report_rom/report_rom
  Program test/nitpicker/testnit
  Library launchpad
  Program app/pointer/pointer
  Program app/status_bar/status_bar
  Library scout_widgets
  Program app/xray_trigger/xray_trigger
  Program core/nova/core
  Program drivers/platform/spec/x86/device_pd/device_pd
  Program server/liquid_framebuffer/liquid_fb
  Program app/launchpad/launchpad
  Program app/scout/scout
make[1]: 'server/report_rom' is up to date.
make[1]: Leaving directory '/home/scott/Documents/genode/build/x86_64'
genode build completed
building targets:  lib/ld/nova kernel 
spawn make lib/ld/nova kernel
make[1]: Entering directory '/home/scott/Documents/genode/build/x86_64'
checking library dependencies...
  Library cxx
  Library alarm
  Library config
  Library startup-nova
  Library ldso-startup
  Library timed_semaphore
  Library base-nova-common
  Library base-nova
  Library ld-nova
  Program lib/ld/nova/ld-nova
  Program kernel/nova/hypervisor
make[1]: Leaving directory '/home/scott/Documents/genode/build/x86_64'
genode build completed
using 'ld-nova.lib.so' as 'ld.lib.so'
using 'nova_timer_drv' as 'timer'
using 'nova/core.o' as 'core.o'
using NOVA kernel at /home/scott/Documents/genode/build/x86_64/kernel/nova/hypervisor
install bootloader
creating ISO image...
Warning: -follow-links does not always work correctly; be careful.
Size of boot image is 4 sectors -> No emulation
Total translation table size: 2048
Total rockridge attributes bytes: 1544
Total directory bytes: 6882
Path table size(bytes): 50
Max brk space used 23000
3651 extents written (7 MB)
spawn qemu-system-x86_64 -no-kvm -display sdl -cpu core2duo -m 256 -serial mon:stdio -cdrom var/run/demo.iso
warning: TCG doesn't support requested feature: CPUID.01H:EDX.vme [bit 1]
main-loop: WARNING: I/O thread spun for 1000 iterations
Bender: Hello World.
Need 0068f000 bytes to relocate modules.
Relocating to 0f951000: 
Copying 6724736 bytes...
Copying 147800 bytes...

NOVA Microhypervisor v7-2436fe2 (x86_64): Mar  7 2017 13:06:46 [gcc 4.9.2]

[ 0] CORE:0:0:0 6:f:b:0 [0] Intel(R) Core(TM)2 Duo CPU     T7700  @ 2.40GHz
Hypervisor reports 1x1 CPU 
Warning: CPU has no invariant TSC.
CPU ID (genode->kernel:package:core:thread) remapping
 remap (0->0:0:0:0) boot cpu
Hypervisor info page contains 8 memory descriptors:
core     image  [0000000000100000,0000000000769000)
binaries region [000000000020b000,0000000000769000) free for reuse
detected physical memory: 0x0000000000000000 - size: 0x000000000009fc00
use      physical memory: 0x0000000000000000 - size: 0x000000000009f000
detected physical memory: 0x0000000000100000 - size: 0x000000000fee0000
use      physical memory: 0x0000000000100000 - size: 0x000000000fee0000
:virt_alloc: Allocator 0x1d4530 dump:
 Block: [0x2000,0x3000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x3000,0x4000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x4000,0x5000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x5000,0x6000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x6000,0x7000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x7000,0x8000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x8000,0x9000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x9000,0xa000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xa000,0xb000] size=0x1000 avail=0x0 max_avail=0x7fff000f9000
 Block: [0xb000,0xc000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xc000,0xd000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xd000,0xe000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xe000,0xf000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xf000,0x10000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x10000,0x11000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x11000,0x12000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x12000,0x13000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x13000,0x14000] size=0x1000 avail=0x0 max_avail=0x7fff000f9000
 Block: [0x14000,0x15000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x15000,0x16000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x16000,0x100000] size=0xea000 avail=0xea000 max_avail=0xea000
 Block: [0x20b000,0x20c000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x20c000,0x20d000] size=0x1000 avail=0x0 max_avail=0x7fff000f9000
 Block: [0x20d000,0x20e000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x20e000,0xa0000000] size=0x9fdf2000 avail=0x9fdf2000 max_avail=0x9fdf2000
 Block: [0xb0000000,0xbfeff000] size=0xfeff000 avail=0xfeff000 max_avail=0x7fff000f9000
 Block: [0xbff04000,0x7fffbfffd000] size=0x7fff000f9000 avail=0x7fff000f9000 max_avail=0x7fff000f9000
 => mem_size=140736145043456 (134216446 MB) / mem_avail=140736144949248 (134216446 MB)

:phys_alloc: Allocator 0x1d3460 dump:
 Block: [0x1000,0x2000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x2000,0x3000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x3000,0x4000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x4000,0x5000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x5000,0x6000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x6000,0x7000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x7000,0x8000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x8000,0x9000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x9000,0xa000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xa000,0xb000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xb000,0xc000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xc000,0xd000] size=0x1000 avail=0x0 max_avail=0xd176000
 Block: [0xd000,0xe000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xe000,0xf000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xf000,0x10000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x10000,0x11000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x11000,0x12000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x12000,0x13000] size=0x1000 avail=0x0 max_avail=0xd176000
 Block: [0x13000,0x14000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x14000,0x15000] size=0x1000 avail=0x0 max_avail=0x88000
 Block: [0x15000,0x16000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x16000,0x17000] size=0x1000 avail=0x0 max_avail=0x88000
 Block: [0x17000,0x9f000] size=0x88000 avail=0x88000 max_avail=0x88000
 Block: [0x100000,0x101000] size=0x1000 avail=0x0 max_avail=0xd176000
 Block: [0x101000,0x102000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x102000,0x400000] size=0x2fe000 avail=0x2fe000 max_avail=0xd176000
 Block: [0x2800000,0xf976000] size=0xd176000 avail=0xd176000 max_avail=0xd176000
 => mem_size=223428608 (213 MB) / mem_avail=223330304 (212 MB)

:io_mem_alloc: Allocator 0x1d5618 dump:
 Block: [0x0,0x1000] size=0x1000 avail=0x1000 max_avail=0x1000
 Block: [0x9f000,0x100000] size=0x61000 avail=0x61000 max_avail=0xfffffffff001f000
 Block: [0xffe0000,0xfffffffffffff000] size=0xfffffffff001f000 avail=0xfffffffff001f000 max_avail=0xfffffffff001f000
 => mem_size=18446744073441644544 (17592186044160 MB) / mem_avail=18446744073441644544 (17592186044160 MB)

:rom_fs: ROM modules:
 ROM: [000000000ff45000,000000000ff58cc8) acpi_drv
 ROM: [000000000ffde000,000000000ffdf98f) config
 ROM: [000000000ff70000,000000000ffddd80) device_pd
 ROM: [000000000fecd000,000000000ff0d6f0) fb_drv
 ROM: [0000000000015000,0000000000016000) hypervisor_info_page
 ROM: [000000000fb20000,000000000fb467c8) init
 ROM: [000000000fc3f000,000000000fce6b80) launchpad
 ROM: [000000000feb3000,000000000feb3213) launchpad.config
 ROM: [000000000fa82000,000000000fb1fc58) ld.lib.so
 ROM: [000000000fc05000,000000000fc3ef58) liquid_fb
 ROM: [000000000fe97000,000000000feb2c40) nitlog
 ROM: [000000000fb5b000,000000000fb94988) nitpicker
 ROM: [000000000ff0e000,000000000ff441d8) platform_drv
 ROM: [000000000fb95000,000000000fba6ea0) pointer
 ROM: [000000000feb4000,000000000fecc4c0) ps2_drv
 ROM: [000000000ff59000,000000000ff6f270) report_rom
 ROM: [000000000fbbf000,000000000fbd5270) report_rom
 ROM: [000000000fbd6000,000000000fbea0f0) rom_filter
 ROM: [000000000fce7000,000000000fe815a0) scout
 ROM: [000000000fba7000,000000000fbbe960) status_bar
 ROM: [000000000fe82000,000000000fe965d0) testnit
 ROM: [000000000fb47000,000000000fb5a930) timer
 ROM: [000000000fbeb000,000000000fc04d20) xray_trigger

Genode 17.02
212 MiB RAM assigned to init
[init] child "report_rom" announces service "Report"
[init] child "report_rom" announces service "ROM"
[init] child "acpi_report_rom" announces service "Report"
[init] child "acpi_report_rom" announces service "ROM"
[init] child "nitpicker_config" announces service "ROM"
[init] child "timer" announces service "Timer"
[init -> nitpicker_config] Warning: top-level node <xray> missing in input ROM xray
[init -> nitpicker_config] Warning: could not obtain input value for input xray_enabled
[init -> acpi_drv] Found MADT
[init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0
[init -> acpi_drv] MADT IRQ 5 -> GSI 5 flags: 13
[init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 13
[init -> acpi_drv] MADT IRQ 10 -> GSI 10 flags: 13
[init -> acpi_drv] MADT IRQ 11 -> GSI 11 flags: 13
[init -> acpi_drv] Warning: 2 dangling allocations at allocator destruction time
[init] child "platform_drv" announces service "Platform"
[init -> ps2_drv] Using keyboard with scan code set 1 (xlate)
[init -> ps2_drv] detected ExPS/2 mouse - activating scroll-wheel and 5-button support
[init -> platform_drv] PS2 uses IRQ, vector 0x1
[init -> platform_drv] PS2 uses IRQ, vector 0xc
[init] child "ps2_drv" announces service "Input"
[init -> fb_drv] Found PCI VGA at 00:02.0
[init -> fb_drv] fb mapped to 0x1000
[init] child "fb_drv" announces service "Framebuffer"
[init -> fb_drv] Found: VESA BIOS version 3.0
[init -> fb_drv] OEM: SeaBIOS VBE(C) 2011
[init -> fb_drv] Found: physical frame buffer at 0xfd000000 size: 16777216
[init -> fb_drv] fb mapped to 0xb000000
[init -> fb_drv] using video mode: 2560x1600@16
[init] child "nitpicker" announces service "Nitpicker"
[init -> nitpicker] Warning: not enough RAM to preserve buffer content during resize
[init -> scout] png is 101 x 92, depth=8
alex-ab commented 7 years ago

When using the default qemu package as shipped by 16.04. Ubuntu LTS

QEMU emulator version 2.5.0 (Debian 1:2.5+dfsg-5ubuntu10.9), Copyright (c) 2003-2008 Fabrice Bellard

the demo works for me.

sdconsta commented 7 years ago

Hi Alexander,

Thanks for the quick reply. I installed the default emu package (2.5.0), but I'm still experiencing the exact same behavior. I'm wondering if it could be related to one of the warnings I'm getting:

[init -> nitpicker] Warning: not enough RAM to preserve buffer content during resize

I tried googling this warning, but did not see any results.

Scott

alex-ab commented 7 years ago

You are sure 2.5.0 is active (not by accident still 2.7.1 is taken) ? What does qemu-system-x86_64 --version tell you ?

In the meantime I downloaded and build 2.7.1 and yes, there it also does not work for me.

alex-ab commented 7 years ago

Ahmm, you are running inside a VM or on native Ubuntu ?

sdconsta commented 7 years ago

I am definitely now using 2.5.0. I perhaps should have also mentioned that I'm using Ubuntu inside of VirtualBox. My host system is a 2016 MacBook Pro with MacOS Sierra.

alex-ab commented 7 years ago

May you just for fun run on the base-hw kernel instead on nova. For me base-hw works with qemu 2.7.1

sdconsta commented 7 years ago

In etc/build.conf, I changed KERNEL from 'nova' to 'hw' and rebuilt the demo. When qemu launches, it now displays "Booting 'Genode on base-hw'", but then I run into the same issue: a frozen GUI. Although this time the warning messages from Genode are different:

using 'ld-hw.lib.so' as 'ld.lib.so'
using 'hw_timer_drv' as 'timer'
core link address is 0x10200000
install bootloader
creating ISO image...
Warning: -follow-links does not always work correctly; be careful.
Size of boot image is 4 sectors -> No emulation
 86.64% done, estimate finish Tue Mar  7 15:46:35 2017
Total translation table size: 2048
Total rockridge attributes bytes: 3281
Total directory bytes: 10968
Path table size(bytes): 64
Max brk space used 1e000
5771 extents written (11 MB)
spawn qemu-system-x86_64 -no-kvm -display sdl -m 256 -serial mon:stdio -cdrom var/run/demo.iso
warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5]
Bender: Hello World.
Need 005e7000 bytes to relocate modules.
Relocating to 0f9f9000:
Copying 6189040 bytes...

kernel initialized
:virt_alloc: Allocator 0x1030f7f0 dump:
 Block: [0x1000,0x2000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x2000,0x3000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x3000,0x4000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x4000,0x5000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x5000,0x6000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x6000,0x7000] size=0x1000 avail=0x0 max_avail=0xf2000
 Block: [0x7000,0x8000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x8000,0x9000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x9000,0xa000] size=0x1000 avail=0x0 max_avail=0xf2000
 Block: [0xa000,0xb000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xb000,0xc000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xc000,0xd000] size=0x1000 avail=0x0 max_avail=0xf2000
 Block: [0xd000,0xe000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xe000,0x100000] size=0xf2000 avail=0xf2000 max_avail=0xf2000
 Block: [0x101000,0x102000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x102000,0x103000] size=0x1000 avail=0x0 max_avail=0xcf7f2000
 Block: [0x103000,0x104000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x104000,0x200000] size=0xfc000 avail=0xfc000 max_avail=0xfc000
 Block: [0x9fc000,0x9fd000] size=0x1000 avail=0x0 max_avail=0xf803000
 Block: [0x9fd000,0x10200000] size=0xf803000 avail=0xf803000 max_avail=0xf803000
 Block: [0x1080d000,0x1080e000] size=0x1000 avail=0x0 max_avail=0xcf7f2000
 Block: [0x1080e000,0xe0000000] size=0xcf7f2000 avail=0xcf7f2000 max_avail=0xcf7f2000
 Block: [0xf0001000,0xf0002000] size=0x1000 avail=0x0 max_avail=0xcf7f2000
 Block: [0xf0003000,0xf0004000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xf0005000,0xf0006000] size=0x1000 avail=0x0 max_avail=0xffe8000
 Block: [0xf0007000,0xfffef000] size=0xffe8000 avail=0xffe8000 max_avail=0xffe8000
 => mem_size=4011720704 (3825 MB) / mem_avail=4011634688 (3825 MB)

:phys_alloc: Allocator 0x1030e720 dump:
 Block: [0x1000,0x2000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x2000,0x3000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x3000,0x4000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x4000,0x5000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x5000,0x6000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x6000,0x7000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x7000,0x8000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x8000,0x9000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x9000,0xa000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xa000,0xb000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xb000,0xc000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xc000,0xd000] size=0x1000 avail=0x0 max_avail=0xf5e4000
 Block: [0xd000,0xe000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xe000,0xf000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0xf000,0x10000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x10000,0x11000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x11000,0x12000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x12000,0x13000] size=0x1000 avail=0x0 max_avail=0xf5e4000
 Block: [0x13000,0x14000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x14000,0xa0000] size=0x8c000 avail=0x8c000 max_avail=0x8c000
 Block: [0x102000,0x103000] size=0x1000 avail=0x0 max_avail=0xf5e4000
 Block: [0x103000,0x104000] size=0x1000 avail=0x0 max_avail=0x0
 Block: [0x182000,0x200000] size=0x7e000 avail=0x7e000 max_avail=0xf5e4000
 Block: [0x9fc000,0xffe0000] size=0xf5e4000 avail=0xf5e4000 max_avail=0xf5e4000
 => mem_size=259010560 (247 MB) / mem_avail=258924544 (246 MB)

:io_mem_alloc: Allocator 0x103108d8 dump:
 Block: [0x0,0x1000] size=0x1000 avail=0x1000 max_avail=0x1000
 Block: [0xa0000,0x102000] size=0x62000 avail=0x62000 max_avail=0xfffffffff001ffff
 Block: [0x104000,0x182000] size=0x7e000 avail=0x7e000 max_avail=0x7e000
 Block: [0x200000,0x9fc000] size=0x7fc000 avail=0x7fc000 max_avail=0xfffffffff001ffff
 Block: [0xffe0000,0xffffffffffffffff] size=0xfffffffff001ffff avail=0xfffffffff001ffff max_avail=0xfffffffff001ffff
 => mem_size=18446744073450541055 (17592186044168 MB) / mem_avail=18446744073450541055 (17592186044168 MB)

:io_port_alloc: Allocator 0x103119a8 dump:
 Block: [0x0,0x10000] size=0x10000 avail=0x10000 max_avail=0x10000
 => mem_size=65536 (0 MB) / mem_avail=65536 (0 MB)

:irq_alloc: Allocator 0x10312a78 dump:
 Block: [0x0,0x20] size=0x20 avail=0x20 max_avail=0xde
 Block: [0x21,0xff] size=0xde avail=0xde max_avail=0xde
 => mem_size=254 (0 MB) / mem_avail=254 (0 MB)

:rom_fs: ROM modules:
 ROM: [00000000007cc000,00000000007dfcc8) acpi_drv
 ROM: [00000000007f7000,00000000007f898f) config
 ROM: [0000000000754000,00000000007946f0) fb_drv
 ROM: [00000000003ac000,00000000003d27c8) init
 ROM: [00000000004c6000,000000000056db80) launchpad
 ROM: [000000000073a000,000000000073a213) launchpad.config
 ROM: [0000000000313000,00000000003ab078) ld.lib.so
 ROM: [000000000048c000,00000000004c5f58) liquid_fb
 ROM: [000000000071e000,0000000000739c40) nitlog
 ROM: [00000000003e2000,000000000041b988) nitpicker
 ROM: [0000000000795000,00000000007cb1d8) platform_drv
 ROM: [000000000041c000,000000000042dea0) pointer
 ROM: [000000000073b000,00000000007534c0) ps2_drv
 ROM: [00000000007e0000,00000000007f6270) report_rom
 ROM: [0000000000446000,000000000045c270) report_rom
 ROM: [000000000045d000,00000000004710f0) rom_filter
 ROM: [000000000056e000,00000000007085a0) scout
 ROM: [000000000042e000,0000000000445960) status_bar
 ROM: [0000000000709000,000000000071d5d0) testnit
 ROM: [00000000003d3000,00000000003e1cb8) timer
 ROM: [0000000000472000,000000000048bd20) xray_trigger

Genode 17.02
246 MiB RAM assigned to init
Warning: Quota exceeded! amount=131072, size=12288, consumed=131072
[init] child "timer" announces service "Timer"
[init] child "nitpicker_config" announces service "ROM"
[init] child "report_rom" announces service "Report"
[init] child "report_rom" announces service "ROM"
[init] child "acpi_report_rom" announces service "Report"
[init] child "acpi_report_rom" announces service "ROM"
[init -> nitpicker_config] Warning: top-level node <xray> missing in input ROM xray
[init -> nitpicker_config] Warning: could not obtain input value for input xray_enabled
[init -> acpi_drv] Found MADT
[init -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0
[init -> acpi_drv] MADT IRQ 5 -> GSI 5 flags: 13
[init -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 13
[init -> acpi_drv] MADT IRQ 10 -> GSI 10 flags: 13
[init -> acpi_drv] MADT IRQ 11 -> GSI 11 flags: 13
[init -> acpi_drv] Warning: 2 dangling allocations at allocator destruction time
[init] child "platform_drv" announces service "Platform"
[init -> ps2_drv] Using keyboard with scan code set 1 (xlate)
[init -> ps2_drv] detected ExPS/2 mouse - activating scroll-wheel and 5-button support
[init -> platform_drv] PS2 uses IRQ, vector 0x1
[init -> platform_drv] PS2 uses IRQ, vector 0xc
[init -> fb_drv] Found PCI VGA at 00:02.0
[init -> fb_drv] fb mapped to 0x1000
[init] child "ps2_drv" announces service "Input"
[init] child "fb_drv" announces service "Framebuffer"
[init -> fb_drv] Found: VESA BIOS version 3.0
[init -> fb_drv] OEM: SeaBIOS VBE(C) 2011
[init -> fb_drv] Found: physical frame buffer at 0xfd000000 size: 16777216
[init -> fb_drv] fb mapped to 0xf0000000
[init -> fb_drv] using video mode: 2560x1600@16
[init] child "nitpicker" announces service "Nitpicker"
[init -> nitpicker] Warning: not enough RAM to preserve buffer content during resize
Warning: Quota exceeded! amount=130341, size=12288, consumed=122880
Warning: Quota exceeded! amount=154917, size=12288, consumed=147456
[init -> scout] png is 101 x 92, depth=8
alex-ab commented 7 years ago

The output is ok, it should just work. Seems to be an issue with your virtualization stack. Since we have no Mac around here, we're not going to investigate.

What you may try is to move the generated .iso outside of your VM and run it as a own Virtualbox VM instance, maybe you have more luck this way. (Or you just dd the image to a usb stick and run it on a native machine, but then you probably have no serial output...).

alex-ab commented 7 years ago

If you using the nova version of the demo, you have to enable the I/O APIC in the Virtualbox VM configuration !

cproc commented 7 years ago

Does export SDL_VIDEO_X11_DGAMOUSE=0 in the Ubuntu VM help? This feature is known to cause problems with input events when running Qemu/SDL in a VM.

sdconsta commented 7 years ago

Yes, that last fix worked! export SDL_VIDEO_X11_DGAMOUSE=0 solved the problem. Slightly unrelated problem: the display in qemu is massive: 2560x1600@16. Is it possible to shrink this down?

cproc commented 7 years ago

The display size can be configured in the 'demo.run' script for the 'fb_drv' component:

<start name="fb_drv">
        <resource name="RAM" quantum="4M"/>
        <provides><service name="Framebuffer"/></provides>
        <config width="800" height="600"/>
</start>
sdconsta commented 7 years ago

Works beautifully. Thanks! Now closing this thread...