Hi all,
Genode beginner here. Been working with the platform for a few weeks trying to
port a standard Linux application I wrote to Genode. My program uses sockets,
both for sending and receiving, and judging from the code in tcp_terminal, the
only way to do sockets is with libc rather than native Genode. I've been trying
to implement the first few phases of my program in Genode, but when I run them,
no log messages seem to appear and I can't really tell if my program is doing
anything. When I remove the libc relevant pieces of code and run my program
through a base/Component, everything logs just fine. I created a small test
program to find my mistake, so this piece of code does not log anything to qemu
with a Linux target platform:
#include <libc/component.h>
#include <base/log.h>
void Libc::Component::construct(Libc::Env &) {
Genode::log("Hello world");
}
For a run script, I'm using:
build { core init widget }
create_boot_directory
install_config {
<config verbose="yes">
<parent-provides>
<service name="LOG"/>
<service name="PD"/>
<service name="CPU"/>
<service name="ROM"/>
<service name="IO_MEM"/>
<service name="IO_PORT"/>
<service name="RAM"/>
</parent-provides>
<default-route>
<any-service> <parent/> <any-child/>
</any-service>
</default-route>
<default caps="50"/>
<start name="widget">
<resource name="RAM" quantum="1M"/>
</start>
</config>}
build_boot_image { core ld.lib.so init widget libc.lib.so vfs.lib.so
libm.lib.so }
append qemu_args " -nographic "
run_genode_until "Hello world" 10
Any help would be greatly appreciated. Thanks!
-Connor
_______________________________________________
Genode users mailing list
[email protected]
https://lists.genode.org/listinfo/users