Plasma/Mobile/CyanogenModBase
Introduction
Plasma Mobile is free mobile platform and it is capable of running on any operating system base. Initial reference images were based on Ubuntu Touch. This document explains how to install the Plasma Mobile with CyanogenMod base on Nexus 5.
How to install
Following guide assumes that your Nexus 5 device have unlocked bootloader.
- Download and install the stripped down CyanogenMod from the http://neon.plasma-mobile.org/cm-stripped.zip
- Once installed, boot into cyanogenmod and restart adbd as root
adb root
- Once adbd is restarted as root, Download and extract lxc for android.
wget https://jenkins.linuxcontainers.org/job/lxc-build-android/lastSuccessfulBuild/artifact/lxc-android.tar.gz adb push lxc-android.tar.gz /tmp adb shell tar xvf /tmp/lxc-android.tar.gz
- Create directory for the system container and extract rootfs into its location.
wget http://mobile.neon.pangea.pub:8080/job/img_phone_xenial_armhf/lastSuccessfulBuild/artifact/result/livecd..rootfs.tar.gz adb push livecd..rootfs.tar.gz /tmp adb shell mkdir -p /data/lxc/containers/system/rootfs/ adb shell tar xvf /tmp/livecd..rootfs.tar.gz -C /data/lxc/containers/system/rootfs/ wget https://raw.githubusercontent.com/plasma-phone-packaging/CM/master/lxc-system-config adb push lxc-system-config /data/lxc/containers/system/
- Start lxc container
adb shell root@hammerhead:/ # lxc-start -n system -F * Setting up X socket directories... ...done. Ubuntu Xenial Xerus (development branch) ubuntu-phablet console ubuntu-phablet login: phablet Last login: Wed May 12 08:39:00 UTC 1971 on lxc/console Welcome to Ubuntu Xenial Xerus (development branch) (GNU/Linux 3.4.0-cyanogenmod-g15e5a99-dirty armv7l) * Documentation: https://help.ubuntu.com/ phablet@ubuntu-phablet:~$
- Start udev and lightdm
sudo service udev start sudo udevadm trigger --action=add sudo service lightdm start
Tips and tricks
When you try to start container second time it doesn't allow you to login in, to workaround this, From adb shell
rm /data/lxc/containers/system/rootfs/etc/init/lxc-android-boot.conf vi /data/lxc/containers/system/rootfs/etc/fstab # remove the all mount points that says "added by lxc-android-boot except one with /vendor"