Summary: After a long tortuous string of failed attempts to simply install using the UBPorts installer on my OP6t, I finally got it installed using a more manual method. My install steps were as follows:
- 1: Downgrade to Android 9 using OP's MSMTool. (T-Mobile)
- 2: Request and obtain Unlock code bin file from OnePlus corporate.
- 3: Use unlock code to unlock bootloader.
- 4: Manually install UBPorts resources for OP6t using TWRP
- 5: Manually install outdated boot image for OP6t using TWRP
- 6: Use UBPorts installer on phone with UBPorts to have OTA-4 installed
The longer story for anybody that wants or needs it. Resource links at the bottom.
The most important item in all of this, for me, was the MSMTool. When I originally got a Pixel 3aXL and installed UBPorts on it the process was so simple and so easy that I did not expect the brutal experience I found when I obtained a OP 6t. I have easily bricked this phone close to 10 times trying and failing to attempt to install using pretty much just the UBPorts installer without already having UBPorts on the 6t.
The first time I tried installing using the official installer I didn't think anything of it when I got the message that "sdm845" is a "Device not supported" since the 6t is listed on the official list of supported devices. The page itself says "Developers from the community built this port and reported full functionality." and it also says on this page (link 1) "Easy install with UBports installer" - Wrong. Wrong wrong. I learned the hard way. If you get the message that sdm845 is not supported and you attempt to install, it WILL brick your phone. Maybe its just me, but I see a lot of reports both on Github/Gitlab as well as this forum about the sdm845 error message so I think some others can relate to my experience.
After the first brick happened MSMtool (link 2) became my golden ticket to unlimited 1-UPs. After getting the unlock bin from One Plus, I tried manually installing in Fastboot, tried manually installing in recovery, manually with the phone booted. Nothing would work. All I got for my efforts was brick after brick after brick after brick. So I sought out videos online that might shed clues. I kept seeing people that said they had it working. What mysterious magic were they conjuring to do this? - because I just was not seeing it. Someone out there has this working. I know I can get it to work and I've got MSMTool so I can do it again and again.
Geotechland really filled in most of the gaps I needed (link 3) and overall it is a great video. But where the video is most crucial, that information is missing. Around the 8, 9, 10 minute mark of the video does not show the final intricate steps taken to do the install. Geotechland links to a Github page for the 6t (link 4), which is where I get my original files from. These files work and result in a successfully working UBPorts phone. I first used the target.zip as specified in the instructions, then a short while later used the halium-boot.img file.
In order to understand TWRP I watched this short video (link 5). Also bricked the 6t twice on this, mainly just getting the order of operations wrong attempting to work with slot a and slot b. The most important thing is do not install TWRP but only use it "live". Now maybe I could learn how to install TWRP and also install UBPorts, but I do not care to do that. I only want rid of Android and only want UBPorts installed, so I also quickly gave up on the slot a / b stuff. I don't need that. Using TWRP "live" is important to simplifying the install process in all of this. Don't install TWRP.
Finally, the steps listed on the OP6t Github page below are pretty much correct. (link 4) First, Android 9, then unlocking, then TWRP, then old UBPorts images from their offerings.
I do not know exactly what version of UBPorts this Github has on it, but I suspect it's either 15.04 or 16.04. And its very unstable, or at least it was for me. Once UBPorts is installed though, just enable developer mode and the UBPorts installer on the computer no longer fails during installation causing a brick. I did still have to do a manual install and select the OP6t out of the list. I used installer version 0.10.0.
Now I have 20.04 OTA-4 on the OnePlus 6t.
I tried to be thorough not just for the sake of others, but I may need this information again myself later as long as the installer is not totally supportive of the OnePlus 6t. Perhaps it's because I have the T-Mobile version, and maybe the installer works fine with non-T-Mobile versions of this phone. I can only speculate what the issue is.
I apologize if I got excessively wordy, I basically did a brain dump.
Link 1: Supported devices: / 6t
https://devices.ubuntu-touch.io/
https://devices.ubuntu-touch.io/device/fajita
Link 2:
OnePlus MSM Download tool for One Plus 6t / T-Mobile
https://xdaforums.com/t/tool-t-mobile-oneplus-6t-msmdownloadtool-firmware-9-0-13-8-9.3868916/
Link 3:
How To Install Ubuntu Touch On A Oneplus 6/6T
https://www.youtube.com/watch?v=RKv5uM694so
Link 4:
https://github.com/ubports-oneplus6/documentation
Link 5:
Unlock Bootloader, Install TWRP, and Root OnePlus 6T
https://www.youtube.com/watch?v=3A7BESc1-7g