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
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.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-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
 
 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