I’ve been watching with some interest the progress that the KDE Plasma Mobile team have been making with their mobile OS efforts. In particular, their approach to Android compatibility. As I understand it, their favoured approach is now to create a bare stripped down CyanogenMod build that supports LXC containers, then to launch an “ordinary” linux (in their case, Ubuntu) inside the container, which gets access to the device hardware using libhybris. Using libhyrbis enables the linux in the container to be completely FOSS.
I gather Ubuntu Touch previously did something similar as well.
This setup may sound complicated, but I think it has some benefits too. Namely:
- no(?) legal issues around distributing “complete” builds of B2G, provided users can get their own bare-bones LXC-enabled Android base somewhere (big if, of course)
- easy compatibility with any phone that can run CM
- a potentially much reduced set of responsibilities for the community B2G effort, reduced from trying to manage an entire operating system environment to just making a single program (b2g) run. This could make things like the mooted switch to C++11 easier to manage.
- if B2G can run on any ordinary Linux, it would open it up to being run in lots of new environments.
- this may be personal taste, but I can’t say I find the Android build environment very pleasant to work with.
My question is: Is this sort of approach feasible for B2G (the b2g executable, in particular)? If so, what would need to happen?