Hello Norman, I'm a member of the IIT-Madras team that currently working on Genode. We are planning to port android runtime(ART) on to Genode. Can you guide us what is the best strategy that we need follow.
Hi Paramesh,
welcome to the mailing list! Good to know that you are kicking off the work on bringing Android to Genode.
are planning to port android runtime(ART) on to Genode. Can you guide us what is the best strategy that we need follow.
I am not proficient with the ART runtime. So I can only give general advice. If I pursued this line of work, I would start as follows:
1. Get accommodated with ART, compiling and running it on Linux with small examples, and investigate its library dependencies. Also, I would try to find out the feature set required from the host OS. I.e., does it depend on fork/exeve, how does it communicate with other parts of the system (Unix domain sockets, binder, etc.)? Look if those code portions are somehow abstracted so that they can eventually be replaced by Genode-specific code. I would also try to disable all optional features like optimizations. The goal should be to get a version of the runtime that is as simple as possible.
2. Port the library dependencies to Genode following this guide:
http://genode.org/documentation/developer-resources/porting
While porting the libraries, I would stick with the base-linux platform, which enables you to use GDB for debugging. So the development can happen at a fast pace.
3. Once all libraries needed by ART are ported, it is time to port ART itself. The steps outlined in the above linked porting guide might be very helpful. I would keep using base-linux at this point. The goal should be to run a minimal-complexity example (like a hello-world program) using a run script.
4. Now that a simple example is running on base-linux, proceed to run the same scenario on one of the microkernels. I think that when you managed to reach this stage, the further steps will become apparent automatically.
Happy hacking!
Norman
Thanks Norman for your valuable suggestion.... :) We are also planned to follow the same procedure...:)
On Thu, Sep 11, 2014 at 5:57 PM, Norman Feske <norman.feske@...1...> wrote:
Hi Paramesh,
welcome to the mailing list! Good to know that you are kicking off the work on bringing Android to Genode.
are planning to port android runtime(ART) on to Genode. Can you guide us what is the best strategy that we need follow.
I am not proficient with the ART runtime. So I can only give general advice. If I pursued this line of work, I would start as follows:
Get accommodated with ART, compiling and running it on Linux with small examples, and investigate its library dependencies. Also, I would try to find out the feature set required from the host OS. I.e., does it depend on fork/exeve, how does it communicate with other parts of the system (Unix domain sockets, binder, etc.)? Look if those code portions are somehow abstracted so that they can eventually be replaced by Genode-specific code. I would also try to disable all optional features like optimizations. The goal should be to get a version of the runtime that is as simple as possible.
Port the library dependencies to Genode following this guide:
http://genode.org/documentation/developer-resources/porting
While porting the libraries, I would stick with the base-linux platform, which enables you to use GDB for debugging. So the development can happen at a fast pace.
Once all libraries needed by ART are ported, it is time to port ART itself. The steps outlined in the above linked porting guide might be very helpful. I would keep using base-linux at this point. The goal should be to run a minimal-complexity example (like a hello-world program) using a run script.
Now that a simple example is running on base-linux, proceed to run the same scenario on one of the microkernels. I think that when you managed to reach this stage, the further steps will become apparent automatically.
Happy hacking!
Norman
-- Dr.-Ing. Norman Feske Genode Labs
http://www.genode-labs.com · http://genode.org
Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth
Want excitement? Manually upgrade your production database. When you want reliability, choose Perforce Perforce version control. Predictably reliable.
http://pubads.g.doubleclick.net/gampad/clk?id=157508191&iu=/4140/ostg.cl... _______________________________________________ genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main