Hello Zachary,
welcome to the mailing list and thanks for giving Genode a try!
After a couple of days of fumbling around, I have not been able to get this to work properly. Any suggestions you may have are greatly appreciated. ... [1] https://gist.github.com/zgzollers/397f56b66179f3276e048be8a8a7a543
I gave your test a try. You were almost there! Here's what went wrong:
Your 'Main' constructor hosts the 'Child' as local variable, which gets immediately destructed when leaving the scope.
Main(Genode::Env& env) : _env(env) { Tutorial::Child child(_env, "test-log"); }
The child should instead be hosted as member variable of the main object, like so:
Tutorial::Child _child { _env, "hello" };
Main(Genode::Env& env) : _env(env) { }
As another minor problem, your run script misses to build 'core' and 'lib/ld'. The respective 'core' and 'ld.lib.so' boot modules are needed too. Nowadays, we tend to use the 'build_artifacts' function [2] to foster the consistency between the 'build' and 'build_boot_image' arguments. I recommend changing the line to:
build_boot_image [build_artifacts]
[2] https://genode.org/documentation/release-notes/22.02#Automated_tracking_of_b...
Cheers Norman