Ubuntu Touch port for Sony Xperia 10 (kirin)

by Heng Ye

View on GitHub

IMPORTANT: Information and downloads have been moved to Ubuntu Touch official website, please see https://devices.ubuntu-touch.io/device/kirin/ for details. Follow instructions in forum thread to install. All below information is deprecated and should not be used except if you really know what you’re doing. Thanks - Heng


Back to main page

I started working on a port of UBports Ubuntu Touch on the Xperia 10 (kirin) after I got tired of using Sailfish OS and its app selection. This port is a Halium 9 port using the GSI, however, many modifications are required to install it even though it’s a GSI. Here I document how to install and use Ubuntu Touch on this device.

This port is experimental. It may or may not be daily driver ready, considering your needs. Normal phone functions (phone calls, data connection, SMS messages) are working properly. Features such as the fingerprint reader, media player, etc are not working.


 * After you install this, your warranty will be void.
 * I am not responsible for bricked devices, dead SD cards,
 * thermonuclear war, or you getting fired because the alarm app failed. Please
 * do some research if you have any concerns about features included in this ROM
 * before flashing it! YOU are choosing to make these modifications, and if
 * you point the finger at me for messing up your device, I will laugh at you.

When you unlock the bootloader (I won’t go into that here) you WILL lose data and camera algorithms.


How to Install

  1. Boot TWRP
  2. Install the boot.img from the GitHub releases
  3. Install halium-ramdisk.zip, apparmor-enabler.zip, Halium boot no console patch, and latest GSI
  4. Reboot

Problems and fixes

First check the What works/what doesn’t list

How to build kernel

NOTE: The kernel sources are currently out of date because I messed up some apparmor files. The kernel sources in my kernel repo will cause some stuff to break, such as wifi.

You might want to modify the kernel to get more features working. After you modify the kernel, compile it:

export ARCH=arm64
export KBUILD_DIFFCONFIG=kirin_diffconfig

make clean O=./out
make mrproper
make sdm660-perf_defconfig O=./out ARCH=arm64 
./check-kernel-config out/.config -w # https://github.com/erfanoabdi/halium-boot/blob/halium-9.0/check-kernel-config
make -j16 O=./out