Hi,
I am trying to setup a scenario where the parent starts a child PD in the C
code, i.e., there is no <start> node for the child in the config file. It
is similar to the rm_nested test example [1].
But in my scenario, I would like to start a server in the child and have
the parent make RPC calls to it, and I need some help setting that up. I
think the answer should be in some configuration of the ChildPolicy used to
start the child, but I am missing something.
My code is here [2,3] and is a hybrid of the hello_tutorial and the
rm_nested test case. Like rm_nested, the parent starts a child with the
same binary and uses the failure to reach the RM service to indicate that
it is in the child. But then, in my scenario, I start a HelloServer in the
child, and the parent tries to establish a connection to this service.
I am seeing two errors:
1. An error that Genode complains that it wasn't expecting the child to
announce a service. I tried fixing that by defining announce_service() in
the Test_Child before starting the child, but that didn't fix it. TBH, I am
wondering what to add to that function.
2. The parent cannot find the "Hello" service to connect to. I think that
fixing (1) would fix two as well.
Any help pointing me in the right direction would be very helpful. Thanks
as always!
Best,
Sid
sid-agrawal.ca
[1]
https://github.com/genodelabs/genode/blob/master/repos/base/src/test/rm_nes…
[2]
https://github.com/sid-agrawal/genode/blob/76af718937e9723ae6cf2212a4ae549e…
[3]
https://github.com/sid-agrawal/genode/blob/76af718937e9723ae6cf2212a4ae549e…
Hello Genodians
The direction Goa is evolving is really cool! The new and upcoming
features address topics that are perfectly aligned with how we currently
use, or plan to use Goa.
In addition to what is already addressed in issue #44 [1], in order to
run or test some more complex projects we use:
- a source for random (this can be achieved using jitter_sponge)
- accessing externally provided ROM modules
- multiple Nic/uplink interfaces and a nic_router
For the random source I have a working commit, that I will have to
update to cleanly apply on top of staging. This will start jitter_sponge
if <requires> <terminal label="random"/> is found. To make this
available in general, the jitter_sponge binary would have to be
published by genodelabs. Do you think this approach is reasonable?
For accessing externally provided ROM modules I already have a patch
that enables this feature. It uses a fs_rom and a lx_fs to access ROM
modules listed in <requires> <rom label=""/>. If you think this could
be a commonly useful feature, I can contribute it.
Providing multiple Nic/Uplink interfaces and a nic_router will require
some more engineering to do right. Our workaround instantiates a fixed
configuration which matches what we need. This is obviously not usable
in general. I see the following points that need to be considered:
- number and names of interfaces? Probably each listed in <requires>
by label.
- when to start nic_router? Probably not as easy as start it when
multiple interfaces are configured.
- how should the nic_router config be provided? Here I don not see yet
a satisfying and practical solution.
Best regards,
Pirmin
[1] https://github.com/genodelabs/goa/issues/44
Hi
Both ARM[1] and Intel[2] have features to hide parts of the address space
from the rest of the program. The motivation of these hardware features
is typically to hide the data of the app from a library or vice-versa. Both
of them use unused bits in the PageTableEntry to store news (about 4 bits)
in size. ARM's feature is called MTE and there is no hardware yet which
supports this, Intel has been shipping chips with MPK for a few years.
Has the Genode community thought about how such a feature could be
implemented in Genode? If not, I will start digging in and reach out as I
run into issues. I would suspect it would affect the RM and DS cap types.
Best,
Sid
[1]
https://www.kernel.org/doc/html/latest/arm64/memory-tagging-extension.html
[2] https://www.kernel.org/doc/html/latest/core-api/protection-keys.html
Hi,
I would like to run SQLite inside a Genode process. I could not find a run
recipe or a dir in libports. Has someone tried in the past? If so, can you
please point me in the right direction?
Best,
Sid
PhD UBC
sid-agrawal.ca
My test result FWIW,
> > I had a similar, but not identical, situation on my 3GB version. In my
> > case, anything involving writing (expand, default, etc.) would never
> > complete, but slow the system to a crawl in the process.
> >
> > […]
>
> could you both please try out my debug image [1]. We already got a similar
> report from someone on the PinePhone forum [2] where changing the MMC
> clocking back to previous setting did the trick.
>
> [1] https://genode.org/files/sculpt-pinephone-23.04-2023-05-09.img.xz
> [2] https://forum.pine64.org/showthread.php?tid=14780&pid=117253#pid117253
No change for me -- boot-up takes a couple additional seconds (probably debugging/tracing enabled?) and the battery indicator says "AC" for
a few seconds before displaying the percentage.
I then proceeded to the setup steps,
- Expand... Confirm... still returns immediately
- Tapping "default" results in message "relabelling in progress" displayed for about a third of a second, i.e. it returns immediately too.
FWIW, I have a bunch of SD cards/packages associated with this phone, EMTEC, Verbatim, etc.
It seems the one I'm dd'ing the SculptOS image to is a 16 GB "Verbatim premium 80MB/s-read 533x (cl.1)" or some such.
Later on I'll try to make a "swap" with another card, i.e. write LuneOS on that SD card, and write ScultpOS on the (ex) LuneOS card, in case
the latter sd-card is more compatible than the former.
Cedric
Hello,
On 01.06.23 15:43, David Pfeiffer wrote:
> Following the guide I get an error at step 7 of the guide:
> <https://genode.org/documentation/articles/sculpt-23-04#Building_the_boot_im…>
>
> 7. Create the Sculpt boot image (defined by the run script at /repos/gems/run/sculpt.run/)
>
> make -C build/x86_64 run/sculpt KERNEL=nova BOARD=pc DEPOT=omit
>
>
> The error is:
>
> make: Entering directory '/home/dave/Downloads/genode/build/x86_64'
> /bin/bash: line 1: /usr/local/genode/tool/21.05/bin/genode-x86-g++: No such file or directory
> dirname: missing operand
> Try 'dirname --help' for more information./bin/bash: /home/dave/Downloads/genode/tool/run/run: /usr/bin/expect: bad interpreter: No such file or directory
> make: *** [Makefile:431: run/sculpt] Error 126
> make: Leaving directory '/home/dave/Downloads/genode/build/x86_64'
you seem to over-read the following of the guide:
"The following steps assume that you have the Genode tool chain installed on a GNU/Linux system. For reference, Ubuntu LTS is known to work well. If you don't know your way around Genode's source tree yet, please consider the "Getting started" section of the Genode Foundations book that is available as a free download at https://genode.org."
So, you seem not to setup the Genode tool chain and additional necessary tools. If one follow the description, you get to
https://genode.org/documentation/genode-foundations/23.05/getting_started/i…
> So then I simply tried to boot from a prebuilt image and upon booting I couldn't get past the Genode boot.png
>
> I'm running on a Lenovo YOGA intel i7-8565U, building on Void Linux.
>
it seems to be an very early boot issue, which will not be easy to debug remotely (- to get an idea follow the thread of [0] for).
In principle, your notebook should be fine. So, either try another machine if you just want to get an idea of Sculpt, or we may try different
things along the lines of [0], if you are interested.
Cheers,
Alex.
[0] https://lists.genode.org/pipermail/users/2023-February/008492.html
> Any help is much appreciated.
>
> Dave
>
>
>
>
> _______________________________________________
> Genode users mailing list
> users(a)lists.genode.org
> https://lists.genode.org/listinfo/users
--
Alexander Boettcher
Genode Labs
https://www.genodians.org - https://www.genode.org
in release notes to 23.05 related to rust support I found the following:
«After adding the signal(3) interface…»
how to borrow this support in my C code?
is it available for anyone in current genode release or it is necessary to port from rust support?
Alexander
Dear Genodians
We are looking into using wireguard to access sensor nodes connected by
a genode-powered gateway through a wireguard server running on Linux. By
trying this, we discovered that the wireguard connection works only
once, and upon restart of the runscript yields "Invalid handshake
initiation" in the servers log.
We based on a post by wireguard developer Jason Donenfeld [1] (key
phrase: "WireGuard relies on a timestamp counter always moving
forward.") we concluded that this problem is caused by DDE restarting at
time zero instead of using an RTC connection, thereby triggering
wireguard's replay protection mechanism on the server peer.
We're not sure how to best fix the problem. Do you have any suggestions?
[1]
https://inbox.vuxu.org/wireguard/7aa9fe5e-2ae2-cf8b-ae6d-d98de2031b44@poste…
Best Regards
Stefan Thöni
gapfruit AG
Baarerstrasse 135
6300 Zug
https://gapfruit.com
Following the guide I get an error at step 7 of the guide:
<https://genode.org/documentation/articles/sculpt-23-04#Building_the_boot_im…>
7. Create the Sculpt boot image (defined by the run script at
/repos/gems/run/sculpt.run/)
make -C build/x86_64 run/sculpt KERNEL=nova BOARD=pc DEPOT=omit
The error is:
make: Entering directory '/home/dave/Downloads/genode/build/x86_64'
/bin/bash: line 1: /usr/local/genode/tool/21.05/bin/genode-x86-g++: No
such file or directory
dirname: missing operand
Try 'dirname --help' for more information./bin/bash:
/home/dave/Downloads/genode/tool/run/run: /usr/bin/expect: bad
interpreter: No such file or directory
make: *** [Makefile:431: run/sculpt] Error 126
make: Leaving directory '/home/dave/Downloads/genode/build/x86_64'
I've edited the build.conf as directed in step 5. I am on branch 23.04
yet the VERSION file contains 23.02 which I thought was odd.
Also, I'm not sure wy it's looking for
'/usr/local/genode/tool/21.05/bin/genode-x86-g++' at all.
So then I simply tried to boot from a prebuilt image and upon booting I
couldn't get past the Genode boot.png
I'm running on a Lenovo YOGA intel i7-8565U, building on Void Linux.
Any help is much appreciated.
Dave