Hi, guys, I am trying to build genode/sel4 on x86_64 platform and expect to get a GUI working. And so I enable this option in my build.conf : REPOSITORIES += $(GENODE_DIR)/repos/libports. Seems that rust support is broken (because rustc version ??). Which version of rustc should I use to build rust ports on genode ? Or how can I disable rust ports in build.conf configuration or somewhere else ? thanks, -Minskey
Hello, On 04.11.19 11:12, guo minskey wrote:
I am trying to build genode/sel4 on x86_64 platform and expect to get a GUI working. And so I enable this option in my build.conf : REPOSITORIES += $(GENODE_DIR)/repos/libports. Seems that rust support is broken (because rustc version ??).
Which version of rustc should I use to build rust ports on genode ? Or how can I disable rust ports in build.conf configuration or somewhere else ?
I assume you just issued *make*, which builds everything Genode supports and this is a lot, which you don't need in the beginning. Try to adhere to the https://genode.org/documentation/developer-resources/getting_started example and set as kernel seL4 to build and start a graphical demo. Cheers, Alex. -- 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
I updated the rust ports to 1.40 (nightly-2109-11-05), made some changes in genode build and build an ISO. However, when I try to boot it in qemu, no output in GUI (since my qemu doesn't support sdl yet, I use curses disaply). Any suggestion ? or how can I debug it ?
console output as follows:
qemu-system-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.vmx [bit 5]
VNC server running on 127.0.0.1:5900
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=0xf5c4000 end=0xffff330 size=0xa3b330 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@32 type=1
Detected 1 boot module(s):
Kernel loaded to: start=0x200000 end=0xaa5000 size=0x8a5000 entry=0x201209
ACPI: RSDT paddr=0x1ffe20b8
ACPI: RSDT vaddr=0x1ffe20b8
ACPI: FADT paddr=0x1ffe1ed8
ACPI: FADT vaddr=0x1ffe1ed8
ACPI: FADT flags=0x84a5
ACPI: MADT paddr=0x1ffe1fcc
ACPI: MADT vaddr=0x1ffe1fcc
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=0x18a5000 v_entry=0x2000018 v_start=0x2000000 v_end=0x38a5000 p_start=0x10000000 p_end=0x118a5000
Moving loaded userland images to final location: from=0x10000000 to=0xaa5000 size=0x18a5000
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 0x2fe8d30 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,00000000038a5000)
ipc buffer [00000000038a5000,00000000038a6000)
boot_info [00000000038a6000,00000000038a8000)
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 'launchpad' (829744 bytes)
boot module 'nit_focus' (97520 bytes)
boot module 'ps2_drv' (181488 bytes)
boot module 'vesa_fb_drv' (367632 bytes)
boot module 'nitpicker' (378296 bytes)
boot module 'drivers.config' (4788 bytes)
boot module 'init' (345536 bytes)
boot module 'rom_filter' (121520 bytes)
boot module 'testnit' (108568 bytes)
boot module 'global_keys_handler' (164400 bytes)
boot module 'fb_drv.config' (51 bytes)
boot module 'config' (5603 bytes)
boot module 'report_rom' (128160 bytes)
boot module 'liquid_fb' (684584 bytes)
boot module 'special.chargen' (1346 bytes)
boot module 'test-libpng_static' (154016 bytes)
boot module 'status_bar' (131872 bytes)
boot module 'pointer' (154656 bytes)
boot module 'nitlog' (144392 bytes)
boot module 'timer' (120736 bytes)
boot module 'usb_drv' (1400368 bytes)
boot module 'init.xsd' (7148 bytes)
boot module 'acpi_drv' (155480 bytes)
boot module 'platform_drv' (334464 bytes)
boot module 'input_filter.config' (768 bytes)
boot module 'ld.lib.so' (1020960 bytes)
boot module 'en_us.chargen' (13500 bytes)
boot module 'launchpad.config' (594 bytes)
boot module 'scout' (1788016 bytes)
boot module 'input_filter' (200192 bytes)
Warning: need physical memory, but Platform object not constructed yet
Genode 19.08-15-g4a7b0e99a <local changes>
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: 0x1a5910 structures: 0xf5930)
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 -> fb_drv] Found PCI VGA at 00:01.0
[init -> drivers -> fb_drv] fb mapped to 0x6000
[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
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@16
[init -> drivers -> fb_drv] using buffered output
________________________________
发件人: Alexander Boettcher
I am trying to build genode/sel4 on x86_64 platform and expect to get a GUI working. And so I enable this option in my build.conf : REPOSITORIES += $(GENODE_DIR)/repos/libports. Seems that rust support is broken (because rustc version ??).
Which version of rustc should I use to build rust ports on genode ? Or how can I disable rust ports in build.conf configuration or somewhere else ?
I assume you just issued *make*, which builds everything Genode supports and this is a lot, which you don't need in the beginning. Try to adhere to the https://genode.org/documentation/developer-resources/getting_started example and set as kernel seL4 to build and start a graphical demo. Cheers, Alex. -- 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
Hello, On 09.11.19 11:48, guo minskey wrote:
Any suggestion ? or how can I debug it ?
console output as follows: ... [init -> drivers] child "input_filter" requests resources: ram_quota=20480
The input-filter component blocks because its RAM configuration is too tight. The dependent components, in particular the GUI stack, in turn, block on the input filter. In the Genode revision you are using, the input-filter component required slightly more memory than configured. Shortly after, the memory demand was reduced again. The corresponding commits are not yet on the master branch but are readily available on the staging branch. You may consider cherry-picking the three commits [1,2,3] to solve this problem. [1] https://github.com/genodelabs/genode/commit/593c519c399d6d64853b0c4eaafbbcad... [2] https://github.com/genodelabs/genode/commit/704f35fa5805c616a0c1f2e7fcd22cff... [3] https://github.com/genodelabs/genode/commit/bbf28cf12dbb54e885a01eb41b82f7c5... Please make sure to enable the option 'RUN_OPT += --depot-auto-update' in your build.conf to trigger the re-build of the affected packages. BTW, Rust is not needed for the demo scenario. In fact, support for Rust is scheduled for removal [4]. [4] https://github.com/genodelabs/genode/issues/3488 Cheers Norman -- Dr.-Ing. Norman Feske Genode Labs https://www.genode-labs.com · https://genode.org Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
participants (3)
-
Alexander Boettcher
-
guo minskey
-
Norman Feske