Here's some more details on my adventures with the Ubuntu Touch Developer Preview
after experimenting with it for a little more than 24 hours on the Google Nexus 7 and Nexus 10 devices.
As already shared in Ubuntu Touch/Tablet Is Using SurfaceFlinger
, this Ubuntu Touch/Tablet/Phone preview is very close to Google's Android. The lowest levels of this new Ubuntu mobile platform are made up of Android via CyanogenMod 10.1. CyanogenMod 10.1 comprises the lower layers of the platform, including SystemFlinger as its system compositor rather than X11/X.Org, Wayland, or DirectFB.
While Canonical is pulling in portions of Android/CyanogenMod, its the lower levels and not Dalvik for the Java Virtual Machine bits. So while there's pieces of Android, it is not enough to Android applications on Ubuntu. Without a traditional display server like X.Org used by Ubuntu on desktop, standard Ubuntu applications also will not run from this mobile edition of Ubuntu. The Ubuntu Touch interface is written in Qt5/QML to run on Android.
The Ubuntu pieces to this mobile operating system are running within a chroot jail. So for those that may be experimenting with this new developer preview release, here's my favorite command... When connecting to a device running this edition over the Android Debug Bridge (adb), run the ubuntu_chroot shell
command. This will bring you into the Ubuntu chroot on the device.
When you enter this Ubuntu chroot, you're brought into the familiar Ubuntu Linux environment where you can utilize apt-get
for fetching more Ubuntu ARM packages, and can escape the Android/CyanogenMod layer.
I've noticed using adb
to this Ubuntu developer preview is rather buggy and losing connection often, but fortunately once in this Ubuntu chroot you can install an OpenSSH server and remotely connect to the Ubuntu-powered devices. It's working just fine on both the Nexus 7 and Nexus 10. After running an SSH server, you can remotely connect in through the phablet
user and drop down to root.
Within this Ubuntu chroot, the Phoronix Test Suite
will happily run to allow for an onslaught of Ubuntu Linux benchmarking from these Google Nexus devices.
Another interesting item to note is that while Canonical is using SystemFlinger on the display side, they are not using AudioFlinger, the audio layer to Android. Rather than using Android's AudioFlinger, they are using PulseAudio. On the kernel side, the Nexus 7 (Tegra 3) image is using the Linux 3.1 kernel while the Nexus 10 (Exynos 5) image is on the Linux 3.4 kernel.