Dear Genode Community,
This is my first message, and actually first contact with microkernel world.
I beg your patience in this first time.
I am on the application development & integration deployment side.
I have been thinking long ago about the possibility of tailoring a software environment with the very basic stuff (code) demanded by specific application domain.
I work with mission safe-critical automation domain, and the applications are basically regarded algorithms / computation / networking. GUI can be splitted ou very basic.
Using Linux as base OS provide what is needed, but together with a bunch of unecessary code / packages that increase the unrealiability of the overall final system.
Now, having learn the important concept of isolating security-critical functions, in order to avoid security breach from the very ground,
I got excited about the idea to bring the applications I work with in such scenario.
And particularly to explore virtualization with the least possible software overhead.
I did a survey on microkernel, microhypervisor. Found L4-based Fiasco-OC and then NOVA.
I was still a little skeptical because of the low level knowledge required.
Genode gave me the light I was looking for.
Specially when I saw the porting of Qt5, which actually I use long time.
With Qt5 integration I am very close to my objective.
However, I still demand to integrate a 3-rd party software, namely, to port OpenDDS to Genode.
I dig into the manual:
and genode site.
I did the manual hello world example, built some environments (NOVA, Fiasco.OC), run the demo.
Everything worked fine with QEMU.
With Qt5 examples I was not successful yet, though.
But before I can move on, I need to integrate an external library.
My question / doubt is regarding porting an external Library:
Specifically, OpenDDS3.6 which relies on ACE-TAO2.2a:
I create a specific repo inside repos, and did the port files.
The make prepare worked with no problems.
But then come the challenging part:
1) Adapting Makefiles /Config files to Genode specific platform.
ACE-TAO need a specific config and platform files.
There are examples for linux, free and openbsd, vxworks, qnx, vxworks, lynxos.
From which should I start from?
2) Creation of the patches. How to create the patches? Just with diff -crNb?
3) Building specific tools.
ACE-TAO and OpenDDS rely on specific tools for IDL files.
I saw the Qt example with the host_tools.mk approach, but not tested yet.
4) Creation of the run file. What should be a first trial?
Where can I can get better insight of how to do that?
I have digged through the Genode code, particularly the Qt5 porting, but it is quite hard.
Is there any specific guide, or there is no easy way. Is a try and test process?
Thanks for your attention.
Best regards and congratulations for the Genode project,
Roger