The UBports Installer is available on all major operating systems. Klick the buttons below to start the download, or check out the latest GitHub release for alternative packages and release notes.WindowsmacOSLinux
Alternatively, you can install the snap package on any Linux distribution:
snap install ubports-installer
Manually install Ubuntu Touch
Please make sure you read the full instructions before proceeding. Making mistakes can damage your device, but if you follow the instructions carefully, you will be fine. The installation will delete all data stored on your device. Please back up everything you might need in the future before installing. If you need help with the installation, you can ask members of the community on telegram, matrix or the forum.
What kind of a PC do you use?
You will need a PC running Linux, Windows or macOS to install Ubuntu Touch on your phone. Please select your operating system to continue.
You are running Linux.
You will need to install fastboot and adb to follow these instructions. On Ubuntu, this can be done by opening a terminal window and running the following command:
sudo apt install adb fastboot
It is recommended to create a new temporary directory for the installation, so you can easily delete the downloaded files after the installation. This should do the trick:
mkdir /tmp/ubuntutouchinstall cd /tmp/ubuntutouchinstall
You are running Windows.
Create a new temporary folder for the installation and navigate your console there.
You are running macOS.
Install adb and fastboot.
It is recommended to create a new temporary directory for the installation, so you can easily delete the downloaded files after the installation. Run this in a the terminal:
mkdir /tmp/ubuntutouchinstall cd /tmp/ubuntutouchinstall
Download Ubuntu Touch
Run these commands to download all the Ubuntu Touch installation files and check their integrity.
wget http://cdimage.ubports.com/devices/recovery-bacon.img -O recovery.img && echo "9b5bf80d1cfc6b21b87d8b29d9a4a02cc9745dd541e3e75180de40be4e92a780 recovery.img" | sha256sum -c
wget http://cdimage.ubports.com/devices/boot-bacon.img -O boot.img && echo "44c6a5c81a979cd28be3b8e44e78929dbca3c0293a2330c56ee599a69b1c9656 boot.img" | sha256sum -c
mkdir pool gpg
wget https://system-image.ubports.com//pool/ubports-b2daf85c2a255a0affc93d808e709697e472777de4bc189dd9128211db551469.tar.xz -O pool/ubports-b2daf85c2a255a0affc93d808e709697e472777de4bc189dd9128211db551469.tar.xz && echo "a1a0e2e7d5e2e242b11e7a2fabbabeaaffa7b62fa8b0b014f25b92e0ed888437 pool/ubports-b2daf85c2a255a0affc93d808e709697e472777de4bc189dd9128211db551469.tar.xz" | sha256sum -c
wget https://system-image.ubports.com//pool/ubports-b2daf85c2a255a0affc93d808e709697e472777de4bc189dd9128211db551469.tar.xz.asc -O pool/ubports-b2daf85c2a255a0affc93d808e709697e472777de4bc189dd9128211db551469.tar.xz.asc && echo OK
wget https://system-image.ubports.com//pool/device-882a99cff5c6b0f16ef733b84f09c82957681782b3de5f38831e2b0113f8edf5.tar.xz -O pool/device-882a99cff5c6b0f16ef733b84f09c82957681782b3de5f38831e2b0113f8edf5.tar.xz && echo "9804b9485394b7d4f597aa56b6b6ac3177d8558708380c9748e6af5edc2f3e20 pool/device-882a99cff5c6b0f16ef733b84f09c82957681782b3de5f38831e2b0113f8edf5.tar.xz" | sha256sum -c
wget https://system-image.ubports.com//pool/device-882a99cff5c6b0f16ef733b84f09c82957681782b3de5f38831e2b0113f8edf5.tar.xz.asc -O pool/device-882a99cff5c6b0f16ef733b84f09c82957681782b3de5f38831e2b0113f8edf5.tar.xz.asc && echo OK
wget https://system-image.ubports.com//pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz -O pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz && echo "5b6e870acf8944330acb2a9dad6f5270bd06c377603a3115f805290e989ab421 pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz" | sha256sum -c
wget https://system-image.ubports.com//pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz.asc -O pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz.asc && echo OK
wget https://system-image.ubports.com//ubports-touch/16.04/stable/bacon/version-6.tar.xz -O pool/version-6.tar.xz && echo "475a1f2128642d44c2542410fc12ba3c0cd212ab4b662d79e97a96be1375a73f pool/version-6.tar.xz" | sha256sum -c
wget https://system-image.ubports.com//ubports-touch/16.04/stable/bacon/version-6.tar.xz.asc -O pool/version-6.tar.xz.asc && echo OK
wget https://system-image.ubports.com/gpg/image-signing.tar.xz -O gpg/image-signing.tar.xz && echo OK
wget https://system-image.ubports.com/gpg/image-signing.tar.xz.asc -O gpg/image-signing.tar.xz.asc && echo OK
wget https://system-image.ubports.com/gpg/image-master.tar.xz -O gpg/image-master.tar.xz && echo OK
wget https://system-image.ubports.com/gpg/image-master.tar.xz.asc -O gpg/image-master.tar.xz.asc && echo OK
If all files downoaded successfully and the checks read "OK", you can continue with the installation.
Enable developer mode
Your device needs to be in developer mode to continue with the installation. What operating system is the device running right now?
Connect your device to your computer and run the following command to see if the adb connection works:
You should see something like this:
List of devices attached 0123456789ABCDEF device
If your device does not show up, disconnect your device and plug it back in again, or run the following command and try again:
Unlock the bootloader
First, you need to reboot your device to bootloader mode. Press and hold the volume up and power buttons until the phone reboots. Now, connect your phone to your computer and run the following commands to wipe the internal memory.
sudo fastboot oem unlock sudo fastboot format cache sudo fastboot reboot-bootloader
If you want to erase the data on the device, run these commands:
sudo fastboot format userdata sudo fastboot format system
sudo fastboot flash recovery recovery.img
sudo fastboot flash boot boot.img
Now reboot the device to recovery mode. Press and hold the volume up and power buttons until the phone reboots. Create a new text file called "commandfile" with the following content:
format system load_keyring image-master.tar.xz image-master.tar.xz.asc load_keyring image-signing.tar.xz image-signing.tar.xz.asc mount system update ubports-b2daf85c2a255a0affc93d808e709697e472777de4bc189dd9128211db551469.tar.xz ubports-b2daf85c2a255a0affc93d808e709697e472777de4bc189dd9128211db551469.tar.xz.asc update device-882a99cff5c6b0f16ef733b84f09c82957681782b3de5f38831e2b0113f8edf5.tar.xz device-882a99cff5c6b0f16ef733b84f09c82957681782b3de5f38831e2b0113f8edf5.tar.xz.asc update keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz.asc update version-6.tar.xz version-6.tar.xz.asc unmount system
We will now send all the installation files to the device.
adb shell "mount -a" # You might see some errors from this command, that's ok.
adb shell "mkdir -p /cache/recovery"
adb push pool/ubports-b2daf85c2a255a0affc93d808e709697e472777de4bc189dd9128211db551469.tar.xz /cache/recovery/
adb push pool/ubports-b2daf85c2a255a0affc93d808e709697e472777de4bc189dd9128211db551469.tar.xz.asc /cache/recovery/
adb push pool/device-882a99cff5c6b0f16ef733b84f09c82957681782b3de5f38831e2b0113f8edf5.tar.xz /cache/recovery/
adb push pool/device-882a99cff5c6b0f16ef733b84f09c82957681782b3de5f38831e2b0113f8edf5.tar.xz.asc /cache/recovery/
adb push pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz /cache/recovery/
adb push pool/keyring-4c4e7ef380ebcfa2c31084efa199138e93bfed8fc58aa3eb06bdf75a78af9b57.tar.xz.asc /cache/recovery/
adb push pool/version-6.tar.xz /cache/recovery/
adb push pool/version-6.tar.xz.asc /cache/recovery/
adb push gpg/image-signing.tar.xz /cache/recovery/
adb push gpg/image-signing.tar.xz.asc /cache/recovery/
adb push gpg/image-master.tar.xz /cache/recovery/
adb push gpg/image-master.tar.xz.asc /cache/recovery/
adb push commandfile /cache/recovery/ubuntu_command
Moment of truth!
Run this to start the installation process:
adb reboot recovery
Your device will now reboot and install the operating system. Enjoy exploring Ubuntu Touch!
If you want to help make Ubuntu Touch better, we would love to welcome you on our team of volunteers. Many different skills are needed, and wokring in a friendly open-source community can be a fun and engaging hobby. If you want, you can also support us financially to help cover the costs of developing Ubuntu Touch.
Thank you for being a part of this awesome journey!
OnePlus One (bacon)
Elegant and powerful
You wish to be independent from Google and Apple, but don't want to quit on awesome modern hardware? You want to re-claim control over your smartphone and still enjoy a slick user experience? It's time for you to install Ubuntu Touch on your OnePlus One!
Porting Ubuntu Touch to the Oneplus One was the first collaborative project for the UBports Community in 2015, and is one of the most popular Ubuntu Touch devices to this day. The device was chosen because of its open software stack and active development community.
The Oneplus One is among the most powerful UBports devices, and with the free and open-source mobile operating system Ubuntu Touch, it is a great alternative to Cyanogen Mod, LineageOS and Android.
|16.04/devel||Apr 21 2019|
|16.04/rc||Apr 17 2019|
|16.04/stable||Mar 10 2019|