I have tried to build the noux_bash run file using the sel4 , nova and linux kernel options and so far have not had any success. Nova and sel4 both fail with:
[init -> drivers -> acpi_drv] Error: ROM-session creation failed (ram_quota=6144, cap_quota=3, label="platform_info") [init -> drivers -> acpi_drv] Error: Could not open ROM session for "platform_info" Warning: no io_mem support on Linux (args="base=0xe0000, size=0x20000, wc=no, diag=0, label="init -> drivers -> acpi_drv -> ", ram_quota=3827, cap_quota=2") [init -> drivers -> acpi_drv] Segmentation fault (signum=11), see Linux kernel log for details
This looked similar to a problem I found here:
https://sourceforge.net/p/genode/mailman/message/35973788/
but changing the amount of ram in the suggested file did not help. I also tried changing the amount of ram specified for noux in the run file with no change in behavior.
With the linux kernel I was told I am missing the genodelabs/pkg/drivers_interactive-linux archive but installing it fails with:
/home/omavuto/projects/genode-17.11/genode-17.11/depot/ genodelabs/api/base-linux-2017-11-24/src/lib/syscall/linux_syscalls.h:383:27: error: ‘__sigword’ was not declared in this scope _value[__sigword(signum)] = __sigmask(signum);
It may be that this is related to another problem I found. Earlier in the process I was told to install the base-linux archive with this command:
/home/omavuto/projects/genode-17.11/genode-17.11/tool/depot/download genodelabs/bin/x86_64/base-linux
but I get the error:
Error: failed to download 'https://depot.genode.org/ genodelabs/src/base-linux.tgz'
it looks like that this archive does not exist. I found a similarly named archive called base-linux-2017-11-27 which I was able to download. I then simlinked the base-linux-2017-11-27 to baselinux in depot/genodelabs/src/. That seemed to satisfy the requirement but perhaps the archive I used is somehow incompatible.
Any suggestions on getting this to start? I am most interested in sel4 but suggestions for nova and linux are appreciated as well. Thanks!
Hello,
On 21.01.2018 18:44, genode user wrote:
I have tried to build the noux_bash run file using the sel4 , nova and
noux_bash.run will not run on Genode/Linux.
linux kernel options and so far have not had any success. Nova and sel4 both fail with:
[init -> drivers -> acpi_drv] Segmentation fault (signum=11), see Linux kernel log for details
The message above give the hint that you are executing Genode/Linux - and not Genode/NOVA nor Genode/seL4.
Please setup your build directory correctly for the Microkernels. You may specify on the command line the kernel you would like to have on each run, e.g. :
user@...555...:~/genode.git$ tool/create_builddir x86_64 (enable all required repositories in build/x86_64/etc/build.conf)
user@...555...:~/genode.git$ KERNEL=nova make -C build/x86_64 run/noux_bash or user@...555...:~/genode.git$ KERNEL=sel4 make -C build/x86_64 run/noux_bash
If you are running on a 64bit Linux machine, also
user@...555...:~/genode.git$ KERNEL=linux make -C build/x86_64 run/log
will work. (If you're running on a 32bit Linux, you would need a x86_32 build directory created by tool/create_builddir x86_32).
Cheers,
Thank you for your reply! I found an error in my build.conf so the kernel option I chose was not being used. I am now able to get noux_bash to run on nova and the terminal in the qemu VM works as expected.
I still cannot get sel4 to work properly. The qemu VM opens up and says "Booting Genode on seL4" but gets no further. On the terminal on the host I see this:
[init] child "noux" [init] RAM quota: 204648K [init] cap quota: 968 [init] ELF binary: noux [init] priority: 0 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 [init -> noux] tar archive 'coreutils.tar' local at 0x11c000, size is 8560640 [init -> terminal] cell size is 6x14 [init -> timer] Error: IO_PORT-session creation failed (ram_quota=6K, cap_quota=2, io_port_base=64, io_port_size=4) [init -> timer] Error: __cxa_guard_abort called Kernel: Thread 'ep' died because of an uncaught exception [init -> timer] Error: Uncaught exception of type 'Genode::Service_denied' [init -> timer] Warning: abort called - thread: ep [init -> noux] tar archive 'vim.tar' local at 0xb000000, size is 19968000 [init] child "timer" exited with exit value 1 Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x10 [init] child "ram_fs" announces service "File_system" [init -> noux] tar archive 'bash.tar' local at 0x980000, size is 3555328 Warning: void Genode::Rpc_cap_factory::free(Genode::Native_capability) not implemented - resources leaked: 0x20 [init -> drivers] child "report_rom" announces service "Report" [init -> drivers] child "report_rom" announces service "ROM" [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 -> platform_drv] Error: IO_PORT-session creation failed (ram_quota=6K, cap_quota=2, io_port_base=3320, io_port_size=4) [init -> drivers -> platform_drv] Error: __cxa_guard_abort called Kernel: Thread 'ep' died because of an uncaught exception [init -> drivers -> platform_drv] Error: Uncaught exception of type 'Genode::Service_denied' [init -> drivers -> platform_drv] Warning: abort called - thread: ep [init -> drivers] child "platform_drv" exited with exit value 1
Any suggestions?
On Tue, Jan 23, 2018 at 5:05 AM, Alexander Boettcher < alexander.boettcher@...1...> wrote:
Hello,
On 21.01.2018 18:44, genode user wrote:
I have tried to build the noux_bash run file using the sel4 , nova and
noux_bash.run will not run on Genode/Linux.
linux kernel options and so far have not had any success. Nova and sel4 both fail with:
[init -> drivers -> acpi_drv] Segmentation fault (signum=11), see Linux kernel log for details
The message above give the hint that you are executing Genode/Linux - and not Genode/NOVA nor Genode/seL4.
Please setup your build directory correctly for the Microkernels. You may specify on the command line the kernel you would like to have on each run, e.g. :
user@...555...:~/genode.git$ tool/create_builddir x86_64 (enable all required repositories in build/x86_64/etc/build.conf)
user@...555...:~/genode.git$ KERNEL=nova make -C build/x86_64 run/noux_bash or user@...555...:~/genode.git$ KERNEL=sel4 make -C build/x86_64 run/noux_bash
If you are running on a 64bit Linux machine, also
user@...555...:~/genode.git$ KERNEL=linux make -C build/x86_64 run/log
will work. (If you're running on a 32bit Linux, you would need a x86_32 build directory created by tool/create_builddir x86_32).
Cheers,
-- Alexander Boettcher Genode Labs
http://www.genode-labs.com - http://www.genode.org
Genode Labs GmbH - Amtsgericht Dresden - HRB 28424 - Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Hi,
On 23.01.2018 22:37, genode user wrote:
I still cannot get sel4 to work properly. The qemu VM opens up and says "Booting Genode on seL4" but gets no further. On the terminal on the host I see this:
[init -> timer] Error: IO_PORT-session creation failed (ram_quota=6K, cap_quota=2, io_port_base=64, io_port_size=4) [init -> timer] Error: __cxa_guard_abort called Kernel: Thread 'ep' died because of an uncaught exception [init -> timer] Error: Uncaught exception of type 'Genode::Service_denied' [init -> timer] Warning: abort called - thread: ep
[init -> drivers -> platform_drv] Error: IO_PORT-session creation failed (ram_quota=6K, cap_quota=2, io_port_base=3320, io_port_size=4) [init -> drivers -> platform_drv] Error: __cxa_guard_abort called Kernel: Thread 'ep' died because of an uncaught exception [init -> drivers -> platform_drv] Error: Uncaught exception of type 'Genode::Service_denied' [init -> drivers -> platform_drv] Warning: abort called - thread: ep [init -> drivers] child "platform_drv" exited with exit value 1
Any suggestions?
it seems to be a packaging problem of Genode/seL4. Re-building core instead of using core from the package, as quick quirk, works for me on x86_32:
--- a/repos/ports/run/noux_bash.run +++ b/repos/ports/run/noux_bash.run @@ -131,6 +131,7 @@ Hello world !! </start> </config>}
-build_boot_image { } +build { core } +build_boot_image { core }
run_genode_until forever