Recently I got another phone, not because my old phone broke or anything, but just because I wanted to use my old phone as a toy.
On an unrelated note, I broke the screen of my Moto G7. Three times. Once while jogging (the thing just slipped out of my pocket). Twice while replacing the screen. I’m currently waiting for another screen to replace it with.
Note: you really do need to be careful while replacing screens on your cell phone. Clamping the screen to the frame can break the screen. Too much pressure can also damage the screen / digitizer as well.
But back to business. This post is about my experience putting LineageOS 18.1 onto my new OnePlus 6t T-mobile edition.
It all started when I was considering my new phone. Essentially I wanted a phone that I could have whatever OS I wanted on it.
Out of all of the android phones on the market, most of them only run android or a variant of android. But there are other mobile operating systems out there. Including:
All of these can be put on the pinephone. We have a pinephone in my family and I play with it regularly. In my opinion, it is not, currently, a ready for the masses. I will also add it is not a phone I am currently willing to use daily either. I want something a little more powerful with a decent camera.
The first place I started looking was at getting a phone with Sailfish X on it. Sailfish X - by Jolla, is a commercial product. You actually buy an OS license for any of their supported devices. They provide an installer for you and you can just follow their instructions, plug your phone into your computer, and bada bing bada bomb, you’ve got yourself a Linux powered phone that can even run some android apps on, complete with commercial support. Sounds good eh? Well it did to me too, but the problem for me is that the phones that they officially support are all models that don’t have good U.S. LTE support. Currently all of the major cell carriers in the U.S. are trying to shut off 2g and 3g cell bands nation wide. LTE support (and specifically Voice Over LTE or VoLTE) is a must if I hope to use the phone in a couple years from now. This dropped sailfish from being a possibility (for now). Without VoLTE, it could be possible that in the future I couldn’t make a regular voice call anymore.
The way I eventually selected my phone of choice was by looking across all of these projects and trying to find a phone that is listed as supported by as many as possible. This phone was the OnePlus 6t. It is not supported by all of the projects listed above, but it is supported by most of them. Specifically it is supported on Ubuntu Touch, Postmarket OS, and Mobian.
“But Seth, why did this matter? We already know from the title of the article that you just installed a derivative of android on your phone.” well, I’m glad you asked. It boils down to “These alternatives aren’t ready for me yet”. I think they will all eventually be ready for me. The following chart sums up why they are not ready for me.
OS | Problem | Score |
---|---|---|
Ubuntu Touch | - No VoLTE support | - 4.5/5 |
Postmarket OS | - No camera, MMS, calling (with or without VoLTE), GPS, or audio | - 2/5 |
Mobian | - Likely the same as Postmarket OS, but no posted info | - 1/5 |
There are also potential problems with not having an app or a similar app to one I “need” on android. The above alternatives do have apps, just not as many as android. Also, many of them are working on integrating android app support via waydroid.
However, during my time without my phone (cause I broke my phone) I realized something. I was happier. I wasn’t constantly looking at my phone to check news or other things. To me, less app availability is a feature that is desirable now. That said there are a couple app features that I want and those are calendar and contact sync via CardDAV and CalDAV, and automatic photo backup. I believe there is a way for me to achieve that on all of the above platforms, but currently it isn’t as easy as it is on android.
So, I knew what I wanted to buy now, the OnePlus 6t. With that figured out I went to ebay and found an unlocked OnePlus 6t (brand new) and I purchased it. When it arrived I powered it on to discover that what I purchased was actually the OnePlus 6t T-mobile edition, which I later found out has some differences to the regular version.
With a standard OnePlus 6t it is trivial to unlock the boot-loader, simply fastboot oem unlock
. With the T-mobile edition you need a key to unlock it.
The T-mobile edition has removed the ‘local upgrade’ functionality that the default Oxygen OS contains. It also didn’t have an upgrade available past android 10.
So after my phone arrived I checked the instructions on how to install lineage OS for the OnePlus 6t. I began with trying to unlock my boot-loader. After realizing my phone was different, I put in a request with the OnePlus unlock_token form and waited 7 days before they emailed me a key/token to unlock my boot-loader. Once the token arrived I continued with the instructions again.
Note: when installing LineageOS you should always follow the official wiki and not some random blog article. Things change and some people write crap articles without making sure their instructions work.
The instructions had a little warning near the top. “Warning: Before following these instructions please ensure that the device is on the latest Android 11 firmware”. So I started up my phone and ran the system updates. This is where I realized that the T-mobile edition - as of this writing - does not update to android 11 at all. As luck would have it, while I was looking up how to unlock my boot-loader, I found out about a backdoor method to unlock the boot-loader.
The downside of the backdoor method - for me - was it required a windows computer. We have exactly one of those in my house and it is only taken out for occasions such as these. I tend to avoid taking it out though because it wants to update each time and so the process is always that much more painful.
Note: the T-mobile edition is physically identical to the international edition. The main differences are that the T-mobile edition disables the second sim card slot via software, as well as locks the boot loader with a key.
The upside(s) of the backdoor method. You don’t have to wait 7 days to unlock the boot-loader. The boot-loader no longer requires a key after this. Your “single sim” phone instantly becomes a dual sim phone, you just need a new sim tray if you want both sims. And finally, you can upgrade to Oxygen OS 11.
So, this is the part where I go over how I did it. First let me mention that I installed the LineageOS - microG instead of the standard LineageOS. These steps are exactly the same (including referring to the official LineageOS wiki) with the exception of which ROM and recovery you download.
Note: microG is an open source re-implementation of google play services. With it you can get fast GPS locking and also push notifications. You can enable only the features you like and disable the rest. I only have location services enabled, which are done through Mozilla.
adb reboot edl
. Your phone should appear off.This experience was far less harrowing than my experience with bricking my Moto G7 last year. Now that I have a second phone, I may try my hand at creating a port of Ubuntu touch for my Moto G7. We’ll see, no promises.