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