[lxc-devel] Announcing public builds of LXC for Android

Stéphane Graber stgraber at ubuntu.com
Wed Dec 11 18:42:01 UTC 2013


LXC on Android requires the same kernel features as on any other Linux system.

The best way of finding what you are missing is to grab your current
kernel config either from the git branch that was used to build it or
from /proc/config.gz if available, then feed that to lxc-checkconfig
which will list any missing feature.

If you are missing some critical bits (the common ones I found being
missing namespace and cgroup support), you'll need to grab the source of
your current kernel, enable all the missing options, re-run
lxc-checkconfig against the resulting config to check it's good, then
build the kernel, build the modules (if needed, not all Android kernels
come with modules support) and possibly rebuild some out of tree binary
wrappers (radio/wifi/bluetooth/...).

Once that's all done, you'll need to write the resulting image back to
the device which tends to be device specific. For fastboot devices, that
usually involves extracing the boot partition, unpacking it with
abootimg, updating the kernel and pushing the resulting image back to
the device.


I'm well aware that this doesn't look particularly user friendly, though
as I said on lxc-users earlier today, short of having manufacturer
support for the features we need in the kernel, that's as easy as it's
going to get...

In my experience, devices that are supported by cyanogenmod tend to be
easier to work with since they come with a standard set of git branches
and usually reasonably good build and deployment instructions.

Note again that as this requires the device to be rooted and the
bootloader to be unlocked, this may void your warranty.

On Wed, Dec 11, 2013 at 07:27:04PM +0100, Mario wrote:
> Do you have a tutorial that explains the procedure ? What are the
> kernel features needed ?
> 
> 2013/12/11, Stéphane Graber <stgraber at ubuntu.com>:
> > On Wed, Dec 11, 2013 at 07:14:15AM +0100, Mario wrote:
> >> Only the old versions of Android are supported by LXC right now ?
> >
> > I'm not sure what you mean by old, my test device runs Android 4.2 and
> > it certainly works on that.
> >
> > I haven't tried it on any 4.4 device yet but I'd expect the binaries to
> > work fine there too (assuming you have a kernel with the required
> > features).
> >
> >> 2013/12/10, Stéphane Graber <stgraber at ubuntu.com>:
> >> > Hello,
> >> >
> >> > Some of you may have noticed the rather large amount of fixes I've been
> >> > working on for a while to get LXC to behave mostly fine on Android.
> >> >
> >> > With the recent rework of LXC's automated build system, I'm now happy
> >> > to
> >> > announce that every hour (provided there's a change in git master), a
> >> > new android tarball will be produced with binaries built against the
> >> > current version of the Android NDK.
> >> >
> >> > Resulting builds may be found at:
> >> > http://qa.linuxcontainers.org/master/current/android-armel/
> >> >
> >> > If you want to run those, you'll need an ARM based Android device with
> >> > a
> >> > compatible kernel (you'll likely need to hand-build one), then unpack
> >> > the tarball in /, unpack a container in /data/lxc/containers/ and
> >> > finally start it with "./run-lxc lxc-start -n <container>".
> >> >
> >> > I expect all the binaries command to work fine. The templates and all
> >> > other scripts currently don't due to the rather limited shell being
> >> > available on Android. I may try to resolve that in the near future.
> >> >
> >> > Have fun!
> >> >
> >> > --
> >> > Stéphane Graber
> >> > Ubuntu developer
> >> > http://www.ubuntu.com
> >> >
> >>
> >>
> >> --
> >> Mario.
> >> _______________________________________________
> >> lxc-devel mailing list
> >> lxc-devel at lists.linuxcontainers.org
> >> http://lists.linuxcontainers.org/listinfo/lxc-devel
> >
> > --
> > Stéphane Graber
> > Ubuntu developer
> > http://www.ubuntu.com
> >
> 
> 
> -- 
> Mario.
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel

-- 
Stéphane Graber
Ubuntu developer
http://www.ubuntu.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.linuxcontainers.org/pipermail/lxc-devel/attachments/20131211/5af9245a/attachment.pgp>


More information about the lxc-devel mailing list