Upgrading LineageOS 18.1 to 19.1 on a Samsung Galaxy S10

Guide, Mobile

May 13, 2022

After waiting for some time (as one should before any large upgrade, to give issues time to surface and be fixed), I decided it’s time to upgrade to LineageOS 19. The updater built into LineageOS doesn’t let you upgrade to a new major version, so this upgrade is a manual process. It took me around half an hour to complete without any issues, and you do not need to wipe your data; read on to see what I did.

These steps are specific to my phone, the Samsung Galaxy S10 (model SM-G973F, beyond1lte). Always check the official wiki for instructions for your specific device, as they will probably differ; I followed these instructions. You need the tools adb and heimdall (see one of my previous posts for information) installed.

Here are the steps that I took:

  1. On the phone, open Settings and go to About Phone. Check the model, mine says SM-G973F.
  2. Gather resources:
    • Download the firmware update from here. This website is created by by the official LineageOS maintainer for the S10 series, Linux4, with firmware scraped directly from Samsung, so it’s trustworthy.
    • Download the newest LineageOS build from here.
    • Download a google apps package (MindTheGapps) from here, for arm64, version 12.
  3. Update firmware:
    1. Verify firmware checksum: curl -sL | sha256sum -c The output is: firmware-SM-G973F-G973FXXUFHVE1.tar: OK

    2. Extract firmware:

      mkdir fw/
      mv mv firmware-SM-G973F-G973FXXUFHVE1.tar fw/
      cd fw/
      tar xvzf firmware-SM-G973F-G973FXXUFHVE1.tar
    3. Restart the phone to download mode via advanced restart (enable it in the phone’s settings, under “power menu”).

    4. Connect phone to computer, I’m using macOS.

    5. Update firmware via heimdall flash --CM cm.bin --DQMDBG dqmdbg.img --KEYSTORAGE keystorage.bin --RADIO modem.bin --CP_DEBUG modem_debug.bin --PARAM param.bin --BOOTLOADER sboot.bin --UH uh.bin --UP_PARAM up_param.bin

    6. Wait for the reboot

  4. Update LineageOS:
    1. On the computer, run adb reboot sideload
    2. Wait until the sideload screen is shown in recovery mode
    3. Run adb sideload
    4. Check the output on the phone’s screen to see that it was successful. DO NOT REBOOT YET
  5. Update gapps:
    1. On the phone, tap apply update, apply from ADB.
    2. Run adb sideload
  6. Tap the back arrow, then reboot system now.
  7. Wait for the reboot. Yes, it takes longer than usual, that’s fine.
  8. Re-flash Magisk:
    1. Reboot to recovery via advanced restart menu
    2. If you have the Magisk APK saved on your SD card (which I suggest), tap apply update from SD card, choose Magisk. If not, use adb sideload again, you can get the APK from Github.
  9. Reboot, update is complete!