Genode 19.08 demo on seL4/x86 build failing

Adam T. Wiethuechter wiethuat at critical.com
Fri Sep 13 22:53:51 CEST 2019


Alex,

Thanks for the quick response. Your suggestion got me to prepare a few 
more things and then finally something built successfully and instantly 
booted into QEMU (which was black screen).

```
cd genode-19.08
./tool/ports/prepare_port dde_linux libc x86emu
./tool/depot/create genodelabs/pkg/x86_64/drivers_interactive-pc 
CROSS_DEV_PREFIX=/usr/local/genode/tool/19.05/bin/genode-x86-
cd build/x86_64
vim etc/build.conf
make run/demo
including /home/adam/genode-19.08/tool/run/power_on/qemu
including /home/adam/genode-19.08/tool/run/log/qemu
including /home/adam/genode-19.08/tool/run/image/iso
including /home/adam/genode-19.08/tool/run/boot_dir/sel4
including /home/adam/genode-19.08/tool/run/image/iso
including /home/adam/genode-19.08/repos/os/run/demo.run
building targets:  app/status_bar test/nitpicker
spawn make app/status_bar test/nitpicker
make[1]: Entering directory '/home/adam/genode-19.08/build/x86_64'
checking library dependencies...
   Library ldso-startup
     COMPILE  startup.o
     MERGE    ldso-startup.lib.a
   Library ld
     CONVERT  ld.symbols.s
     ASSEMBLE ld.symbols.o
     MERGE    ld.abi.so
   Library base
     MERGE    base.lib.a
     COMPILE  main.o
   Program app/status_bar/status_bar
   Program test/nitpicker/testnit
     CONVERT  binary_default.tff.o
     COMPILE  test.o
     LINK     testnit
     LINK     status_bar
make[1]: Leaving directory '/home/adam/genode-19.08/build/x86_64'
genode build completed
checking configuration syntax
   CHECK init
building targets: kernel/sel4
spawn make kernel/sel4
make[1]: Entering directory '/home/adam/genode-19.08/build/x86_64'
checking library dependencies...
     MERGE    kernel-sel4-pc.lib.a
   Library kernel-sel4-pc
  [MKDIR] arch/object
  [MKDIR] plat/64/plat_mode/machine
  [MKDIR] src/arch/x86/api
  [MKDIR] plat/machine
  [MKDIR] src/arch/x86/object
  [TOUCH] sources_list_updated
  [CPP] linker.lds_pp
  [PBF_GEN] arch/object/structures.pbf
  [PBF_GEN] 64/mode/api/shared_types.pbf
  [PBF_GEN] plat/64/plat_mode/machine/hardware.pbf
  [BF_GEN] arch/object/structures_gen.h
  [BF_GEN] plat/64/plat_mode/machine/hardware_gen.h
  [BF_GEN] 64/mode/api/shared_types_gen.h
  [CPP_GEN] kernel_all.c
  [CPP] src/arch/x86/64/traps.s_pp
  [CPP] src/arch/x86/64/head.s_pp
  [CPP] src/arch/x86/multiboot.s_pp
  [CPP] src/arch/x86/64/machine_asm.s_pp
  [CPP] kernel_all.c_pp
  [AS] src/arch/x86/multiboot.o
  [AS] src/arch/x86/64/machine_asm.o
  [AS] src/arch/x86/64/traps.o
  [AS] src/arch/x86/64/head.o
  [Circular includes] kernel_all.c_pp
  [CP] kernel_final.c
  [CC] kernel_final.s
  [AS] kernel.o
# Clear any .arch directive from the .s file in case we are assembling
# for a different architecture. This happens when the compiler supports
# a subset architecture compared to the assembler. For example where the
# compiler only supports armv7-a, where the assembler supports armv7ve
  [LD] kernel.elf
  [STRIP] kernel.elf.strip
rm src/arch/x86/64/machine_asm.s_pp src/arch/x86/multiboot.s_pp 
plat/64/plat_mode/machine/hardware_gen.h src/arch/x86/64/head.s_pp 
64/mode/api/shared_types_gen.h src/arch/x86/64/traps.s_pp 
arch/object/structures_gen.h
   Program kernel/sel4/sel4-pc
make[1]: Leaving directory '/home/adam/genode-19.08/build/x86_64'
genode build completed
using 'core-sel4.o' as 'core.o'
install bootloader
creating ISO image...
xorriso 1.4.8 : RockRidge filesystem manipulator, libburnia project.

spawn qemu-system-x86_64 -no-kvm -display sdl -serial mon:stdio -m 512 
-cdrom var/run/demo.iso -machine q35
qemu-system-x86_64: warning: TCG doesn't support requested feature: 
CPUID.01H:ECX.vmx [bit 5]
Bender: Hello World.

Boot config: parsing cmdline 'sel4 disable_iommu'
Boot config: console_port = 0x3f8
Boot config: debug_port = 0x3f8
Boot config: disable_iommu = true
   module #0: start=0xf5c5000 end=0xffff330 size=0xa3a330 name='image.elf'
     Physical Memory Region from 0 size 9fc00 type 1
     Physical Memory Region from 9fc00 size 400 type 2
     Physical Memory Region from f0000 size 10000 type 2
     Physical Memory Region from 100000 size 1fedf000 type 1
Adding physical memory region 0x100000-0x1ffdf000
     Physical Memory Region from 1ffdf000 size 21000 type 2
     Physical Memory Region from b0000000 size 10000000 type 2
     Physical Memory Region from fed1c000 size 4000 type 2
     Physical Memory Region from fffc0000 size 40000 type 2
Got framebuffer info in multiboot2. Current video mode is at physical 
address=fd000000 pitch=10240 resolution=2560x1600 at 32 type=1
Detected 1 boot module(s):
Kernel loaded to: start=0x200000 end=0xaa5000 size=0x8a5000 entry=0x201209
ACPI: RSDT paddr=0x1ffe20c5
ACPI: RSDT vaddr=0x1ffe20c5
ACPI: FADT paddr=0x1ffe1ee5
ACPI: FADT vaddr=0x1ffe1ee5
ACPI: FADT flags=0x84a5
ACPI: MADT paddr=0x1ffe1fd9
ACPI: MADT vaddr=0x1ffe1fd9
ACPI: MADT apic_addr=0xfee00000
ACPI: MADT flags=0x1
ACPI: MADT_APIC apic_id=0x0
ACPI: MADT_IOAPIC ioapic_id=0 ioapic_addr=0xfec00000 gsib=0
ACPI: MADT_ISO bus=0 source=0 gsi=2 flags=0x0
ACPI: MADT_ISO bus=0 source=5 gsi=5 flags=0xd
ACPI: MADT_ISO bus=0 source=9 gsi=9 flags=0xd
ACPI: MADT_ISO bus=0 source=10 gsi=10 flags=0xd
ACPI: MADT_ISO bus=0 source=11 gsi=11 flags=0xd
ACPI: 1 CPU(s) detected
ELF-loading userland images from boot modules:
size=0x18a4000 v_entry=0x2000018 v_start=0x2000000 v_end=0x38a4000 
p_start=0x10000000 p_end=0x118a4000
Moving loaded userland images to final location: from=0x10000000 
to=0xaa5000 size=0x18a4000
Starting node #0 with APIC ID 0
Mapping kernel window is done
vt-x: not supported
Booting all finished, dropped to user space
:phys_mem_16k:     Allocator 0x2fe7b30 dump:
  Block: [0000000000200000,0000000000240000) size=256K avail=256K 
max_avail=256K
  => mem_size=262144 (0 MB) / mem_avail=262144 (0 MB)

Warning: device memory in range [0000000100000000,0000000200000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000000200000000,0000000400000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000000400000000,0000000800000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000000800000000,0000001000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000001000000000,0000002000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000002000000000,0000004000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000004000000000,0000008000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000008000000000,0000408000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000408000000000,0000608000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000608000000000,0000708000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000708000000000,0000788000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [0000788000000000,00007c8000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [00007c8000000000,00007e8000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [00007e8000000000,00007f8000000000) is 
unavailable (due to limited untyped cnode range)
Warning: device memory in range [00007f8000000000,0000800000000000) is 
unavailable (due to limited untyped cnode range)
virtual address layout of core:
  overall    [0000000000002000,0000000200000000)
  core image [0000000002000000,00000000038a4000)
  ipc buffer [00000000038a4000,00000000038a5000)
  boot_info  [00000000038a5000,00000000038a7000)
  stack area [0000000040000000,0000000050000000)
Warning: need physical memory, but Platform object not constructed yet
Warning: need physical memory, but Platform object not constructed yet
Warning: need physical memory, but Platform object not constructed yet
boot module 'status_bar' (131872 bytes)
boot module 'input_filter' (200192 bytes)
boot module 'init' (345536 bytes)
boot module 'scout' (1788016 bytes)
boot module 'report_rom' (128160 bytes)
boot module 'timer' (120736 bytes)
boot module 'en_us.chargen' (13500 bytes)
boot module 'launchpad' (829744 bytes)
boot module 'ld.lib.so' (1020368 bytes)
boot module 'test-libpng_static' (154016 bytes)
boot module 'nitlog' (144392 bytes)
boot module 'vesa_fb_drv' (367632 bytes)
boot module 'ps2_drv' (181488 bytes)
boot module 'usb_drv' (1400368 bytes)
boot module 'rom_filter' (121520 bytes)
boot module 'testnit' (108568 bytes)
boot module 'platform_drv' (334464 bytes)
boot module 'config' (5603 bytes)
boot module 'drivers.config' (4788 bytes)
boot module 'nitpicker' (378296 bytes)
boot module 'init.xsd' (7148 bytes)
boot module 'fb_drv.config' (51 bytes)
boot module 'nit_focus' (97520 bytes)
boot module 'acpi_drv' (155480 bytes)
boot module 'pointer' (154656 bytes)
boot module 'launchpad.config' (594 bytes)
boot module 'global_keys_handler' (164400 bytes)
boot module 'special.chargen' (1346 bytes)
boot module 'liquid_fb' (684584 bytes)
boot module 'input_filter.config' (768 bytes)
Warning: need physical memory, but Platform object not constructed yet
Genode 19.08
369 MiB RAM and 261141 caps assigned to init
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x1
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x2
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x4
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x8
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x10
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x20
[init -> drivers -> acpi_drv] Found MADT
[init -> drivers -> acpi_drv] MADT IRQ 0 -> GSI 2 flags: 0
[init -> drivers -> acpi_drv] MADT IRQ 5 -> GSI 5 flags: 13
[init -> drivers -> acpi_drv] MADT IRQ 9 -> GSI 9 flags: 13
[init -> drivers -> acpi_drv] MADT IRQ 10 -> GSI 10 flags: 13
[init -> drivers -> acpi_drv] MADT IRQ 11 -> GSI 11 flags: 13
[init -> drivers -> acpi_drv] Found MCFG
[init -> drivers -> acpi_drv] MCFG BASE 0xb0000000 seg 0x0 bus 0x0-0xff
[init -> drivers -> acpi_drv] RSDT OEM 'BOCHS ', table id 'BXPCRSDT', 
revision 1, creator 'BXPC' (1)
[init -> drivers -> platform_drv] ECAM/MMCONF range 00:00.0-ff:1f.7 - 
addr [00000000b0000000,00000000c0000000)
[init -> drivers -> platform_drv] Root bridge: 00:00.0
[init -> drivers -> acpi_drv] SMBIOS table (entry point: 0x1a6900 
structures: 0xf6920)
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x40
[init -> drivers -> ps2_drv] Using keyboard with scan code set 1 (xlate)
[init -> drivers -> usb_drv] Could not read screen resolution in config node
[init -> drivers -> usb_drv] Configured HID screen with 0x0 
(multitouch=false)
[init -> drivers -> usb_drv] No <storage> config node found - not 
starting the USB Storage (Block) service
[init -> drivers -> usb_drv] No <nic> config node found - not starting 
the USB Nic (Network) service
[init -> drivers -> usb_drv] No <raw> config node found - not starting 
external USB service
[init -> drivers -> usb_drv] Enabled UHCI (USB 1.0/1.1) support
[init -> drivers -> usb_drv] Enabled EHCI (USB 2.0) support
[init -> drivers -> usb_drv] Enabled XHCI (USB 3.0) support
[init -> drivers -> ps2_drv] detected ExPS/2 mouse - activating 
scroll-wheel and 5-button support
[init -> drivers -> platform_drv] PS2 uses IRQ, vector 0x1
[init -> drivers -> platform_drv] PS2 uses IRQ, vector 0xc
[init -> drivers -> fb_drv] Found PCI VGA at 00:01.0
[init -> drivers -> fb_drv] fb mapped to 0x6000
Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) 
not implemented - resources leaked: 0x80
[init -> drivers] child "input_filter" requests resources: ram_quota=20480
[init -> drivers -> fb_drv] Found: VESA BIOS version 3.0
[init -> drivers -> fb_drv] OEM: SeaBIOS VBE(C) 2011
[init -> drivers -> fb_drv] Found: physical frame buffer at 0xfd000000 
size: 16777216
[init -> drivers -> fb_drv] fb mapped to 0xb000000
[init -> drivers -> fb_drv] using video mode: 1024x768 at 16
[init -> drivers -> fb_drv] using buffered output
Kernel: Thread 'ep' died because of an uncaught exception
[init -> drivers -> ps2_drv] Error: Uncaught exception of type 
'Genode::Ring_buffer<unsigned char, 1024, 
Genode::Ring_buffer_synchronized>::Overflow'
[init -> drivers -> ps2_drv] Warning: abort called - thread: ep
[init -> drivers -> platform_drv] Warning: 1 dangling allocation at 
allocator destruction time
[init -> drivers -> ps2_drv] Error: freeing non-empty slab block
[init -> drivers -> ps2_drv] Error: ID space not empty at destruction time
[init -> drivers] child "ps2_drv" exited with exit value 1
no RM attachment (READ pf_addr=0x25120 pf_ip=0x1005a60 from 
pager_object: pd='init -> drivers -> platform_drv' thread='ep')
Warning: invalid signal-context capability
Warning: page-fault, pager_object: pd='init -> drivers -> platform_drv' 
thread='ep' ip=0x1005a60 pf-addr=0x25120
```

Looks like I have some runtime errors now (in QEMU)? I'm going to try 
this on actual hardware as well and see what happens.

73's,
Adam Wiethuechter, Jr Software Engineer
Critical Technologies Inc. (CTI)
Desk: (315)-793-0248 x157
Cell: (315)-552-4298
<adam.wiethuechter at critical.com>

On 9/13/19 2:56 PM, Alexander Boettcher wrote:
> Hello,
>
> On 13.09.19 19:59, Adam T. Wiethuechter wrote:
>> It's been a long while since I have messed with Genode and a lot (of
>> really good things) have happened since. I can't wait to get more into
>> the system again (and finally play with Sculpt).
> welcome back.
>
>> Note that I updated "etc/build.conf" so that 'KERNEL=sel4',
>> 'BOARD=linux', parallel build is enabled and added 'RUN_OPT += --include
>> image/iso'
> the BOARD variable is meant to describe the target, which is in your
> case a native PC - so 'BOARD=pc' should help here.
>
> Cheers,
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genode.org/pipermail/users/attachments/20190913/6f526999/attachment-0001.html>


More information about the users mailing list