[Essential Phone Guides, News, & Discussion] MarSOnEarth:
[Disclaimer: Should anyone decide to follow these instructions, they will be doing so at their own risk. Bad Things™ could happen, and you, and you alone, my fellow traveler, are responsible for your choice to follow this path, and for understanding and accepting full consequences of flashing non-OEM phone firmware. I, myself, do not have enough know-how to help you should things turn not as expected, as all the heavy lifting has been done by others, and I thank them all. Support those that support us!]

Some background; after the post [https://xdaforums.com/t/gsi-rom-aosp-android-gsi-support-for-essential-phone.4326297/] that introduced me to using GSI (Generic System Image) builds as daily drivers, I’ve tried a handful of them (as collected on P.H. Husson’s treble_experimentations page) with a varying degree of success. The build that has delivered the smoothest experience out-of-the-box for me has been the Octavi GSI [https://octavi-os.com/].

-- What’s needed --

- From this page download - Essential PH1 window drivers and The latest official ROM

- Download Android build tools, AOSP.zip given in this post, and this OctaviOS GSI build for full Google experience [some other builds are on this page. NOTE: PH-1 takes ARM64, ab (system-as-root), and project Treble (the vndk part) compatible variant.

-- The work –

- Preparations: (Refer to this page for the excellent overview on working with ROM images done by Vigasaurus, especially the section How to Flash (for Fastboot only)).

On the desktop:

- Install Essential drivers

- Create a work folder, let’s say A11, and unzip the platform tools files (from the ‘platform_tools’ subfolder) there. This folder will then have ‘adb’, and ‘fastboot’ executables.

- Unzip the content of PH1-Images-QQ1A.200105.032.zip to A11

- Unzip the content of AOSP.zip to A11 overwriting all (3) files.

- Unzip OctaviOS firmware to A11 folder

- Open command line and go to A11 folder

- connect the phone to your computer

Then type:

adb devices

(the response should be a string of numbers (the phone's serial number) followed by the word ‘device’

On the phone (if not done already):

- Tap Settings, then tap System > About phone and scroll to the bottom of the page, then

- Tap Build number multiple times until you see the pop-up message “You are now a developer”

- Go back one screen to System, then tap Developer options and enable OEM Unlocking and USB debugging.

Back on the desktop type:

adb reboot bootloader

and if not done already, type:

fastboot flashing unlock
fastboot flashing unlock_critical

then:

fastboot set_active a
fastboot flash vendor vendor.img
fastboot flash system system.img
fastboot format userdata
fastboot reboot

After phone reboots type:

adb root
adb disable-verity
adb reboot bootloader

Now, edit flashall.bat to replace ‘system.img’ with OctaviOS image. In my case those two lines look like this:

fastboot flash system_a OctaviOS-v2.9-arm64_bgN-vndklite-20210918-Official.img
fastboot flash system_b OctaviOS-v2.9-arm64_bgN-vndklite-20210918-Official.img

- Save and run flashall.bat

At this point your device will boot the new firmware. If how you use your phone does not require rooting, you are done. Go through the initial setup steps and profit!

For those who need root:

- Download Magisk Manager and put, and install it on your phone.

- Enable Developer (as above) and USB debugging

On command line in A11 folder push the Magisk app and boot.img to the phone:

adb push boot.img /sdcard/Download
adb push Magisk-v23-0.apk /sdcard/Download

On the phone, install the Magisk app and start it up.

then

Tap Install, tap Method, then select file, and choose the boot.img from Download folder

Back on command line:

adb shell ls /sdcard/Download
adb pull /sdcard/Download/[name-of-magisk-patched-image]
adb reboot bootloader
fastboot flash boot_a [name-of-magisk-patched-image]
fastboot flash boot_b [name-of-magisk-patched-image]
fastboot reboot

Then, back on the phone:

- Start Magisk app

- Tap settings icon (upper right) and activate MagiskHide

- Exit and tap Check SafetyNet to make sure it’s all good.

Now, profit!

[Final advice: I've turned off any AOD, Daydream, and PocketDetection settings, as they severly impact battery use. After that, it's been smooth sailing]