If one wanted to run Android OS on ARM hardware with Genode underneath, what are the available options? On x86, Virtualbox ought to be up to the job, but without something like the (seemingly offline) L4Android port, the options for virtualizing Android on Genode appear limited. Has anyone tried this recently, and if nothing off the shelf will do it now, what path looks most promising?
Steve Harp
Hello Steven,
thanks for your interest in Genode!
If one wanted to run Android OS on ARM hardware with Genode underneath, what are the available options? On x86, Virtualbox ought to be up to the job, but without something like the (seemingly offline) L4Android port, the options for virtualizing Android on Genode appear limited. Has anyone tried this recently, and if nothing off the shelf will do it now, what path looks most promising?
In principle, there are two options:
First, one could run Genode in the "normal world" of ARM TrustZone as exemplified in the scenarios described in [1] and [2]. The feasibility of this approach pretty much depends on the target device. Unfortunately, most devices on the market are locked down with respect to TrustZone.
Second, one could leverage ARM's virtualization extensions as we described in [3]. Our virtual-machine monitor is rather limited though. It is able to boot a simple Linux system but in order to run a full Android system, one would need to supplement the ability to pass-through peripheral devices to the guest or to provide virtualized device models for the devices expected by Android.
Admittedly, we haven't observed much interest in running Android on top of Genode so far. Hence, we haven't pursued either direction in the recent past.
[1] http://genode.org/documentation/articles/trustzone [2] http://genode.org/documentation/articles/usb_armory [3] http://genode.org/documentation/articles/arm_virtualization
Best regards Norman