• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Register
  • Login
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 168 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 9 Apr 2025, 12:12

      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
      1 out of 1
      • First post
        1/1
        Last post