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:http://genode.org/files/53bcb8e33fe6602fed25edc3c7b922c5/manual-2015-04-27.p... 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:http://genode.org/documentation/developer-resources/porting_applications
Specifically, OpenDDS3.6 which relies on ACE-TAO2.2a:http://download.ociweb.com/TAO-2.2a/ACE+TAO-2.2a_with_latest_patches_NO_make... 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