Install Ubuntu Touch on a OnePlus Nord N10 5G

Ubuntu Touch?

For those who may not remember, in around 2011, Canonical, the company behind the Ubuntu GNU/Linux operating system, wanted to expand their market, and among other things started to develop Ubuntu for more devices, including phones, tablets and smart devices. The company launched an unsuccessful Indiegogo campaign for an Ubuntu phone called Ubuntu Edge in 2013, followed by the first version of Ubuntu Touch, which ran on Google Nexus and Nexus 4 phones, followed by the first actual phone with Ubuntu, the BQ Aquarius E4.5. However, to cut to the chase, Canonical cancelled Ubuntu Touch development in 2017 as they had been unable to find the traction they wanted. However, plans to make Ubuntu Touch open source had started in 2015, and following the cancellation, the source code was passed to Ubports, who have maintained it since. Ubuntu Touch 24.04 was released in September 2025.

The phone

The OnePlus Nord N10 5G is a 2020 mid-range Android phone made by Chinese manufacturer OnePlus. It has 6Gb RAM and 128Gb of storage and natively runs OnePlus’s OxygenOS, which was based on Android 10 and upgraded to 11 with two years of support. A contemporary review I found was very uninspired by it. However, like all OnePlus phones they can be unlocked easily. I picked this one up for £95 and it’s in decent condition so could have more life in it. To that end, it;s possible to install LineageOS, e/OS and fortuntely for this article, Ubuntu Touch.

UPDATE: The Nord N10 5G is no longer supported by LineageOS and therefore by e/OS. I did actually install e/OS on it with the intention of using it as my daily driver and then found it has a firmware bug where the display stops working in low light – more on that another time.

Installation

General rules

Ubuntu Touch has an installer for a number of devices, including the Nord N10, but for others, you’ll need the Android debug bridge (adb), and it’s actually quite handy to have that installed anyway if you’re playing with phones. You can get that as part of the SDK platform tools on Windows, and it’s packaged for many Linux distributions.

You should also use a data quality USB cable. The instructions recommend a USB 2 cable, but as the majority of cables are USB 3 now and are specifically charging or data cables.

Installing Android for Halium support

Rather unintuitively perhaps, Ubuntu Touch requires Halium, a hardware abstraction layer for Linux that sits on top of the Android Linux kernel. The Nord N10 requires Halium 10, based on Android 10, and in the phone’s case, OxygenOS 10. It’s fairly likely that the phone has been updated over the years, so you need to reinstall OxygenOS 10. OnePlus provide a reinstaller called the MSM Download Tool which rather frustratingly runs on Windows only. So it’s time to break out that VM or find a machine that can have Windows installed on it. Fortunately I have a spare TinyPC and a spare NVMe drive.

The Ubuntu Touch installation page links to the downloads, which are here – EU version and here – Global version. There are two because there are two Nord N10 models, BE 2028 and BE 2029, which is printed at the bottom of the back of the case. Mine is a BE 2029, which is the Global model, which took a few goes to work out as the EU version will install, but then reports that the phone is also a BE 2028. The Ubuntu Touch installer will try and install, but then boots to recovery.

Download the installer to your Windows machine and unzip it. You’ll also need a Qualcomm driver from this Google Drive link and Android Development Tools installed.

Unlock the bootloader

The bootloader will always need unlocking to install a new operating system. Fortunately, OnePlus allow this so it’s relatively easy.

Enable developer mode

Android phones have a not so secret developer mode that is usually activated by going into Settings, then About Phone and then tapping on the Build number eight times. This exposes a new option ‘Developer Options’ in the System settings.

Enable USB Debugging and OEM Unlock

Developer options is a list of toggles that enable development access to Android. The two that you need to enable are ‘OEM Unlock’ and ‘USB Debugging’. OEM Unlock enables unlocking the bootloader, and USB Debugging gives adb access to, among other things, unlock the bootloader.

Unlock the bootloader

Unlocking the bootloader wipes the system cache, so don’t run it on a device that you are actively using

Connect the phone to your laptop or desktop with adb installed You should get a message on the phone asking if you should trust this device. Tap on the message to check the tickbox.

Start the MSM Download Tool as Administrator (right click on the binary, select Run as Administrator, click Yes on the dialogue box that comes up.

Select Other for the user option.

On the window that comes up, you should see a line with the ID of the phone and a COM port.

You should now be able to use adb. In Windows, the binary runs where it is uncompressed, so in Powershell or the command prompt, cd to that directory and run:

.\adb devices

This should return a short name for the device and a status message.

Next, boot the phone to EDL mode. This is a function on Qualcomm phones that is used to recover bricked devices but also to reinstall the OS.

In your shell, run:

.\adb reboot edl

The phone screen will turn black, and the status on the MSM Download Tool will change to ‘Connected’.

Press the ‘Start’ button at top left and the install process should run. It downloads the Android image, showing a nice green progress bar. The process will take around five minutes. If it’s actually downloading the image it will take longer depending on the speed of your connection.

The process doesn’t seem to complete but the phone will reboot into the Android Hello screen that you get when you start a new phone.

Step through the setup sequence again, enable developer mode, and enable USB Debugging and OEM Unlock.

Install Ubuntu Touch

Finally.

Ubuntu Touch has an installer. This can be downloaded for all platforms from this page for Linux, MacOS, and Windows.

With the phone plugged in, run the installer. The phone should be discovered, and you can choose the version of Ubuntu Touch that you way, currently 20.04 or 24.04, with daily, stable and edge versions.

The phone should be detected and the installer will reboot into fastboot, install its bootloader, install Ubuntu Touch and reboot to the Lomiri boot screen, then the setup process. You should have a working Ubuntu Touch phone.

Leave a Comment

Your email address will not be published. Required fields are marked *

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)