Customizing the Goa run-stage

Duss Pirmin pirmin.duss at gapfruit.com
Wed Jun 21 11:19:08 CEST 2023


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



More information about the users mailing list