Last week, I got a new phone, and I decided since my old phone was rather outdated but still worked alright, I had two choices, A. I could sell it for crumbs or B. I could give it to someone. Obviously, I chose option C. and decided to see if I could dejewgle (degoogle) it, and run a custom android rom on it instead.
On Friday night I started searching around online to see if I could find a tutorial on how it’s done. By Sunday, I had a phone running a custom rom with root access via Magisk.
Ever since learning of Linux, and the free software movement, it’s never really sat right with me that my phone was still a proprietary walled garden which was designed to spy on me. I’ve always wanted to root my phone and run an open source OS on it.
A word of caution, if you plan on doing this, make sure you read all about it before you attempt it, because it’s possible to brick your phone, if you do it wrong.
Like I said, Friday night, I started looking around for tutorials, and general info on how to mod my old phone, which in this case was a Motorola Moto G6 ali, a cheap phone I bought new in 2018. I have used the phone daily since then until last week when I bought a new phone as I mentioned above.
In my search, I managed to stumble across an unofficial version of two different custom Android roms & installation instructions for this phone, on a forum called XDA Developers, which is like a gold mine of info on modding your mobile device. One of the roms was called Lineage OS 18.1 & the other was Arrow OS 11. There are many other roms as well, but these two seemed like the most popular from the threads I read.
The procedure for installing a custom rom & gaining root access
From what I gather the basic process is the same for most devices. You need to:
- Backup your phone in case you mess things up.
- Put your phone in developer mode and turn on OEM unlock & USB debugging
- Unlock the Bootloader on your phone (for many phone brands, unlocking the bootloader voids the warranty, so be aware)
- Use ADB/Fastboot to flash a recovery image to use a recovery tool like TWRP
- Once TWRP (or another recovery tool) is installed use it to install the custom rom by flashing it onto your device
- Flash GApps (if you want to still use Google’s services. If not, skip this step.)
- Flash Magisk to gain root access & install modules
- Reboot & login to your new custom rom
- Install Fdroid and start installing foss apps
These cheat sheets for the commands for ADB & Fastboot are super useful, too.
First try, Arrow OS – Did not go as planned
Initially, I attempted to install Arrow OS (unofficial image) on my phone because I read a thread on XDA where someone spoke highly of it and compared it to Lineage OS which he used before, and he liked Arrow OS so much he stuck with it. Also, I stumbled across the Arrow OS rom & thread first, so I tried it first.
I did not really know what I was doing, so that is partly to blame for my struggles and bad experience with Arrow OS. The first problem I had was trying to get the image onto my device. I didn’t have an extra external SD card, so this was far more annoying than it needed to be.
Basically, I would download the rom image to my phone, and then I was unable to mount the phone’s storage to access the phone’s internal memory. If I had an external SD card, this wouldn’t have caused me the grief it did. I had to follow this solution, which calls for changing the data type of the internal memory to ext 2 then to ext 4 and formatting it in order to make it mountable.
I finally managed to get the image onto the device by using the ADB push command after learning about it through searching how to troubleshoot my problem. I used “adb push arrow-OS-11.0.img /sdcard” to send the image from laptop to the phone through a USB cable. I was also able to do this with Magisk.
Next, I flashed the image for Arrow OS onto the phone with TWRP, & then I flashed NikGapps (for Google play store and services) & Magisk afterwards (before rebooting) in order to get root access. Then I rebooted, and held my breath in anticipation.
I felt triumph for a fleeting moment, when after a super long first boot delay, I saw the Arrow OS logo appear on my phone’s screen, and load for a while. I was finally greeted by a start button to set up the Google apps, and it kept glitching out and saying Android setup wizard keeps stopping.
I was unable to successfully troubleshoot this. I could not access settings, I couldn’t manually disable the setup wizard, and I couldn’t get the wifi to turn on. I decided to move on and try to install Lineage OS 18.1 instead.
I know you probably read what I said above about dejewgling the phone, and are scratching your head in astonishment wondering why I would install GApps if I was trying to dejewgle my phone.
This is for two reasons, I wanted to see what GApps included with it, and I wanted to see how a custom rom handled it, in case I decided to also mod my new phone down the line. I would need to have GApps on my modded phone for work, if I did it to my main phone, which I use as a daily driver.
Since my Moto G6 is my old, secondary phone, I don’t need GApps but I still wanted to learn how it works, just in case I feel ballsy and want to void my warranty & mod my brand new phone.
Installing Lineage OS 18.1 as a plan B which worked out flawlessly
After my Arrow OS woes, I decided to try again, but this time with Lineage OS 18.1 (also an unofficial image). This time, I was able to avoid many of the pitfalls and stumbling around that I suffered with Arrow OS, because I had already gone through the motions once.
I was able to flash the Lineage OS image & Magisk, and reboot into the new OS without any problems and it works flawlessly so far. I haven’t had any issues or bugs, although it’s only been about 24 hours that I have been playing around with it.
I was able to install Magisk (after flashing the Magisk image, you need to launch the app and complete the install). I am currently trying to learn about all the different Magisk modules which can add additional features and functionality to your phone.
I also have been able to install Fdroid, and I have been learning about a lot of FOSS alternatives to Playstore’s proprietary apps, which often finance themselves by collecting your personal data and selling to big tech oligarchs.
John Train, a cool dude I follow on Pleroma, coincidentally happened to post this amazing list either last night or this morning, which I am currently trying to mimick on my modded phone.
I hope this article demystifies the process of degoogling/modding your phone, so you can take back control of your device and use it to become free.
I know I said I’d do a BTCPay server article next, but I got sidetracked and carried away with the phone modding adventure, so you’ll have to wait until next time. I hope showing you how dejewgle your phone is an appropriate substitute.
If you’d like to support my work
You can donate here with Bitcoin, Lightning Network, or Monero
Or you can donate to my crowdfund with Bitcoin, Lightning Network, or Monero:
You can also become a monthly Librepatron, with Bitcoin, Lightning Network, or Monero: