UBports Robot Logo UBports Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    UT installation on Google Pixel 3a (step-by-step)

    Scheduled Pinned Locked Moved Google Pixel 3a/3a XL
    1 Posts 1 Posters 2.5k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • P Offline
      PhAndersson
      last edited by

      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.sh script 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 ~/.bashrc to add ${HOME}/platform-tools to 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 adb and fastboot by 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.sh script 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-installer to "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
        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

      Xiaomi Mi A2 (16.04 OTA-25/stable) with 2 SIMs
      Daily driver: Google Pixel 3a (20.04 OTA-11/stable) [was: Nokia N900 (Maemo) from 2009].

      1 Reply Last reply Reply Quote 3
      • MrT10001M 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
      • First post
        Last post