Android run time porting

Norman Feske norman.feske at ...1...
Thu Sep 11 14:27:00 CEST 2014

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:

   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!


Dr.-Ing. Norman Feske
Genode Labs ·

Genode Labs GmbH · Amtsgericht Dresden · HRB 28424 · Sitz Dresden
Geschäftsführer: Dr.-Ing. Norman Feske, Christian Helmuth

More information about the users mailing list