warning
Warning: The provided instructions are for LineageOS 14.1. These will only work if you follow every section and step precisely.
Do not continue after something fails!
Basic requirements
- Read through the instructions at least once before actually following them, so as to avoid any problems due to any missed steps!
- Make sure your computer has
adb
. Setup instructions can be found here.
- Enable USB debugging on your device.
- Make sure that your model number is one of the following (exact match required!):
- Boot your device with the stock OS at least once and check every functionality.
warning
Warning: Make sure that you can send and receive SMS and place and receive calls (also via WiFi and LTE, if available), otherwise it won’t work on LineageOS either! Additionally, some devices require that VoLTE/VoWiFi be utilized once on stock to provision IMS.
- Remove all Google accounts from your device to avoid “Factory reset protection”
- LineageOS is provided as-is with no warranty. While we attempt to verify everything works you are installing this at your own risk!
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.
- 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
.
info_outline
Note: These Heimdall suite distributions were built by LineageOS Developers Nolen Johnson (npjohnson) and Jan Altensen (Stricted), as the Heimdall suite executables distributed on the official Heimdall website were outdated and the repo mostly abandoned. Modifications were made to make it build and function on modern OSes.
- Power off the device, and boot it into download mode:
- With the device powered off, hold Home + Volume Down + Power.
- Now, click the button that the on screen instructions correlate to “Continue”, and insert the USB cable into the device.
- For Windows users only: install the necessary drivers. A more complete set of instructions can be found in the Zadig user guide.
- If nothing relevant appears, try uninstalling any Samsung related Windows software, like Samsung Windows drivers and/or Samsung Kies.
- Run
zadig.exe
found in your extracted Heimdall directory.
info_outline
Note: For the interested, source and documentation for zadig.exe can be found
here.
- Choose Options » List all devices from the menu.
- Select device with USB ID 04E8 685D from the drop down menu.
- Click Replace Driver, then selecting Install Driver from the drop down list built into the button.
- 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.
- On your machine, open a Command Prompt or PowerShell (Windows) window, or Terminal (Linux or macOS) window, and type:
- 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 a custom recovery using heimdall
- Download a custom recovery - you can download TWRP. Simply download the latest recovery file, named something like
twrp-x.x.x-x-d2tmo.img
and rename it to recovery.img
.
check
Tip: Ensure you download the .img
file and not the .tar
or .tar.md5
versions.
warning
Important: Other recoveries may not work for installation or updates. We strongly recommend to use the one linked above!
- Power off the device, and boot it into download mode:
- With the device powered off, hold Home + Volume Down + Power.
- Now, click the button that the on screen instructions correlate to “Continue”, and insert the USB cable into the device.
- 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
check
Tip: The file may not be named identically to what stands in this command, so adjust accordingly. If the file is wrapped in a zip or tar file, extract the file first, because Heimdall is not going to do it for you.
- A transfer bar will appear on the device showing the recovery image being flashed.
info_outline
Note: The device will continue to display Downloading... Do not turn off target!!
even after the process is complete.
- 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:
- With the device powered off, hold Volume Up + Home + Power.
info_outline
Note: Be sure to reboot into recovery immediately after installing the custom recovery. If you don’t the stock ROM will overwrite the custom recovery with the stock recovery, and you’ll need to flash it again.
Installing LineageOS from recovery
- Build a LineageOS installation package.
- If you are not in recovery, reboot into recovery:
- With the device powered off, hold Volume Up + Home + Power.
- Now tap Wipe.
- Now tap Format Data and continue with the formatting process. This will remove encryption and delete all files stored in the internal storage.
- Return to the previous menu and tap Advanced Wipe, then select the Cache and System partitions and then Swipe to Wipe.
- Sideload the LineageOS
.zip
package:
- On the device, select “Advanced”, “ADB Sideload”, then swipe to begin sideload.
- On the host machine, sideload the package using:
adb -d sideload filename.zip
.
check
Tip: Normally, adb will report Total xfer: 1.00x
, but in some cases, even if the process succeeds the output will stop at 47% and report adb: failed to read command: Success
.
In some cases it will report adb: failed to read command: No error
or adb: failed to read command: Undefined error: 0
which is also fine.
Installing Add-Ons
info_outline
Note: If you don’t want to install any add-on (such as Google Apps), you can skip this whole section!
warning
Warning:
If you want to install Google Apps add-on package (use the
arm
architecture), you can download it from
here.
This add-on needs to be installed
before booting into LineageOS for the first time!
- Repeat the sideload steps above for all desired packages in sequence.
All set!
Once you have installed everything successfully, you can now reboot your device into the OS for the first time!
info_outline
Note:
The first boot usually takes no longer than 15 minutes, depending on the device.
If it takes longer, you may have missed a step, otherwise feel free to
get assistance.
warning
Warning: Depending on which recovery you use, you may be prompted to install additional apps and services.
We strongly advise you to opt out of installing these, as they may cause your device to bootloop,
as well as attempt to access or corrupt your data.
If you are wondering about the next steps, continue, otherwise, enjoy your new LineageOS installation.
What next?
- If you are considering relocking your bootloader, see our FAQ about it.
- If your device is displaying a warning on every boot - there is nothing you can do about it but ignoring.
- Please do not use any methods to deinstall system apps. We are already shipping only a minimal set of apps and doing so can break your system. You are warned!
- We don’t support any methods for rooting and thus won’t provide support with it on any of our platforms
- LineageOS is Android. It supports apps the same way as any other Android device, but apps might choose to exclude you from using them. Please go back to your device’s quirks section and read about “Device integrity”.
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.