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@...64...
[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
Any help would be much appreciated.