[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] virtualization Android OS + XEN.



Hello Anshul,

On Wed, Aug 06, 2014 at 11:19:28AM +0200, anshul makkar wrote:
> [...]
> I am working on a project Virtualdroid where I aim to achieve isolation for
> each VM.
> [...]
> Please can you share your thoughts on above. I am target Cortex A9 without
> hardware virtualization support and Cortex A15 with HW virtualization
> support.
The Xen ARM project (that requires ARM hardware virtualization
extensions) is pretty stable and very active...

A feature that is missing, compared to Xen x86, is the guest VM
save/restore/migration[0] but reading your email probably you will not
need it.
An interesting page about other features not available or WIP is this:

 http://wiki.xenproject.org/wiki/Xen_ARM_TODO

...but I suggest you to also search that on xen-devel@ ML as well.

A good introduction to Xen ARM is ``Xen ARM with Virtualization
Extensions whitepaper'':

 http://wiki.xen.org/wiki/Xen_ARM_with_Virtualization_Extensions_whitepaper

I've investigated and used a bit Xen ARM on Debian GNU/Linux armhf
testing system both for Dom0 and DomU on a cubieboard2.
Every steps needed are documented here (probably you can adapt them
easily):

 http://wiki.xen.org/wiki/Xen_ARMv7_with_Virtualization_Extensions/Allwinner

...this link is also very helpful:

 http://openmirage.org/wiki/xen-on-cubieboard2

In very few words for the GNU/Linux case (but probably you can apply
them also for Android):
 * You need a modified version of u-boot in order to start the CPU in
   non-secure mode (Xen runs in HYP mode):
    https://github.com/jwrdegoede/u-boot-sunxi
 * Initial Xen ARM support was added in Linux 3.7[1], and better support is
   available on more recent versions.
 * u-boot, Linux kernel and Xen hypervisors are easily cross-compilable,
   in the Debian GNU/Linux case you will find Emdebian project useful:
    http://emdebian.org/crosstools.html
   The interesting package that includes everything needed for
   cross-compilation is ``gcc-4.7-arm-linux-gnueabihf''.
 * For compiling the Xen toolstack (xl, libxl, ...) I've used
   debootstrap to generate an armhf chroot and then I've compiled it
   thanks to QEMU user mode emulation (dynamic binary translation).
   Interesting package for Debian GNU/Linux is ``qemu-user-static''.
   After you have succesfully generated a chroot then copy
   ``qemu-arm-static''in the chroot's /usr/bin and then simply by
   chroot(8)-ing into it you can install the gcc packages and use it
   like you are in an armhf system without any problems.
   I've done that on my university laboratory that has old Intel Core
   Duo and compiling Xen toolstack on them is pretty fast.

If you would like to know more about ARM hardware virtualization
extensions ``Hardware-Supported Virtualization on ARM'' by P. Varanasi
and G. Heiser IMHO is a well written paper:

 http://apsys11.ucsd.edu/papers/apsys11-varanasi.pdf
 

HTH!
Have fun! :)
Ciao,
L.


 [0]: http://lists.xen.org/archives/html/xen-devel/2014-04/msg02057.html
    Here you can find patches (not applied AFAIK) regarding guest VM
    save/restore/migration
 [1]: 
http://kernelnewbies.org/Linux_3.7#head-7e55c4d19ada23abf473d08e4384cbe7a7d7772d

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.