keyboard_arrow_left Back to the overview

Install LineageOS on
Samsung Galaxy S10

beyond1lte

Basic requirements

  1. Read through the instructions at least once before actually following them, so as to avoid any problems due to any missed steps!
  2. Make sure your computer has adb. Setup instructions can be found here.
  3. Enable USB debugging on your device.
  4. Make sure that your model is actually listed in the “Supported models” section here (exact match required!)
  5. Boot your device with the stock OS at least once and check every functionality.
  6. LineageOS is provided as-is with no warranty. While we attempt to verify everything works you are installing this at your own risk!

Checking the correct firmware

Installation on your device requires a specific firmware version to be installed before you continue.

  • Firmware refers to a device-specific set of images that are included in, and updated by the stock OS
  • LineageOS builds for this device require an Android 12 version of the stock OS to be installed prior to following the installation guide
  • Please ensure that you are checking the Android version, and not the vendor OS version
  • Being on another custom ROM, including unofficial builds of the same version of LineageOS, does not ensure that this requirement has been fulfilled
  • Please re-read this section as many times as necessary to fully understand the requirements

Failing to install the correct firmware version prior to installation may result in failure to install LineageOS, unexpected crashes post-installation, or permanent damage to your device!

Pre-Install Instructions

  1. Connect the device to a Wi-Fi network.
  2. Enable Developer Options by pressing the “Build Number” option in the “Settings” app within the “About” menu
    • From within the Developer options menu, enable OEM unlock.
  3. Power off the device, and boot it into download mode:
    • With the device powered off, hold Volume Down + Bixby and connect USB cable to PC.
    • Now, click the button that the onscreen instructions correlate to “Continue” and/or “Unlock Bootloader”.
  4. Your device will reboot, you may now unplug the USB cable from your device.
  5. The device will demand you factory reset, please follow the onscreen instructions to do so.
  6. Run through Android Setup skipping everything you can, then connect the device to a Wi-Fi network.
  7. Re-enable Development settings by clicking the “Build Number” option 10 times, in the “Settings” app within the “About” menu, and verify that “OEM Unlock” is still enabled in the “Developer options” menu.

Preparing for installation

Samsung devices come with a unique boot mode called “Download mode”, which is very similar to “Fastboot mode” on some devices with unlocked bootloaders. Heimdall is a cross-platform, open-source tool for interfacing with Download mode on Samsung devices. The preferred method of installing a custom recovery is through Download Mode – rooting the stock firmware is neither necessary nor required.

  1. Enable Developer Options by pressing the “Build Number” option in the “Settings” app within the “About” menu
    • From within the Developer options menu, enable OEM unlock.
  2. Download and install the appropriate version of the Heimdall suite for your machine’s OS
    • Windows: Extract the Heimdall suite zip and take note of the new directory containing heimdall.exe. You can verify Heimdall is functioning by opening a Command Prompt or PowerShell in that directory and running heimdall version.
    • Linux: Extract the Heimdall suite zip and take note of the new directory containing heimdall. Now copy heimdall into a directory in $PATH, a common one on most distros will be /usr/local/bin. For example cp heimdall /usr/local/bin. You can verify Heimdall is functioning by opening a Terminal and running heimdall version.
    • macOS: Mount the Heimdall suite DMG. Now drag heimdall down into the /usr/local/bin symlink provided in the DMG. You can verify Heimdall is functioning by opening a Terminal and running heimdall version.
  3. Power off the device, and boot it into download mode:
    • With the device powered off, hold Volume Down + Bixby and connect USB cable to PC.
    • Now, click the button that the on screen instructions correlate to “Continue”, and insert the USB cable into the device.
  4. For Windows users only: install the necessary drivers. A more complete set of instructions can be found in the Zadig user guide.
    1. If nothing relevant appears, try uninstalling any Samsung related Windows software, like Samsung Windows drivers and/or Samsung Kies.
    2. Run zadig.exe found in your extracted Heimdall directory.
    3. Choose Options » List all devices from the menu.
    4. Select device with USB ID 04E8 685D from the drop down menu.
    5. Click Replace Driver, then selecting Install Driver from the drop down list built into the button.
    6. If you are prompted with a warning that the installer is unable to verify the publisher of the driver, select Install this driver anyway. You may receive two more prompts about security. Select the options that accept the warnings and allow you to carry on.
  5. On your machine, open a Command Prompt or PowerShell (Windows) window, or Terminal (Linux or macOS) window, and type:
    heimdall print-pit
    
  6. If the device reboots that indicates that Heimdall is installed and working properly. If it does not, please refollow these instructions to verify steps weren’t missed, try a different USB cable, and a different USB port.

Installing Lineage Recovery using heimdall

  1. Download Lineage Recovery. Simply download the latest recovery file, named recovery.img.
  2. Power off the device, and boot it into download mode:
    • With the device powered off, hold Volume Down + Bixby and connect USB cable to PC.
    • Now, click the button that the on screen instructions correlate to “Continue”, and insert the USB cable into the device.
  3. On your machine, open a Command Prompt or PowerShell (Windows) window, or Terminal (Linux or macOS) window, and type:
    heimdall flash --RECOVERY recovery.img --no-reboot
    
  4. A transfer bar will appear on the device showing the recovery image being flashed.
  5. Manually reboot into recovery, this may require pulling the device’s battery out and putting it back in, or if you have a non-removable battery, press the Volume Down + Power buttons for 8~10 seconds until the screen turns black & release the buttons immediately when it does, then boot to recovery:
    • Reboot and immediately hold Volume Up + Bixby + Power while the device is connected to a PC via USB cable.

Installing LineageOS from recovery

  1. Download the LineageOS zip file that you would like to install or build the package yourself.
  2. If you are not in recovery, reboot into recovery:
    • Reboot and immediately hold Volume Up + Bixby + Power while the device is connected to a PC via USB cable.
  3. Now tap Factory Reset, then Format data / factory reset and continue with the formatting process. This will remove encryption and delete all files stored in the internal storage, as well as format your cache partition (if you have one).
  4. Return to the main menu.
  5. Sideload the LineageOS .zip package but do not reboot before you read/followed the rest of the instructions!
    • On the device, select “Apply Update”, then “Apply from ADB” to begin sideload.
    • On the host machine, sideload the package using: adb -d sideload filename.zip.

Installing Add-Ons

  1. Click Apply Update, then Apply from ADB, then adb -d sideload filename.zip for all desired packages in sequence.
    When presented with a screen that says Signature verification failed, click Yes. It is expected as add-ons aren’t signed with LineageOS’s official key!

All set!

Once you have installed everything successfully, you can now reboot your device into the OS for the first time!

  • Click the back arrow in the top left of the screen, then “Reboot system now”.

Get assistance

After you’ve double checked that you followed the steps precisely, didn’t skip any and still have questions or got stuck, feel free to ask on our subreddit or in #LineageOS on Libera.Chat.