I would like to port Ubuntu Touch to a device that is currently not supported. What are the requirements for doing this and where do I begin?
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.
The steps are:
- Build Cyanomod
- Root Android
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.
Depending on your preference, you may just want to start here:
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
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