[Huawei P20 Pro Guides, News, & Discussion] Xcelsior:
As there seems to be no such guide yet and it took me quite a while to get all this information together, I thought of giving back something by putting information together for others to start.

This guide is meant for the CLT-L29 (dual SIM). Rebranding and switching your CLT-L09 (single SIM) to dual is not subject of this guide and is not adviced.

This is for a Huawei P20 Pro CLT-L29 with factory reset. Please bear with me if there really is a step missing as I try to reproduce this for the documentation with an already bootloader unlocked and previously rooted phone (root should be gone after [factory] resetting via eRecovery).

A collection of all tools used can be found here.

As always, you are doing this on your own risk, no one else can be held responsible for this.

Cheat sheet

eRecovery

The recovery sitting in the "recovery" partition. eRecovery is Huawei's recovery that is able to fix your phone by downloading the latest OTA update via WiFi if you got stuck in a boot loop for several reasons.

To boot into eRecovery:

Power down your phone (if you are stuck in a boot loop simply continue with the next step).

Hold volume up until you end up in eRecovery.

Setup your WiFi access and let it recover your phone.

If unsure, "wipe data/factory reset" to get rid of any leftovers you messed up.

Reboot and be happy that you have not fully bricked your phone.

TWRP

The recovery typically flashed to the "recovery_ramdisk" partition. TeamWin Recovery Project is what you typically use to flash ROMs, to root the phone and to install OTA updates.

Do NOT flash TWRP into "recovery" partition or you will lose eRecovery and the ability to easily recover your semi-bricked phone via WiFi!

To boot into TWRP (once flashed):

Power down your phone (if you are stuck in a boot loop simply continue with the next step).

Hold volume up and power until you end up in TWRP.

Unlock your bootloader

Get your bootloader unlock code from here https://emui.huawei.com/en/unlock_detail (available until mid of July I think). Some report to have to wait 24/48h to get their code via mail, I got mine directly.

Register via mail and do not get confused that you can not select USA or Germany or whatever country, simply use location Hong Kong.

Make sure you select "EMUI above 5.0" when entering your phone data (P20 Pro comes with EMUI 8.x).

Connect your phone via ADB. There are tons of HowTos about this, so I will not be covering this here.

Use Tool All In One to check that you can talk to your device via ADB. It will also help you installing the correct ADB USB drivers.

Unlock your bootloader using Tool All In One.

Reboot back into system.

Flash TWRP

Make sure no lock screen or other locking is set:

"Settings > Security": Remove fingerprint, face or password locking, simply set to none.

Enter developer mode, should already been done for unlocking the bootloader.

Setting > System > Developer options: Disable the display lock.

Download latest ADB & Fastboot as I will continue with the rest on command line.

Verify connection to your phone with "adb devices", this should list your phone.

Reboot into fastboot by using "adb reboot bootloader".

Verify connection to your phone with "fastboot devices", this should list your phone.

Flash TWRP by Pretoriano80 with "fastboot flash recovery_ramdisk twrp_clt_0.1.img". This TWRP is able to access the encrypted internal storage! TWRP is flashed to "recovery_ramdisk". This ensures that you can still access eRecovery if something goes wrong.

Remove the USB cable.

Reboot into TWRP. If you do not boot directly into TWRP the Huawei eRecovery might replace TWRP again. Once you booted into TWRP you are fine for future reboots.

Use "Keep Read Only" for the system partition.

Make a backup!!!

Backup your phone to internal storage (USB stick via USB-OTG adapter failed for me):

Select "Backup".

Tick all partitions (scroll down and tick all).

Swipe to Backup.

Select "Reboot System", "Do Not Install".

Back in Android make a copy of your backup located in your internal storage "/TWRP/" to an external location like your PC. Keep the backup on your phone to be able to go back quickly to this point via TWRP.

Root the stock ROM

Place "Magisk-v16.4-Beta.zip" onto the internal storage.

Power off the phone and remove the USB cable.

Boot into TWRP.

Install root and Magisk Manager:

Select "Install".

Select "Magisk-v16.4-Beta.zip"

Tick "Reboot after installation is complete".

Swipe to confirm Flash.

Select "Do Not Install".

Back in Android start "Magisk Manager" and check that it is green and therefore rooted.

Install an OTA (Over The Air) stock update

PC method

Method involving ADB based on this guide.

First make sure no OTA update gets installed automatically as this will end up in booting into TWRP and failing with the update.

Go to "Settings > System > System Update".

Open the three dots menu on the top right and select "Update Settings".

Disable automatic update download via WiFi as once updates are downloaded the phone will bug you to update and maybe tries to update itself during the night!

Start in Android but do not download the OTA update yet.

Verify connection to your phone with "adb devices", this should list your phone.

Reboot into fastboot by using "adb reboot bootloader".

Verify connection to your phone with "fastboot devices", this should list your phone.

Flash "recovery_ramdisk_nocheckP20.img" with "fastboot flash recovery_ramdisk recovery_ramdisk_nocheckP20.img". For official OTA updates that you would regularly get, the "nocheck" feature should not be needed but does not harm. This will remove TWRP and you have to flash it again after the OTA update has finished.

Reboot into Android by using "fastboot reboot".

Remove the USB cable.

Download your OTA update via "Settings > System > System Update".

Let the phone reboot to install the OTA update and follow the update until you are back in Android with your new firmware version.

Install TWRP and root again.

Standalone method

Deprecated/wrong method based on this guide.

Read first!!!

While this method should do no harm it will only ever update to CLT-L29 8.1.0.128a(C432) [hw/eu] as this is what is inside the file "update.zip" that you can currently download and that gets installed by "HuRUpdater_0.3.zip" in the same folder. This was not clearly explained in the source thread, therefore sorry about this wrong information. If you intend to update to this stock ROM continue, otherwise use the "PC method".

I will check about the best way to install OTA updates without PC interaction in the next couple of days (currently waiting for 130+ getting rolled out for me for some investigations regarding the OTA process).

First make sure no OTA update gets installed automatically as this will end up in booting into TWRP and failing with the update.

Go to "Settings > System > System Update".

Open the three dots menu on the top right and select "Update Settings".

Disable automatic update download via WiFi as once updates are downloaded the phone will bug you to update and maybe tries to update itself during the night!

Place the following files into a folder on the internal storage (for sure not all are required but this is part of the little information not clear right now):

"HuRUpdater_0.3.zip"

"recovery.img"

"update.zip"

"update_all_hw.zip"

"update_data_public.zip"

Go to "Settings > System > System Update" and check for an update.

Download the OTA update.

Do not reboot when prompted.

Make sure no lock screen or other locking is set:

"Settings > Security": Remove fingerprint, face or password locking, simply set to none.

Enter developer mode, should already been done for unlocking the bootloader.

Setting > System > Developer options: Disable the display lock.

Power down the phone.

Boot into TWRP.

Install "HuRUpdater_0.3.zip". Do not get irritated if it tells you it is for CLT-L09 instead of CLT-L29, everything is fine.

Wipe dalvik cache before rebooting.

Reboot back into Android.

Check "Magisk Manager" to see if root got removed. TWRP might get removed as well. If TWRP or root got removed, repeat the install for one or both like before.

In my case only root got removed but TWRP was kept functional. If this is the case for you as well, simply flash "Magisk-v16.4-Beta.zip" via TWRP again.

Changelog

2018-06-21

Updated/corrected wrong information collected about installing OTA updates standalone (without PC). Until further notice use the PC method.