Flashing a custom ROM for the (first?) time

First of all, happy new year 2010!

Sorry, but has someone actually flashed a custom ROM in the last 5 years? I know the answer is yes, but it feels to me like something that has gone out of fashion over time, as less and less people have been talking about adding new features to your phone, or even just rooting it to get some precious extra storage. While it is true that both smartphone technology as a whole has improved in the last 10 years, to the point where most phones work just fine out of the box, I still think there is so much more potential we could tap into if we looked for modern custom ROMs.

I mean, I get it, you don’t need Android 10 Ultimate to get Conversations, Funkwhale and Husky up and running on your device, but I think there is something charming about downloading a new operating system and tinkering around with all the bells and whistles you will probably stop caring about in less than a week. I love that dopamine rush you get when your phone has a minor aesthetic change that makes it look like more modern and fundamentally different, like someone took your phone away and replaced it with a brand-new one. As pointless as it is, it is a small gesture that comes with no other cost than tinkering around with some settings and forum threads, which can become a small adventure of its own under the right mindset.

To be fair, I knew about the existence of custom ROMs since the very beginning of smartphones; I can still clearly picture a friend of mine saying he tried three different ROMs for his phone before setting in a particular one, because his phone was filled to the brim with bloatware from the phone company. Plus, it was 2011, so every small bit of optimisation was precious for those adorable paperweights with 512 Mb RAM.

So why I never got around to flash a custom ROM before, you ask? Well, I tried rooting my first smartphone back in 2013 because the storage space was dismal and I could barely install something aside from WhatsApp and Twitter. By March 2014, however, my mom and I (who shared the same phone at the time) got a notification saying that WhatsApp’s next update was incompatible with out current version of Android and thus we had to get new phones. While I could have tried installing a custom ROM at the time, I decided to leave it in a drawer and buy a new one altogether. I played around with it a little longer, but one day the phone stopped booting altogether and I decided to throw it to the bin. I still wonder to this day whether I bricked it or it was just the massive amount of use I expose all my phones to.

The thing is, unlike my first smartphone, my second one still works like a charm to this very day. Not that I use it as my daily driver, but I could still turn to it if my current phone stopped working and I had to take it for repairs. It works so well, in fact, that having it at the back of my drawer feels like a pity. Plus, since my current phone does not have a microSD slot, it would be really useful as a portable MP4 player. When I turned it on, however, I faced the cold hard reality: the OS hasn’t received any updates –major or otherwise– in 5 years, and it will never do. I can use it just as it is, of course, but… Wouldn’t it feel more rewarding if I found a way to update it?

My first thought was going straight to Linux; after all, wasn’t there a project to port Ubuntu to smartphones? Nevertheless, I quickly learnt that the OS has to be ported specifically to your model, lest you brick your phone in the process. And there were plans about porting Ubuntu touch to my model, too, but it was in early development stages.

After some more research, I found a really complete tutorial on how to flash Lineage OS onto my phone, and decided that would be my target OS. After unlocking the bootloader –kudos to Motorola for helping me so much during the process– and running TWRP, all that was left was compiling the build for my device! ...wait a second.

Apparently, since my phone was no longer officially supported by the Lineage OS team, I was expected to compile the build from scratch and deal with any problem that could come up in the way. And trust me, there were going to be problems.

The elephant in the room –and, I suspect, the reason why you need to find a build made for your particular device– were the binary blobs. Quoting from the Lineage OS website,

This step requires to have a device already running the latest LineageOS, based on the branch you wish to build for.

Which is the very same thing I read 10 years ago when I tried to use Despertar del cementerio, a software used to install custom firmware on your PSP, for the first time. It is only now, while writing this, when I realise this was not exactly the first time I flashed a custom ROM on a device.

So I was out of luck: in order to compile a custom ROM for my phone, I needed to get my hands on that very custom ROM first, which was no longer available on the Lineage OS website. It was time to walk off the beaten track and look for a good Samaritan who hopefully uploaded the blobs I needed to finish the compilation. Nevertheless, having proved my worth by that point, the Gods of Deliverance decided to bestow this very link upon me.

The quest was over, my friends. I promptly deleted all the files, removed the programs I needed to compile the ROM from scratch and installed Lineage OS into my phone.

Still, a last decision was to be made: I could install GApps during the installation in order to have access to all of Google’s services, or I could go the extra mile and live without it. And since this was going to be a secondary phone, mainly intended to function as an MP4 player, I decided to take on the challenge. To my surprised, it booted. Everything was fine. I successfully flashed a custom ROM into my phone.

Thank you for reading!