What I wish I'd known before installing LineageOS
Moving to LineageOS was hopefully the last step before finally deleting my Google account. But the process involved much more than just installing an operating system. This article outlines these tasks, and tries to answer some questions you might have before attempting the installation.
This is not intended as a replacement for the official documentation; refer to it to perform the installation on your device.
Assumptions
Your operating system shouldn’t really matter. Linux, Mac, or Windows, all of them should work. I used Linux, which is why the log includes common Linux commands and syntax, but the documentation explains things in an OS-agnostic fashion.
You need to be at least somewhat familiar with running command-line tools. For example, if you don’t know what a relative directory is, you might want to have someone looking over your shoulder to make sure your phone doesn’t end up unusable, even temporarily, by not being able to complete the process.
This assumes no familiarity with LineageOS (*waves at other newbies*) or low-level Android command-line tools. The wiki does a good job of explaining what each command does, and how to deal with some common issues.
Before installing
Back up everything! And really think about what you need to back up, because you probably have a different setup from mine. You probably want at least:
- SMS and MMS messages
- Photos & videos
- Any complex configuration, such as an email client
- If you still have a Google account, request a backup from Google Takeout to get a local copy of a lot of your Google data. Unfortunately they don’t include everything, so be patient and check whether you actually got the data you expected once you have downloaded and unpacked all of it.
- A list of the apps you want to keep. Either write a list, or use something like Skit to create a JSON file listing all your installed apps (and download the file to another machine!).
Your phone also needs to allow bootloader unlocking, also known as OEM unlocking in the developer options. This often requires a call to your phone provider, and in some countries providers are allowed to refuse to comply.
Installing
The instructions for my phone were excellent. I also had to follow the vendor instructions to unlock the bootloader. You’ll have to look up the instructions for your phone. Follow these and you should have a phone with LineageOS and basic apps installed.
Log
This is what I actually did, skipping any of the steps to figure out how to do them:
- Back up photos with
adb pull /sdcard/DCIM/Camera - Use Skit
to create a list of all installed apps, and download with
adb pull /sdcard/Download/apps.json - Request a Google Takeout of all my data for backup
- Ensure
adbandfastbootare installed and run - Enable and verify USB debugging with
adb ls /or similar - Verify model with
adb shell getprop ro.product.model | grep --line-regexp FP4 - Verify that I’m running the
latest stock OS
with
adb shell getprop ro.build.display.id | grep --fixed-strings --line-regexp 'FP4.QREL.15.20.0' - Verify that I’m running Android 13/15 with
adb shell getprop ro.build.version.release | grep --line-regexp '13\|15' - Verify that bootloader unlocking is allowed with
adb shell getprop sys.oem_unlock_allowed | grep --line-regexp 1 - Reboot into the bootloader with
adb reboot bootloader - Unlock bootloader with
fastboot flashing unlockand confirming on screen - Follow the initial setup wizard to get access to the phone
- Re-enable USB debugging
- Reboot into bootloader again with
adb reboot bootloader - Complete unlock with
fastboot flashing unlock_critical - Follow the initial setup wizard to get access to the phone
- Re-enable USB debugging
- Power off
- Hold Volume Down + Power to reboot into the bootloader
- Flash device with
fastboot flash dtbo dtbo.img - Reboot into bootloader with
fastboot reboot bootloader - Flash recovery with
fastboot flash recovery recovery.img - With the volume buttons, select “Recovery mode” and press Power
- Verify that recovery mode starts and shows the LineageOS logo
- Select Factory reset → Format data/factory reset → Format data
- Return to the main menu
- Select Apply update → Apply from ADB
- Install LineageOS with
adb -d sideload lineage-24.0-20261011-nightly-FP4-signed.zip- This hung at 47%, but the manual says that’s OK, so I just continued after the phone reported it being complete.
- Select Reboot system now
After installing
- Install and configure as much as possible from F-Droid
- Install Aurora Store for anonymous access to Google Store APKs
- Install and configure remaining apps from Aurora Store
- Install microG to fake the Google Store API (I should have done this before the previous step)
Frequently anticipated questions (FAQ)
- What doesn’t work? Some apps check whether you have an alternative OS or rooted device, and refuse to work in that case. I hope microG will help with this, but so far I’ve been able to use other apps and login methods instead of those apps.
- How long does it take? It shouldn’t take more than four hours from
receiving calls on stock Android to doing the same on LineageOS. In my case,
the timeline (excluding the time to figure out some stuff explained below)
looked something like this:
- ~1 hour to create backups.
- ~1 hour to follow instructions and log every step.
- ~1 hour to install and configure various apps from the built-in F-Droid app store, including CalDAV/CardDAV client, calendar, email, GPS navigation, weather forecast, nutrition tracker, and audiobook player.
- ~1 hour to install most of my Google Play apps and configure them.
- How do you install apps which are only on Google Play? Use the Aurora Store app, available on F-Droid. Select the “anonymous” option when using it for the first time, and you won’t have to log in with a Google account.
Summary
So far it’s been smooth sailing. Huge thanks to the people working on LineageOS and its documentation ♥️! It’s not exactly plug’n’play, but I hope this article can help someone else take the leap.
Hopefully the next OS on my phone will be NixOS, then I’ll be able to shorten
the post-install to two steps: set up my SSH public key on the phone and run
deploy on my desktop 🚀!
No webmentions were found.