Important Information: Potential DATA LOSS
HTC improved the security of their full disk encryption in their Nougat release. Because of their improved encryption, it no longer possible for a source built ROM to decrypt a userdata partition encrypted with HTC’s Nougat (or later) software.
Terminology
- userdata : The disk partition that contains
/dataand also contains/sdcard - wipe data or factory reset : Erases the contents of
/databut not/sdcard - format userdata : Formats
userdata, including all content in/scard
What you need to know
- If you are installing from MM (6.0) HTC stock firmware, everything should work normally.
- If you are installing from N (7.x) HTC stock firmware, you will have to format userdata.
If you want to backup your stock install, you must backup to your external SD because
any backup storage in the default location (on
/sdcard) will be lost in the format. - If you didn’t read these instructions and try to install LineageOS on top of N userdata
after only performing a factory reset then:
- On boot it will ask you for your password to decrypt data but your password will not decrypt it.
- If you reboot to TWRP, TWRP will not be able to mount
/dataor/sdcardand will also prompt for your password to decrypt it and, again, your password will not work. - To recover from this you will either need to format userdata or you will need to
restore your stock backup. After restoring your stock backup, reboot to TWRP and
it should now be able to mount
/dataand/sdcard.
Installing on Sprint or Verizon devices
Sprint and Verizon do not ship with an unlockable bootloader. Even if you do unlock it, something in its firmware is still not compatible with LineageOS. People have had success flashing modified US Unlocked firmware and then RUU’ing back to their proper firmware before installing LineageOS. Please use Google and/or XDA to read more about what has worked for others.
Basic requirements
- Make sure your computer has working
adb. Setup instructions can be found here. - Enable USB debugging on your device.
Unlocking the bootloader
-
Enable OEM unlock in the Developer options under device Settings, if present.
- Connect the device to your PC via USB.
-
On the computer, open a command prompt (on Windows) or terminal (on Linux or macOS) window, and type:
adb reboot bootloaderYou can also boot into fastboot mode via a key combination:
- With the device powered off, hold Volume Down while booting.
-
Once the device is in fastboot mode, verify your PC finds it by typing:
fastboot devicesTip: If you seeno permissions fastbootwhile on Linux or macOS, try runningfastbootas root. -
Now type the following command to obtain your bootloader unlock token:
fastboot oem get_identifier_token -
Visit the HTCDev Bootloader Unlock website and follow the instructions there to obtain your unlock key and unlock your bootloader. If your device does not appear in the drop-down list, select All Other Supported Models.
Note: If your device is not supported by the HTCDev Bootloader Unlock website, you will need to use an alternative bootloader unlock method like SunShine. - If the device doesn’t automatically reboot, reboot it. It should now be unlocked.
- Since the device resets completely, you will need to re-enable USB debugging to continue.
Installing a custom recovery using fastboot
-
Download a custom recovery - you can download TWRP. Simply download the latest recovery file, named something like
twrp-x.x.x-x-pme.img. - Connect your device to your PC via USB.
-
On the computer, open a command prompt (on Windows) or terminal (on Linux or macOS) window, and type:
adb reboot bootloaderYou can also boot into fastboot mode via a key combination:
- With the device powered off, hold Volume Down while booting.
-
Once the device is in fastboot mode, verify your PC finds it by typing:
fastboot devicesTip: If you seeno permissions fastbootwhile on Linux or macOS, try runningfastbootas root. -
Flash recovery onto your device:
fastboot flash recovery twrp-x.x.x-x-pme.imgTip: The file may not be named identically to what’s in this command, so adjust accordingly. - Now reboot into recovery to verify the installation:
- With the device powered off, hold Volume Down while booting. Select “Reboot to bootloader” and then in the bootloader select “Boot to recovery mode”.
Installing LineageOS from recovery
-
Download the LineageOS install package that you’d like to install or build the package yourself.
- Optionally, download 3rd party application packages such as Google Apps
- Place the LineageOS
.zippackage, as well as any other .zip packages on the root of/sdcard:- Using adb:
adb push filename.zip /sdcard/ - You can use any method you are comfortable with.
adbis universal across all devices, and works both in Android and recovery mode, providing USB debugging is enabled.
- Using adb:
- If you aren’t already in recovery, reboot into recovery:
- With the device powered off, hold Volume Down while booting. Select “Reboot to bootloader” and then in the bootloader select “Boot to recovery mode”.
- (Optional, but recommended): Select the Backup button to create a backup.
- Select Wipe and then Advanced Wipe.
- Select Cache, System and Data partitions to be wiped and then Swipe to Wipe.
- Go back to return to main menu, then select Install.
- Navigate to
/sdcard, and select the LineageOS.zippackage. - Follow the on-screen prompts to install the package.
- (Optional): Install any additional packages using the same method.
Note: If you want any Google Apps on your device, you must follow this step before the first reboot!
- (Optional): Root the device by installing the LineageOS su add-on (use the
arm64package) or using any other method you prefer. - Once installation has finished, return to the main menu, select Reboot, and then System.
Get assistance
If you have any questions or get stuck on any of the steps, feel free to ask on our subreddit or in #LineageOS on freenode.