What I wish I'd known before installing LineageOS

open source   LineageOS   Android   phone

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:

  1. Back up photos with adb pull /sdcard/DCIM/Camera
  2. Use Skit to create a list of all installed apps, and download with adb pull /sdcard/Download/apps.json
  3. Request a Google Takeout of all my data for backup
  4. Ensure adb and fastboot are installed and run
  5. Enable and verify USB debugging with adb ls / or similar
  6. Verify model with adb shell getprop ro.product.model | grep --line-regexp FP4
  7. 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'
  8. Verify that I’m running Android 13/15 with adb shell getprop ro.build.version.release | grep --line-regexp '13\|15'
  9. Verify that bootloader unlocking is allowed with adb shell getprop sys.oem_unlock_allowed | grep --line-regexp 1
  10. Reboot into the bootloader with adb reboot bootloader
  11. Unlock bootloader with fastboot flashing unlock and confirming on screen
  12. Follow the initial setup wizard to get access to the phone
  13. Re-enable USB debugging
  14. Reboot into bootloader again with adb reboot bootloader
  15. Complete unlock with fastboot flashing unlock_critical
  16. Follow the initial setup wizard to get access to the phone
  17. Re-enable USB debugging
  18. Power off
  19. Hold Volume Down + Power to reboot into the bootloader
  20. Flash device with fastboot flash dtbo dtbo.img
  21. Reboot into bootloader with fastboot reboot bootloader
  22. Flash recovery with fastboot flash recovery recovery.img
  23. With the volume buttons, select “Recovery mode” and press Power
  24. Verify that recovery mode starts and shows the LineageOS logo
  25. Select Factory reset → Format data/factory reset → Format data
  26. Return to the main menu
  27. Select Apply update → Apply from ADB
  28. 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.
  29. Select Reboot system now

After installing

  1. Install and configure as much as possible from F-Droid
  2. Install Aurora Store for anonymous access to Google Store APKs
  3. Install and configure remaining apps from Aurora Store
  4. 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.