Installing LineageOS and Magisk on Essential Phone PH-1 using Windows




The Essential Phone is an awesome, underrated phone.  Released in 2017, it received initial fanfare because it came with stock Android (no bloatware) and you could unlock the bootloader without voiding the warranty while still using it on U.S. carrier networks.  Unfortunately, the phone fell out of favor due to the following criticisms:
  • No audio jack (adapter included with phone and also works with bluetooth headphones)
  • No micro-SD storage (yes, somewhat annoying for modding but 128 GB internal storage is good enough)
  • Only a single SIM card slot (not sure why so many people like two)
  • 360° camera add-on is bulky and awkward in a world of GoPros (add-on system in general was good in theory but a flop in practice, requiring weird phone case options)
  • mediocre digital camera quality (13 megapixels is good enough for me)
  • smaller screen compared to the modern trend of phablet-style phones (personally I love the form factor -- similar to my HTC 10)
  • A/B partitioning system for seamless system updates (but rather convoluted for developers and modders)
Even though bootloader unlocking was supported and encouraged, the developer challenges stalled community adoption.  LineageOS only supported it this year, two years after the phone's release.  TWRP released a recovery image for it but then dropped support (touch doesn't work so you can't interact with it at all and the UI doesn't fill up the screen properly).

In addition, the LineageOS image is based on Android 9 (Pie) while stock uses the latest Android 10 (Q) and gets frequent updates so most developers have ignored it.  So why am I writing this guide?  Well, I personally prefer the Pie user interface over Q and I really like LineageOS Privacy Guard so I threw caution to the wind and dove in! Update: LineageOS now supports Android 10.

The first thing you'll realize is the official LineageOS install instructions don't work.  After a lot of trial and error I pieced together a process that worked on Windows:

1. Install the official Windows driver

2. The driver includes outdated versions of adb and fastboot so download the latest version from Google and extract the contents of platform-tools into C:\Program Files (x86)\Essential\ADB

3. The adb sideload method mentioned in many online tutorials didn't work for me and the phone doesn't have micro-SD storage so you'll need a USB-C thumb drive.  Download the following files onto it:
4. As mentioned above, the official TWRP version doesn't work so download this version to your computer (sourcesource), referenced in this tutorial as Dec_boot_patched_TWRP.img.  Don't worry about using any of his newer versions since this is just a temporary recovery tool to load LineageOS which comes with its own recovery tool that works much better on the PH-1 phone.

5. Open an administrator command prompt and type adb version and you should see 1.0.41 or later

6. On your phone, open Settings and select About

7. Tap Build number seven times to enable developer options

8. Search settings for Developer options to open its page

9. Scroll down, and use the slider to enable OEM unlocking and Android debugging (sometimes called USB debugging)

10. Plug your phone into your computer using the USB cable (you will likely need a USB C-to-A adapter)

11. On your computer command prompt type adb devices  A dialog should show on your phone, asking you to allow USB debugging.  Check always allow and choose OK

12. On your computer command prompt type adb reboot bootloader  After a moment it will boot into a special bootloader screen.

13. Then in your computer command prompt type fastboot devices and make sure it sees the phone.

14. Then type fastboot flashing unlock_critical  If the device doesn’t automatically reboot, reboot it.  You can ignore the nag screen notifying you your bootloader is unlocked.

15. Repeat steps 8-13 above and then type fastboot flashing unlock  If the device doesn’t automatically reboot, reboot it.

16. Repeat steps 8-13 above.  The bootloader screen should say "DEVICE STATE - unlocked".

17. On your computer command prompt type fastboot set_active a

18. Then type fastboot getvar current-slot to verify it says _a

19. Type dir and make sure Dec_boot_patched_TWRP.img is in the current directory (or cd to its location)

20.  Now type fastboot flash boot_a Dec_boot_patched_TWRP.img to load TWRP temporarily into the phone's recovery partition

21. On the phone press Volume Up twice until it says Recovery Mode then press the Power button.  After a moment TWRP should load and you can unplug the phone from the computer.

22. Enter phone PIN or swipe to allow modifications.  Note: as mentioned above, TWRP on the PH-1 is pretty janky so it may take a few tries swiping, tapping, and typing when needed in this tutorial.

23. Tap Wipe

24. Tap Format Data and continue with the formatting process.  This will remove encryption and delete all files stored on the phone.

25. When it says ...done tap the home icon (middle bottom icon)

26. Tap Wipe and then tap Advanced Wipe.  Select System and then swipe to wipe.

27. When it says ...done tap the home icon (middle bottom icon)

28. Plug the USB thumb drive into the phone (you may need to remove your phone case to properly insert it all the way).

29. Tap Mount and then tap USB OTG

30. Tap the home icon (middle bottom icon)

31. Tap Install and select lineage-16.0-20191114-nightly-mata-signed.zip   Note: if the zip file isn't displayed, tap Select Storage to choose USB thumb drive.  Also, DON'T install Magisk or GApps yet.

32. Swipe to confirm Flash.  Important: every few seconds you'll need to flick your finger upward on the phone screen to keep it from going to sleep (otherwise the USB OTG connection may be lost and the install will fail).  The install process takes a few minutes and will show Step 1/2 then Step 2/2 then ...done

33.  When done, do NOT tap reboot on the screen.  Instead, tap the home icon (middle bottom icon), tap Reboot and then tap Recovery.  It's very important you reboot into Recovery instead of a normal System boot due to how A/B partitioning works.

34. Swipe to Reboot.  After a moment LineageOS recovery should load.

35. Tap Apply update and then tap Choose from usb and select MindTheGapps-9.0.0-arm64-20190615_031441.zip   Tap Yes on the Signature verification failed prompt

36. Tap Apply update and then tap Choose from usb and select Magisk-v20.1.zip   Tap Yes on the Signature verification failed prompt

37. Tap Reboot  After a moment LineageOS should load (yay!)  Note: the phone may auto-restart during the setup process.

38. Follow the wizard prompts to set up your phone.  Then, open the native Files app to browse your USB thumb drive to tap MagiskManager-v7.4.0.apk and follow the prompts to install it.  You can then unmount your thumb drive and remove it.

39. Restart your phone to ensure it boots normally and everything is working as expected.

40.  Enjoy!

Comments

Popular Posts