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 164 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) initially with 2 SIMs
        Daily driver: Google Pixel 3a (20.04 OTA-8/stable) [was: Nokia N900 (Maemo) from 2009].

        1 Reply Last reply Reply Quote 2
        • First post
          Last post