How do I go about porting Ubuntu Touch to different devices?

Ubuntu (Touch) 13.10 is released; it's stable for developers now. You can get the step-by-step guide here.

However, I used the CyanogenMod. Check the building CyanogenMod guide to learn how to build it.

Building from source for Android guide, and Building Ubuntu Touch wiki should help you as well.

After it is ready, visit the Porting Ubuntu Touch guide along with the Ubuntu Phone Install guide given before.

The steps are:

  1. Build Cyanomod
  2. Root Android
  3. Port

These links give you a fair idea of how you should proceed. The actual code to be used differs from device to device, due to the different drivers, (but, Terminal commands would remain roughly the same) and it's something you'd have to work on yourself with lots of trial & error.

I tried porting to Lava Xolo Q800, which was built fine, and it installed too. But, it does nothing that a smartphone should do apart from connecting to WiFi. I've now reinstalled Android.


I would first start by getting a rooted Linux(Android) device and make sure you have a 64-bit Ubuntu system. (a lot of ram would be good like 16 gigs if you can swing it, or at least that much available with a swap file or partition)

If your not familiar with CyanogenMod become familiar by installing and by building it. I say this because the guide you already mentioned clearly states:

To support a wide range of devices, we decided to use CyanogenMod as a base for the Android system. You could safely use AOSP, as we don't use a lot of the customizations and improvements done at the App/Java side, but it's easier with CyanogenMod due the scripts and build procedures available for it.

If your device is not listed here then check here. This is well documented and easy to follow and will help you better understand and has loads of guides.

http://wiki.cyanogenmod.org/w/Doc:_Building_Basics

Depending on your preference, you may just want to start here:

http://source.android.com/source/building.html

Then go for the Cyanogenmod project, but I think your best bet is building Cyanogenmod. Once you have done that go back to the guide you mentioned.

Bottom line learn Android first, the more you can understand with Android the easier Ubuntu Touch will be to port.


These answers are very old. Modern, up to date instructions are here

https://developer.ubuntu.com/en/phone/devices/installing-ubuntu-for-devices/


After Canonical stopped development of Unity, and Ubuntu for devices, in early 2017, the task has been taken up by the UBports community.

For documentation on porting Ubuntu Touch now, one should go to https://docs.ubports.com/en/latest/porting/introduction/Intro.html