UT installation on Google Pixel 3a (step-by-step)
-
The present post does not contain any question. When I flashed my first phone with UT four years ago, I struggled a bit to gather all relevant information, so I'm offering the below procedure to the community in the hope that it may ease the journey of first-time users.
Disclaimer: this is a description of what worked for me. Use at your own risk. Flashing is performed from a PC installed with openSUSE Leap 15.6 -- some commands may need to be adapted if you use a different distro.
Important: if flashing the phone with either Android Flash Tool or the
flash-all.shscript hangs / fails to detect the phone, DO try from a different PC if you can (I have a Lenovo laptop and a custom-built PC both installed with openSUSE Leap 15.6: I was never able to flash from the laptop, while the PC worked like a charm). It may also be worth trying different USB cables / USB ports.Note: in the steps below, '#' denote commands that are executed as root, '$' denote commands that are executed as a regular user.
Android initial setup
-
unbox and fully charge phone (do not turn on yet)
-
insert SIM, turn phone on
-
select language (English UK)
-
click Get Started
-
connect to WiFi (provide credentials)
-> "getting your phone ready..." -
"Copy apps & data" -> select "Don't copy"
-
Google account sign-in -> login
-
Accept conditions
-
set a PIN
-
Continue setup or get reminder -> get reminder
-
Unselect all optional apps
-
Settings -> System -> Updates
(Android 12, build SP2A.220505.008) -
Settings -> About Phone
tap "Build number" 7 times, enter PIN to confirm
-> "you are now a developer" -
Settings -> System -> Developer Options:
- enable USB debugging
- allow OEM unlocking, enter PIN to confirm
-
-
turn phone off
Dev. env. installation on linux PC
-
unzip 'platform-tools' archive below
~/platform-tools/ -
edit
~/.bashrcto add${HOME}/platform-toolsto your PATH -
install (update) 'android-udev-rules' package from build service
# zypper addrepo https://download.opensuse.org/repositories/hardware/15.6/hardware.repo # zypper refresh # zypper install android-udev-rules-20250314-lp156.51.1.noarch(this also installs
adbandfastbootby way of dependencies) -
add your own user account to 'adbusers' group:
# usermod -aG adbusers <userID>(logout/login)
# grep adb /etc/group adbusers:x:453:<userID>
Unlock bootloader
-
turn phone on (regular mode). Unlock it
-
plug phone into PC
-
ADB connection detected by phone. Check box to always allow connection from PC (allow PC's RSA key fingerprint on device):
$ adb devices -l List of devices attached XXXXXXXXXX device usb:1-6 product:sargo model:Pixel_3a device:sargo transport_id:1 -
turn phone off
-
boot into Fastboot Mode
(volume down + power -- hold for 5")Fastboot menu appears
$ fastboot devices -l XXXXXXXXXX fastboot usb:1-6 -
unlock bootloader
$ fastboot flashing unlock OKAY [ 0.133s] Finished. Total time: 0.133s -
phone screen prompts: do not unlock / unlock
(use volume keys to select, power button to confirm)
-> bootloader confirmed unlocked -
turn phone off (use volume button to select option, power button to confirm)
Return phone to latest Android 9
(the steps below refer to the Android Flash Tool -- using the
flash-all.shscript also works fine but starts with the phone booted into the bootloader)-
check that 'adb' is not running
(otherwise, stop it with 'adb kill-server') -
turn phone on the usual way
-
redo basic setup, as bootloader unlock returned it to factory default (see above)
-
reconnect to phone using 'adb devices' to get prompt to authorized PC and allow it
-
visit following URL in Chrome (authorise pop-ups in browser):
https://flash.android.com/ -
select device
-
select target build (PQ3B.190801.002)
-
DO NOT select to relock bootloader
-
click Install Build (confirm, accept license)
- DO NOT interact with device during flashing
- it reboots to fastboot
- reselect device in Chrome
-
flash successful -- power cycle device
-
reboot to Android 9, redo initial setup, enable dev. mode, USB debug, connect and allow PC, turn phone off
Flash phone with UbuntuTouch
-
install 'snapd' daemon
# zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.6/ Snappy # zypper refresh # zypper in snapd # systemctl enable snapd.apparmor.service # systemctl start snapd.apparmor.service # systemctl enable snapd.service # systemctl start snapd.service -
reboot
-
install UBports installer
# snap install ubports-installer $ which ubports-installer /snap/bin/ubports-installer $ snap info ubports-installer name: ubports-installer summary: The easy way to install Ubuntu Touch on UBports devices. publisher: UBports store-url: https://snapcraft.io/ubports-installer contact: https://github.com/ubports/ubports-installer/issues/new license: GPL-3.0 description: | A friendly cross-platform Installer for Ubuntu Touch. Just connect a supported device to your PC, follow the on-screen instructions and watch this awesome tool do all the rest. commands: - ubports-installer snap-id: mq0sTMV7a8744UTRBwQHimStAqsGzbjj tracking: latest/stable refresh-date: 2022-09-11 channels: latest/stable: 0.9.7-beta 2022-09-11 (435) 97MB - latest/candidate: ? latest/beta: 0.9.8-beta 2022-11-02 (445) 102MB - latest/edge: 0.10.0 2023-04-23 (462) 103MB - installed: 0.9.7-beta (435) 97MB - -
switch
ubports-installerto "edge" channel$ snap refresh ubports-installer --edge ubports-installer (edge) 0.10.0 from UBports refreshed $ snap info ubports-installer name: ubports-installer summary: The easy way to install Ubuntu Touch on UBports devices. publisher: UBports store-url: https://snapcraft.io/ubports-installer contact: https://github.com/ubports/ubports-installer/issues/new license: GPL-3.0 description: | A friendly cross-platform Installer for Ubuntu Touch. Just connect a supported device to your PC, follow the on-screen instructions and watch this awesome tool do all the rest. commands: - ubports-installer snap-id: mq0sTMV7a8744UTRBwQHimStAqsGzbjj tracking: latest/edge refresh-date: today at 13:47 CET channels: latest/stable: 0.9.7-beta 2022-09-11 (435) 97MB - latest/candidate: ? latest/beta: 0.9.8-beta 2022-11-02 (445) 102MB - latest/edge: 0.10.0 2023-04-23 (462) 103MB - installed: 0.10.0 (462) 103MB - -
start
ubports-installer$ ubports-installer Gtk-Message: 19:40:25.179: Failed to load module "window-decorations-gtk-module" Gtk-Message: 19:40:25.179: Failed to load module "colorreload-gtk-module" info: Welcome to the UBports Installer version 0.10.0!-
connect phone (off) via USB
-
click select device manually
-> Google Pixel 3a:3a XL -
click "My device is unlocked"
-
select OS
-> Ubuntu Touch -
click Install
-
Installation options:
- select channel
-> 20.04/stable - check "wipe personal data"
- check "Flash system partitions using fastboot" (default)
- click OK
- select channel
info: device selected: sargo info: Installing Ubuntu Touch on your Google Pixel 3a/3a XL (sargo) info: configuring... info: settings: {"bootstrap":true,"wipe":true,"channel":"20.04/arm64/android9plus/stable"} info: Downloading 3 files info: Downloaded file 1 of 3 info: Downloaded file 2 of 3 info: Downloaded file 3 of 3-
boot phone to bootloader, click Continue
(flashing firmware)
-
boot to recovery, click Continue
(if button fails, try
adb reboot recovery)
=> shows 3-circles recovery logo and menu
info: Downloading 12 files info: Downloaded file 1 of 12 info: Downloaded file 2 of 12 info: Downloaded file 3 of 12 info: Downloaded file 4 of 12 info: Downloaded file 5 of 12 info: Downloaded file 6 of 12 info: Downloaded file 7 of 12 info: Downloaded file 8 of 12 info: Downloaded file 9 of 12 info: Downloaded file 10 of 12 info: Downloaded file 11 of 12 info: Downloaded file 12 of 12 info: All done! Your device will now reboot and complete the installation. Enjoy exploring Ubuntu Touch!(pushing files to phone)
-
phone reboots at the end
=> goes to longish 3-circles recovery logo animation while installing (may last a few minutes -- have patience) -
phone reboots again
=> this time it boots to UT and asks you to perform the initial setup
-
-
-
M MrT10001 referenced this topic on
-
J johndoe referenced this topic on
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login