Install LineageOS on
HTC One A9
hiae
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
andfastboot
. 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!):
- 2PQ9120
- 2PQ9100
- Boot your device with the stock OS at least once and check every functionality.
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.
- LineageOS is provided as-is with no warranty. While we attempt to verify everything works you are installing this at your own risk!
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 -d reboot bootloader
You can also boot into fastboot mode via a key combination:
- With the device powered off, hold Volume Down + Home + Power.
- Once the device is in fastboot mode, verify your PC finds it by typing:
fastboot devices
If you don’t get any output or an error:
- on Windows: make sure the device appears in the device manager without a triangle. Try other drivers until the command above works!
- on Linux or macOS: If you see
no permissions fastboot
try runningfastboot
as root. When the output is empty, check your USB cable and port!
- 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 may be able to use an alternative bootloader unlock method like SunShine, though they only support some devices/firmwares. - 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-hiae.img
and rename it torecovery.img
.Important: Other recoveries may not work for installation or updates. We strongly recommend to use the one linked above! - Connect your device to your PC via USB if it isn’t already.
- If your device isn’t already in fastboot mode, on the computer, open a command prompt (on Windows) or terminal (on Linux or macOS) window, and type:
adb -d reboot bootloader
You can also boot into fastboot mode via a key combination:
- With the device powered off, hold Volume Down + Home + Power.
- Once the device is in fastboot mode, verify your PC finds it by typing:
fastboot devices
If you don’t get any output or an error:
- on Windows: make sure the device appears in the device manager without a triangle. Try other drivers until the command above works!
- on Linux or macOS: If you see
no permissions fastboot
try runningfastboot
as root. When the output is empty, check your USB cable (preferably use a USB Type-A 2.0 one or a USB hub) and port!
Tip: Some devices have buggy USB support while in bootloader mode, if you seefastboot
hanging with no output when using commands such asfastboot getvar ...
,fastboot boot ...
,fastboot flash ...
you may want to try a different USB port (preferably a USB Type-A 2.0 one) or a USB hub. - Flash recovery onto your device:
fastboot flash recovery recovery.img
- Now reboot into recovery to verify the installation.
Do not reboot into the existing OS, since it will overwrite the recovery you just installed!
-
With the device powered off, hold Volume Down + Power until the bootloader appears, then release the buttons. Use the volume buttons to scroll to “RECOVERY” and press Power to select.
Note: If you can’t power down the device, try long-pressing the key-combination (if any was used in the instructions above) until the device reboots and follow the instructions above
-
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 Down + Power until the bootloader appears, then release the buttons. Use the volume buttons to scroll to “RECOVERY” and press Power to select.
- 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
.Tip: Normally, adb will reportTotal xfer: 1.00x
, but in some cases, even if the process succeeds the output will stop at 47% and reportadb: failed to read command: Success
. In some cases it will reportadb: failed to read command: No error
oradb: failed to read command: Undefined error: 0
which is also fine.
Installing Add-Ons
arm64
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!
- Run
adb -d reboot
.
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.