I have an old Moto G3 phone I had lying around, and I hadn’t rooted/unlocked it up to now as I was still afraid of losing some settings/data. Finally I decided that I was long enough on the new device that there couldn’t be anything too valuable left on the old one.
So, what to do with it? I decided to try LineageOS for a change. The custom-ROM scene seems to have moved on a lot from when I last used them (a few years ago). Back then, it was all stuff on xda development forums, and seemed very “seat of the pants”. From a security perspective, it felt like the equivalent of hanging around a squat with a bunch of random people, sharing needles for intravenous drug use and having free love: maybe OK if everyone was clean and healthy, but if even one bad actor entered the fray things would get messy!
Nowadays, things look a bit more organised.
The Moto G3 is codenamed Osprey. The basic set of instructions are here: https://wiki.lineageos.org/devices/osprey/install
Enable developer mode on the phone, and then enable USB debugging.
You also have to unlock the bootloader on the phone. Happily, Motorola is pretty good in facilitating that. Note the instructions on the LineageOS wiki are just a little bit off, however the correct instructions are to be found on Motorola’s site. This is the step that will erase your phone’s settings/data etc.,
Download TWRP for Osprey. I happened to use twrp-3.2.3-0-osprey.img. Be sure to check MD5 sums, e.g. to make sure you don’t have a partial download etc., and then install it.
The sequence is as described, basically
./adb reboot bootloader sudo ./fastboot devices sudo ./fastboot flash recovery twrp-3.2.3-0-osprey.img
Next you want to reboot into recovery. However, be warned that if you let the device boot back to android proper en-route, then it will delete your TWRP installation. This caught me out at first, but it’s no big deal as you just reflash as above. Then go to reboot, and use the “Power + Volume-Down” combo to trigger reboot into recovery mode. From that you can use the menu-system to get into TWRP.
After that, I followed pretty much the letter of the LineageOS wiki instructions, starting here
- LineagOS itself: https://download.lineageos.org/osprey
- Google Apps: https://opengapps.org/?api=7.1&variant=aroma (aroma variant, for arm)
- Root (su): https://download.lineageos.org/extras (again, for arm).
To copy this stuff across to the phone, you can use commands below (e.g. in recovery mode). Note, it’s probably preferable to have the sdcard formatted as portable storage, as if it’s adopted storage it’ll get cleared when you do the wiping later on. Transferring some of these zips takes a few minutes, so better not to have to repeat it!
./adb push lineage-14.1-20180728-nightly-osprey-signed.zip /sdcard/ ; ./adb push addonsu-14.1-arm-signed.zip /sdcard/ ; ./adb push open_gapps-arm-7.1-aroma-20180829.zip /sdcard/
I won’t rehash all of the rest of the instructions, as most of the rest isn’t command line but is stuff you do via TWRP. One note: there’s no need to install TWRP as an app in the phone itsel.
I’m actually very happy with the end product. LineageOS looks nice, albeit not much different than the relatively standrd Moto G Android setup originally on the phone. Battery life seems to be good (when not in use, the battery drain is very low indeed), even if the battery itself is pretty heavily used at this stage and lower capacity. Animations and so on seem smooth.
And of course it’s an up to date version of Android on a phone that stopped being updated some time ago, with all the relevant security considerations around that.