The year before last I installed CyanogenMod on my Samsung Galaxy S3. I said “it’s like having a new phone.” A little while after writing that, I realized: but one that isn’t as good as my old phone. It kept dropping off the phone network! Of all the things a phone should be able to do, making phone calls is at the top of the list. Going underground on the subway and coming back out meant it could take up to two minutes to reconnect to the cell network, too. That’s not good. Still, almost all the time, the phone worked, and if I had my problems, they were minor in the grand scheme of things. I can handle technical problems. They are dispreferred indifferents, and ultimately not really important—except, pragmatically, if there’s an emergency and I need to call 911, which, I’m happy to say, never happened.
Installing CyanogenMod took me to a newer version of Android than my phone company was providing, but I didn’t upgrade it, so until last week I was running Android 4.4, which was very out of date and a big security problem. Also, the battery life was terrible. Sometimes when I was using the phone I could see the battery percentage ticking down as I did things. Late last year I decided I really had to do something, but CyanogenMod died and LineageOS took over.
On the weekend I upgraded to LineageOS 14.1, so now I’m running Android 7.1.1. It’s much better. It really is like having a new phone. Here’s an outline of what I did:
- Made a list of all the apps I had installed, from the Play Store and F-Droid.
- Turned on adb.
- Backed up half a dozen things I really need, like my Tasker config, with adb, for example
cd ~/android/backups/Tasker; adb pull -a /sdcard/Tasker/ .or my ringtones, with
cd ~/android/backups/Ringtones, adb pull -a /sdcard/Ringtones/ .Made sure to back up my contacts information, which I don’t synchronize to Google.
- Did a full backup of everything (making sure to OK it on the phone):
adb backup -apk -shared -all
- Noted important information from apps I couldn’t back up.
- Forgot to back up my Signal messages. Ah well.
(There are a lot of ways to copy files off your Android device. If you grok the command line,
adb is the nicest.)
I had TWRP installed, but doing a backup in it ran out of space, so I deleted a lot of apps and data on my phone until a backup worked. Then I updated TWRP:
- Downloaded the latest image.
- Connected phone with adb.
adb push twrp-3.1.0-0-d2att.img /sdcard/
- Rebooted phone into TWRP.
- Followed the instructions: “Go to install and find and select the Images… button. Browse to the image that you downloaded and select it. Choose recovery and swipe to flash.”
Then I was ready to upgrade to LineageOS.
- Followed the d2att instructions.
- Downloaded the LineageOS install package.
adb push lineage-14.1-20170313-nightly-d2att-signed.zip /sdcard/
- Got the ARM 7.1 nano distribution of Open GApps.: Google Apps.
adb push open_gapps-arm-7.1-nano-20170319.zip /sdcard/
- Got the su add-on (ARM binary, in my case).
adb push addonsu-arm-signed.zip /sdcard/
I rebooted into recovery and installed all of those images. No problem.
I rebooted from recovery and it got stuck in boot, just showing the moving logo thingie. I got a bit worried: had a I bricked my phone? I powered it off, rebooted from cold, and then it worked! I made a test phone call and it worked. My phone was OK! Now it was all up to reinstalling apps and data.
In settings, About Phone, I tapped seven times on the build number to enable developer options. Then I began installing everything I need on my phone:
- Disabled synchronizing information to Google.
- Pushed contacts with
adband imported them.
- Downloaded and installed F-Droid (had to permit installation of unknown apps).
- Tweaked and fiddled with various settings.
- Began reinstalling the apps I use.
I’ll do another post about those apps and my current configuration, but the important thing is that it all worked. I’ve even flashed a LineageOS update between the big change and writing this. I had to power off and do a cold restart again, but it worked, and
Executive summary: It worked.