[GUIDE] Root and keeping root options

Search This thread

Victroid

Member
Mar 23, 2013
32
6
OnePlus 8T
Hi Bill, thanks for replying. No i dont remember use MyApplication2 maybe from 10 to 11. I was updating by steps B1. This was done when I received the update notification, but I have not received it yet and I thought that I could iron the full version with B.2.1 Guide. Not even with the Bulgarian VPN I can get the update notification. What do you recommend me? Thank you
 

BillGoss

Senior Member
Sep 2, 2010
5,493
4,853
Sydney
OnePlus 8T
Hi Bill, thanks for replying. No i dont remember use MyApplication2 maybe from 10 to 11. I was updating by steps B1. This was done when I received the update notification, but I have not received it yet and I thought that I could iron the full version with B.2.1 Guide. Not even with the Bulgarian VPN I can get the update notification. What do you recommend me? Thank you
Does your EU version of About device>Update have an option for doing a local install? If it does, try that.
If not, then either wait for the update notification or go hunting in the forums for other people updating to EU OOS 13.
 

BillGoss

Senior Member
Sep 2, 2010
5,493
4,853
Sydney
OnePlus 8T
Hi Bill, thanks for replying. No i dont remember use MyApplication2 maybe from 10 to 11. I was updating by steps B1. This was done when I received the update notification, but I have not received it yet and I thought that I could iron the full version with B.2.1 Guide. Not even with the Bulgarian VPN I can get the update notification. What do you recommend me? Thank you
So I decided to play around and see how things work on EU. And in the process of doing this I discovered that @Wishmasterflo's version of Orange Fox (OF) recovery https://forum.xda-developers.com/t/...ry-project-oneplus-8t-9r-22-nov-2022.4391139/ will happily install an OOS zip that My Application 2 won't (fails verification). I used the OOS 13 v14 version of OF.
I successfully installed both NA OOS 13 and the EU OOS 13 downgrade. And also used the same OF to backup my EU OOS 12 installation!

So I suggest you try using OF to install your Oxygen Updater update zip.
 
  • Like
Reactions: Wishmasterflo

BillGoss

Senior Member
Sep 2, 2010
5,493
4,853
Sydney
OnePlus 8T
I wanted to see if keeping root on the EU OOS 13 is the same as in NA.

I've documented what I did in the attached text note.

The main things I found out are:
  • You can use the local install (About device>Update>3-dot menu>Local install) to install the downloaded (I used Oxygen Updater) OTA zip.
  • You can use Magisk to install to inactive slot when the extraction finishes and BEFORE tapping on Install.
    You should, however, pull a copy of the inactive boot image before using Magisk because it won't create a backup of the stock boot when you install to inactive.
  • You could also use Orange Fox to install the OTA and then use the the A.2 process (First time root) using Orange Fox
  • The differences between NA and EU is all in the logical partitions, with the exception of the mdm_oem_stanvbk partition. See the diff output in the attached note.
    This means that you can use the same Magisk patched boot image for both the NA and EU OOS 13. I didn't check IN but someone with it could verify if the IN boot image md5sum is the same as the NA/EU one.
  • Orange Fox will install an OTA zip even if the local installer fails verification.
  • You don't need to turn on airplane (AP) mode on EU before using a backup of /data - it was necessary on OOS 12 in TWRP. Orange Fox happily restored a backup taken without AP mode on.
 

Attachments

  • Note-eu.txt
    4.6 KB · Views: 17

Victroid

Member
Mar 23, 2013
32
6
OnePlus 8T
Hi Bill, thanks for your work. Unfortunately, my EU kb2003 version does not have the local installation option. So I just have to wait for the notification or install OF and flash the OT
 

Fredator

Member
Jan 28, 2018
19
5
Hello,
l'm a but lost in all those posts because my case is special
I never updated to android 12 !

Can someone point me a step-by-step tutorial or a precise summary on how to update my 8T from android 11.0.13.13 KB05AA - KB2003 (Europe) rooted with magisk 23 (no twrp), to Android 13 KB2003 with magisk up to date, and safety-net passed? what version, which modules?

i actually use Universal safetynet Fix V2.1.3, systemless hosts, and Riru (for calls recording if i remember well, which seems to be a thing of the past sadly (?)

Im' currently downloading a rom called KB2003_11_F.13 on oxygen updater
(And i don't need to install any custom recovery, i always only used them to boot the phone (fastboot boot) to be able to root it next)
many thanks 🙏

PS: i don't have the current stock boot image
 

Rootk1t

Senior Member
Jun 2, 2013
1,868
784
Can someone point me a step-by-step tutorial or a precise summary on how to update my 8T from android 11.0.13.13 KB05AA - KB2003 (Europe) rooted with magisk 23 (no twrp), to Android 13 KB2003 with magisk up to date, and safety-net passed? what version, which modules?
Take a look at this great thread.
 

mingkee

Senior Member
Hello,
l'm a but lost in all those posts because my case is special
I never updated to android 12 !

Can someone point me a step-by-step tutorial or a precise summary on how to update my 8T from android 11.0.13.13 KB05AA - KB2003 (Europe) rooted with magisk 23 (no twrp), to Android 13 KB2003 with magisk up to date, and safety-net passed? what version, which modules?

i actually use Universal safetynet Fix V2.1.3, systemless hosts, and Riru (for calls recording if i remember well, which seems to be a thing of the past sadly (?)

Im' currently downloading a rom called KB2003_11_F.13 on oxygen updater
(And i don't need to install any custom recovery, i always only used them to boot the phone (fastboot boot) to be able to root it next)
many thanks 🙏

PS: i don't have the current stock boot image
Unfortunately, you may need Magisk 25+ in order to use modified USNF in order to pass 2/3 play integrity
Safety Net is no longer relevant
 
  • Like
Reactions: Fredator

Fredator

Member
Jan 28, 2018
19
5
Thanks both
i'm processing your answers...
Do i have to update Magisk to 25 first, on my actual A11?
and then find the relevant part of the big post quoted by @Rootk1t and follow the tutorial to update rom?
 

Devtick.

Member
Oct 15, 2014
28
3
Malmö
OnePlus 8T
Thanks both
i'm processing your answers...
Do i have to update Magisk to 25 first, on my actual A11?
and then find the relevant part of the big post quoted by @Rootk1t and follow the tutorial to update rom?
I recently updated to A13 from A11 following these steps:
"You can use the local install (About device>Update>3-dot menu>Local install) to install the downloaded (I used Oxygen Updater) OTA zip.
You can use Magisk to install to inactive slot when the extraction finishes and BEFORE tapping on Install.
You should, however, pull a copy of the inactive boot image before using Magisk because it won't create a backup of the stock boot when you install to inactive." Credit to BillGoss.
Yes, I would update magisk to latest version before updating the android version. The only thing I haven't figured out is to get viper4android to work.
 
  • Like
Reactions: Fredator

Fredator

Member
Jan 28, 2018
19
5
Thanks @Devtick.
I have the A13 Rom from Oxygen updater too, and already backed up the boot.img from it on the computer

Your sentence, do you mean "You can use Magisk to install to inactive slot when the (rom) INSTALLATION finishes and before tapping on REBOOT" ?

If so, then it's perfect i get it, last thing i have to figure out is how to update magisk from 23 to 25 first, without f** up everything
I'm not sure if i can safely "direct install" magisk 25.2 over an already rooted magisk23 rom (?)

Thanks a lot guys
 
Last edited:

BillGoss

Senior Member
Sep 2, 2010
5,493
4,853
Sydney
OnePlus 8T
I recently updated to A13 from A11 following these steps:
"You can use the local install (About device>Update>3-dot menu>Local install) to install the downloaded (I used Oxygen Updater) OTA zip.
You can use Magisk to install to inactive slot when the extraction finishes and BEFORE tapping on Install.
You should, however, pull a copy of the inactive boot image before using Magisk because it won't create a backup of the stock boot when you install to inactive." Credit to BillGoss.
Yes, I would update magisk to latest version before updating the android version. The only thing I haven't figured out is to get viper4android to work.
Would you please share the link to that quote of mine because it is actually incorrect.

Please see section C. in the OP for the correct statement:
"When Magisk patches the boot image using either Magisk>Magisk Install>"Direct Install (Recommended)" or Magisk>Magisk Install>"Install to inactive slot" it creates a backup of the original stock boot image in a directory named /data/magisk_backup_<SHA1 of stock image>."
 

mingkee

Senior Member
Would you please share the link to that quote of mine because it is actually incorrect.

Please see section C. in the OP for the correct statement:
"When Magisk patches the boot image using either Magisk>Magisk Install>"Direct Install (Recommended)" or Magisk>Magisk Install>"Install to inactive slot" it creates a backup of the original stock boot image in a directory named /data/magisk_backup_<SHA1 of stock image>."
The writer missed some critical parts:
1. Use command to pull stock boot after OTA (or MSM read back). This will have a stock boot if reverting in Magisk doesn't work
2. Flash patched boot in fastbootd

BTW, I have yet decided to install A13 due to apps compatibility with rooted environment especially Netflix and cable TV apps
 
  • Like
Reactions: BillGoss

zander21510

Senior Member
Jan 10, 2012
550
179
Dallas
OnePlus 8
FYI, step 4 on B2.1 is wrong for Android 13 NA, I followed the steps installing to inactive slot before clicking "install now" from the MyApplication2 app in Android 12, it did end up prompting to reboot so the initial extraction does not install the boot partition, or whatever is done is overwritten during the install process.


Now my phone is f*cked as it won't boot to the old Android 12 slot..not blaming anyone but just FYI if anyone is attempting to go from rooted A12 to A13 Global using that method, make sure to install to inactive slot AFTER clicking Install Now and BEFORE rebooting...

Edit: thankfully since A13 is a full update and not incremental, if anyone runs into the same issue it's easy to patch the boot.img from the OTA using the payload dumper in the OP, boot from the patched boot, and then direct install to retain root for future OTAs.

Install the update using the appropriate local installer for your version of OOS and DO NOT reboot
Note that the OOS 13 EU/IN local installer will first extract the update (and update the inactive slot partitions) and then prompt you to Install it. It is IMPERATIVE that you DON'T CLICK on Install at this point as it will finish the installation and reboot without prompting leaving you without root.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    Well, trying to keep root with the KB2003 incremental update didn't work for me. Here's what I did.

    **F15i**
    I found that under /data/ota_package/OTA there was an incremental (~380 MB) install zip called my_manifest_kb2003_11.f.15_2150_202212052235.44.04e8330b_patch.zip/']my_manifest_KB2003_11.F.15_2150_202212052235.44.04e8330b_patch.zip
    It had showed up overnight and About Device said it had failed extraction. (Screenshot) This isn't surprising since I'm both rooted and use Orange Fox.
    But I wanted to use Local update rather than Auto update (the only option available).
    So I copied and then deleted the files under data/ota_package and backed up F13 data (using OF 14.01).
    When I had finally got rid of the pending update then I used method B.2.3 to do the update.
    ...
    And the phone wouldn't boot!
    I kept getting sent back to recovery.
    I then tried flashing the partitions in fastboot[d] as I had used payload-dumper to create full image files from F13+F15i but that gave the same result.
    ...
    So I went back to F13 by flashing the logical partitions on the F13 slot and finally got the phone working again on F13.

    I then saw that Oxygen Updater now had images available so I downloaded a full image (I call it F15ou).

    I ended up not using the Oxygen Updater download because I was concerned that all the logical partition images are different between F15i and F15ou (see **F15i vs F15ou** below).

    **How I finally updated**
    After a while back on F13 I again got a notification of an update. This time I decided to not try to keep root (as I already had a copy of the stock boot and Magisk patched boot from my previous installation attempt) but to let the system install the update.
    So I restored the stock boot (I was rooted) and recovery (I was using Orange Fox), turned on Auto update in Developer options and let the update download and install.
    I turned Airplane mode on before rebooting the phone and it came up cleanly on F15 (security patch date of 5-Dec-22).
    I then used fastboot boot <Magisk patched boot image> and then did a Direct install in Magisk and rebooted again and turned off Airplane mode.
    And now I'm finally on F15 with root and Orange Fox.

    I then dumped all the partitions that get updated and compared the md5s of the logical partitions of F15 (working) and my initial set derived from the incremental update and, while the image files are the same size, they have different md5s. So something in my initial process is flawed.
    I couldn't compare the physical partitions because the sizes created by payload-dumper are smaller than those you get when you dump a partitions. Even if the contents were the same, the md5s would be different because trailing 0 bytes change the md5sum.

    **F15i vs F15ou**
    I used payload-dumper to create full image files of F15 from F15i + F13.

    I also used Oxygen Updater to get a full update (F15ou) and used payload dumper to extract the images.

    I compared the resulting images and found out that:
    - F15i and F15ou files have exactly the same size
    - F15i and F15ou physical partition files have the same md5 - they are therefore identical
    - F15i and F15ou logical partitions all have different md5s[/icode]
    1
    Hi
    I have 8T KB2003 with android 13 F.13 and I want to install F.15 (full download with Oxygen Updater).
    7 days ago I did a hard reset.
    I follow the guide in point B.2.1 but in point 3 (Magisk>Uninstall Magisk>Restore images) Magisk tells me it can't find stock boot images (probably due to hard reset).

    How can I fix it?
    Thank you
    Firstly you'll need a copy of the stock F.13 boot image.
    Then you'll need to manually install it to the active slot. You'll find the necessary command in B.2.3 step 3.

    Fyi, I tried using B.2.3 (my preferred method) to install the INCREMENTAL update and the system wouldn't boot. It took me a really long time to get back to F.13.
    But you're using a full download so B.2.1 may work for you.
    1
    Ok. I have it.

    Ok. I'm using Adb.
    My active slot is _b
    Is this the correct commad ?
    "adb shell dd if=boot.img of=/dev/block/by-name/boot_b (or boot.img_b ???)"
    (boot.img is in the adb folder)

    I'm sorry but I'm not very practical
    Thank you in advance
    Shell commands on the phone (which is what you're running) don't have access to files on your PC.
    If you pushed the boot.img to your phone's sdcard then you could use adb shell dd if=/sdcard/boot.img of=/dev/block/by-name/boot_b

    Alternatively you could use fastboot commands in bootloader mode.

    But providing scripting help is off topic for this thread. If you need more help, pm me.
    1
    <Moderator Edit>: Removed off-topic content.
    1
    Tip:
    If you're stuck when update to F15, enable "automatic system update" in Developer Setting", and restart the update fixes the problem
  • 35
    Update 230124: Add link to unofficial TWRP for OOS 13; some corrections and clarifications

    A. First time rooting​

    OP8T Root options-First time rooting.png

    This process is common across all options

    A.1 Flashing Magisk patched boot image​

    There are two ways to sourcing a copy of the stock boot image (other than using TWRP - See A.2).
    1. Using the MSM Tool readback option to pull a copy of the current boot image from the phone
    2. Using Payload Dumper and a full update zip

    A.1.1 Using MSM Tool ReadBack​

    The MSM Tool has a feature (ReadBack) that allows it to pull copies of partitions from a phone when it is connected in EDL mode to a PC.
    This means that you can pull a copy of your currently running stock boot image directly from the (unrooted) phone and you are not dependent on having access to a full rom installation zip.
    A big thanks to @scottlam1 for this information (see https://forum.xda-developers.com/t/oxygenos-a12-breaks-rooting.4456251/post-87067419 and following). You can get a copy of the MSM Tool from @Some_Random_Username's https://forum.xda-developers.com/t/...ol-to-restore-your-device-to-oxygenos.4180837. I used the one for OOS 11.0.7.9 for KB05AA when testing this process.
    1. Find your current slot by connecting your phone to your PC and running adb shell getprop ro.boot.slot_suffix Note: on OOS 12 when you connect the phone to the PC you must enable "Transfer files" on the phone for ADB to see the device.
    2. Start MsmDownloadTool V4.0.exe
    3. Select User type: Others and click Next
    4. Press F8
    5. Select the appropriate boot partition (boot_a or boot_b based on the getprop result). Note: do NOT select both boot_a and boot_b because ReadBack will only produce one boot.img file and the _b extract will overwrite the _a extracted file.
    6. Enter the password: oneplus and then press OK. You should now see a ReadBack button underneath the Target dropdown list.
    7. Reboot the phone into EDL mode using adb reboot edl . When you see it connected to the MSM Tool - it will show an entry with COM3 (for example) - click on the ReadBack button.
      Warning: Do NOT click on the Start button as this will start the installation process and reset your phone.
    8. MSM will show "ReadBack Complete" (in green) when it has copied the boot image and power off the phone. Close the MSM tool.
    9. Disconnect the phone from the PC, turn on your phone, reconnect it to the PC, and copy the boot image (it's in C:\boot.img) to your phone.
    10. The rest of the process is the same as that in section A.1.2 below, but starting from step 6 in @DroidFreak32's guide as you already have the boot image.

    A.1.2 Using Payload Dumper​

    Notes:
    Follow the instructions detailed in @DroidFreak32's https://forum.xda-developers.com/t/...national-kb2000-kb2001-kb2003-kb2005.4178675/ paying attention to:
    1. You can use the latest stable version of Magisk (my recommendation as of June 2022)
    2. Do NOT use the "To flash" option in step 11 because this causes issues when you get the next OTA update. Use the the "To Temporarily boot into a rooted system (RECOMMENDED!!)" option.
    3. Backup both the stock boot and Magisk patched boot images if you are going to use CLI
    I also recommend that on OOS you install @kdrag0n's Universal SafetyNet Fix Magisk module v2.4.0 or later to pass Play Integrity with an unlocked bootloader (https://github.com/kdrag0n/safetynet-fix/releases).

    A.2 Using TWRP or Orange Fox​

    I will use TWRP throughout the document to mean TWRP or Orange Fox unless indicated otherwise.
    I use the TWRP installer zip to create an installer for Orange Fox by replacing the recovery.img file in the TWRP installer zip with the Orange Fox recovery image (the file has to be named recovery.img). The advantage of this is that you can then flash the recovery zip in recovery as well as in Magisk (install it as a module). And the installer zip will flash recovery to both slots.
    Notes:
    1. Boot bootloader
    2. fastboot boot <twrp.img>
    3. (optional - see next item) Backup current boot
    4. Install Magisk-*.apk and note that Magisk will create a backup of the current stock boot (see section C)
    5. Install@kdrag0n's Universal SafetyNet Fix Magisk module v2.4.0 or later to pass Play Integrity with an unlocked bootloader (https://github.com/kdrag0n/safetynet-fix/releases)
    6. Reboot system
    7. Uninstall Magisk stub
    8. Install Magisk-*.apk and in Magisk>Settings enable both Zygisk and Enforce DenyList
    9. Reboot system

    A.2.1 Keep TWRP​

    If you want to keep TWRP installed then the process is very similar to that described for Magisk. The difference is that this time we backup recovery and install TWRP. You can merge the Magisk process with the TWRP process by: Backing up current boot and recovery; Installing both the Magisk-*.apk and the TWRP installer zip.
    Here's the process for just TWRP:
    1. Boot bootloader
    2. fastboot boot <twrp.img>
    3. Backup current recovery
      Note: the TWRP backups of physical partitions (like boot and recovery and so on) are actually image dumps. You could rename the files from *.emmc.win to *.img and install them using TWRP or other methods.
    4. Install TWRP installer zip
    5. Reboot system

    B. Keeping root during an update​

    OP8T Root options-Keeping root.png

    B.1 System Update downloads and installs the update​

    This is using the built-in System Update tool, which you'll find in:
    • OOS 11: Settings>System settings> System Update
    • OOS 12 and higher: Settings>About device>Software update
    The process is complicated because you cannot use Magisk>Magisk Install>"Install to inactive slot" as this will fail on OOS 11 (for incremental updates) and OOS 12 (for all updates, including the initial update from OOS 11 to OOS 12) and yet to be tested on OOS 13. The following process is courtesy of @osm0sis in https://forum.xda-developers.com/t/...ices-platforms.2239421/page-149#post-84764713 and @rage302 in https://forum.xda-developers.com/t/...ing-root-options.4387977/page-4#post-86830285.
    1. Restore the current stock boot image using Magisk>Uninstall Magisk>"Restore images" and DO NOT reboot
    2. Download and Install the update (and DO NOT reboot) using:
      OOS 11: Settings>System Settings>System Update>Download and Install
      OOS 12 and higher: Settings>About device>Software update
    3. Copy the updated boot image as follows:
      • On PC:Find the inactive slot suffix:
        • adb shell getprop ro.boot.slot_suffix Note: on OOS 12 when you connect the phone to the PC you must enable "Transfer files" on the phone for ADB to see the device.
        • If the result is _a then the inactive slot suffix is _b otherwise it is _a
      • Take a copy of the inactive slot boot image: adb shell su -c dd if=/dev/block/by-name/boot<inactive slot suffix> of=/sdcard/oos-ota-boot.img replacing <inactive slot suffix> with the value you previously determined (_a or _b). Note: Magisk may prompt you (on your phone) to grant root access to Shell - grant it.
    4. On phone: Patch the dumped oos-ota-boot.img using Magisk>Magisk Install>"Select and Patch a File"
    5. Copy /sdcard/Download/magisk_patched*.img to your PC
    6. Restore root to the current slot using Magisk>Magisk Install>"Direct Install (Recommended)". This is so you keep root in case the update somehow fails and you're returned to the current system.
    7. Turn on Airplane Mode to prevent Google Play Services detecting that the phone is bootloader unlocked and making your phone uncertified in Google Play.
    8. Reboot the phone from the System Update dialog; verify that you are now running the updated version
    9. On PC: Reboot to bootloader using adb reboot bootloader
    10. Boot (NOT flash) the patched boot image: fastboot boot <magisk-patched image> where <magisk-patched image> is the patched image you transferred to the PC
    11. On phone: Verify that Magisk shows you are rooted
    12. Make rooting permanent using Magisk>Magisk Install>"Direct Install (Recommended)" and reboot again
    13. Turn off Airplane Mode

    B.2 Manual Install​

    This involves manually downloading the update zip and then installing it using one of the following options.
    It is up to you to download the update (from whichever source you use).

    How I get a copy of the update zip
    Note: I'm running the NA version of OOS. If the URL below for the OTA is different for other OOS versions, please let me know via a PM.
    Once the phone tells me that there's an update available I do the following in Termux (https://f-droid.org/en/packages/com.termux/):
    1. su -c "logcat -d" | grep -Eo "https://android.googleapis.com/packages/ota-api/package/[a-z0-9]*.zip"
      This looks for the the Google OTA server file name in logcat and returns the source address. For example, the KB2005 C.11 full update was https://android.googleapis.com/packages/ota-api/package/435fc808f603bbc8a63ce30fd944676a65a61d6f.zip
      Note 1: You should run these commands as soon as you get a notification that you have the update. If you leave it too long then the log file will roll over and you won't be able find the url.
      Note 2: You could also use adb shell to run the logcat -d | grep ... commands, though I've never done that because I prefer to do everything on my phone, where possible.
    2. wget -O /sdcard/oos-ota-update.zip <source address>
      This pulls a copy of the file to /sdcard.
      Note: You could also just paste the URL into a browser to download the file.

    B.2.1 Local Install​

    This is using:
    1. If you have TWRP installed then reboot recovery, restore the stock OOS recovery (you would/should have taken a copy of it when you installed TWRP as mentioned in A.2.1), and reboot system. Without doing this, an incremental OTA will fail when it checks for the stock recovery.
    2. Move the update zip to /sdcard (NOT a subdirectory of /sdcard)
    3. Magisk>Uninstall Magisk>Restore images - this restores the stock boot image whilst keeping Magisk
    4. Install the update using the appropriate local installer for your version of OOS and DO NOT reboot
      Note that the OOS 13 EU/IN local installer will first extract the update (and update the inactive slot partitions) and then prompt you to Install it and it is IMPERATIVE that you DON'T CLICK on Install at this point as it will finish the installation and reboot without prompting, leaving you without root.
    5. Restore root to the current slot using Magisk>Magisk Install>"Direct Install (Recommended)". This is so you keep root in case the update somehow fails and you're returned to the current system.
    6. Root the updated boot image using Magisk>Magisk Install>"Install to inactive slot"
    7. On OOS 13 now tap on Install in the local updater process; on OOS 11 and 12 reboot
    8. To re-install TWRP, follow the process in A.2.1

    B.2.2 Using TWRP (placeholder)​

    There may be a way of using TWRP but I've never tried it.

    B.2.3 Using CLI​

    CLI (command line interface) tools, such as Terminal (I use Termux from https://f-droid.org/en/packages/com.termux/) or ADB shell, allows you to manually download delta updates avoiding the need to wait for full updates or for someone to post a copy of the delta update zip.
    If you use Terminal then you can install updates without the need of a PC (my preferred option).
    Using line commands, at one level, can simplify some processes by avoiding the need to switch out to recovery and back again. On the other hand, they complicate things by requiring knowledge of how to use them.
    The commands you need to be familiar with are:
    • dd to read-from/write-to the partitions in /dev/block/by-name
    • grep to scan the output of a logcat
    • getprop to find out which are the active/inactive slots
    • logcat to read the Android logs
    • su to run commands as root
    1. Get a copy of the update zip
      Note: I'm running the NA version of OOS. If the URL below for the OTA is different for other OOS versions, please let me know via a PM.
      Once the phone tells me that there's an update available I do the following in Termux:
      1. su -c "logcat -d" | grep -Eo "https://android.googleapis.com/packages/ota-api/package/[a-z0-9]*.zip"
        This looks for the the Google OTA server file name in logcat and returns the source address. For example, the KB2005 C.11 incremental update was https://android.googleapis.com/packages/ota-api/package/435fc808f603bbc8a63ce30fd944676a65a61d6f.zip
        Note: You should run these commands as soon as you get a notification that you have the update. If you leave it too long then the log file will roll over and you won't be able find the url.
      2. wget -O /sdcard/oos-ota-update.zip <source address>
        This pulls a copy of the file to /sdcard
        Note: You could also just paste the URL into a browser to download the file
    2. Find the active slot suffix: getprop ro.boot.slot_suffix
      If the result is _a then the inactive slot suffix is _b otherwise it is _a
    3. Restore active slot stock boot/recovery (recovery: only if TWRP is installed) using dd if=<copy of stock boot/recovery> of=/dev/block/by-name/<boot/recovery><active slot suffix>
      Note: you could also use Magisk to restore the stock boot using Magisk>Uninstall Magisk>Restore images - this restores the stock boot image whilst keeping Magisk
    4. Install the update using the appropriate local installer for your version of OOS and DO NOT reboot
      Note that the OOS 13 EU/IN local installer will first extract the update (and update the inactive slot partitions) and then prompt you to Install it. It is IMPERATIVE that you DON'T CLICK on Install at this point as it will finish the installation and reboot without prompting leaving you without root.
      The local installer is:
    5. Backup the new inactive slot stock boot/recovery (recovery: only if TWRP is installed) using dd if=/dev/block/by-name/<boot/recovery><inactive slot suffix> of=<new boot/recovery img>
    6. Restore root to the current active slot dd if=<copy of current Magisk patched stock boot/recovery> of=/dev/block/by-name/<boot/recovery><active slot suffix>. This is so you keep root in case the update somehow fails and you're returned to the current system.
      Note: You could also use Magisk>Magisk Install>"Direct Install (Recommended)"
    7. (ONLY if keeping TWRP) Magisk>Modules>Install from storage: Select <twrp-installer.zip>
    8. Magisk>Magisk Install>"Install to inactive slot" and DO NOT reboot
    9. Backup the new Magisk patched stock boot using dd if=/dev/block/by-name/<boot><inactive slot suffix> of=<new Magisk patched boot img>
    10. On OOS 11 and 12: Reboot. On OOS 13 now tap on Install in the local installer to finish the installation.

    C. A note on Magisk backup folders in /data​

    When Magisk patches a stock boot image using either Magisk>Magisk Install>"Direct Install (Recommended)", Magisk>Magisk Install>"Install to inactive slot", or is installed in TWRP, then it creates a backup of the stock boot image in a directory named /data/magisk_backup_<SHA1 of stock image>.
    When you use Magisk>Uninstall Magisk>Restore images the backup corresponding to the current patched boot image is used to restore the stock image to the current (active) slot.
    Clearly, if you deleted these magisk_backup directories then Magisk will not be able to restore the stock boot image. You must, therefore, always keep the current backup.
    If you don't delete these backups you can end up with a lot of obsolete backups. So, how to work out which one is the one you need to keep?
    The simplest way is to:
    1. Restore the current stock boot image using Magisk>Uninstall Magisk>Restore images
    2. Delete all the /data/magisk_backup_* directories
    3. Restore the rooted boot image using Magisk>Magisk Install>"Direct Install (Recommended)" - this also creates a new magisk_backup directory (no need to reboot)
    4
    FYI, I've updated the OP for OOS 13 and now also include both TWRP and Orange Fox as custom recovery.
    3
    I'm very pleased to announce that I've updated the OP with a significant new process (see section A.1.1) for first time rooting.
    You now no longer need to rely on a full update zip being available as you can use the MSM Tool to pull the stock boot image directly from your phone.
    I'm indebted to @scottlam1 for sharing this feature of the MSM Tool.
    (And, yes, I've tested this)
    3
    Okay I was courious and tried to root my KB2005 (GLO) with incremental Update .C16 (since there is no Full OTA yet).
    I used @BillGoss guide from OP (Update 20220427 WIP) in combination with @osm0sis method (also mentioned in OP and it worked! -> Kudos to both of them.
    These were my steps:

    1. UNROOT current slot in magisk app (=uninstall +restore images) WITHOUT REBOOTING
    2. Download and Install the C16 incremental update from built-in Software Update function WITHOUT REBOOTING
    3. Dump the fresh updated boot_img from the inactive slot (find your active slot with ->
      Code:
      adb shell getprop ro.boot.slot_suffix
      using the command BillGoss mentioned ->
      Code:
      adb shell su -c dd if=/dev/block/by-name/boot_b of=/sdcard/update-boot.img
      (in my case the inactive slot=b please change accordingly refering to your currently inactive slot -> boot_a or boot_b)
    4. patch the dumped update-boot.img with magisk -> "Select and Patch a File"
    5. copy the magisk_patched.img to your PC
    6. Re-root the current slot using the Magisk app direct Install, so in case the update somehow fails you'll be back where you started (rooted on the current slot) (THX to osm0sis for this step)
    7. turn on Airplane Mode
    8. reboot phone from update dialog, let it boot up and check if you are now on the updated slot
    9. reboot to fastboot e.g. using this command ->
      Code:
      adb reboot bootloader
    10. fastboot boot the magisk_patched.img ->
      Code:
      fastboot boot .\magisk_patched.img
    11. boot up and check in magisk app if you are now rooted
    12. in magisk app do a "Direct Install" and reboot again
    13. now you are on the updated slot with persistent magisk root
    14. turn off Airplane Mode and enjoy.
    greetings rage
    3
    @BillGoss Hello, I was in oos11 Root without twrp. In oos11 to make the upgrade, I made installation in local mode, then in magisk I reinstalled the one "after OTA" then reboot. To upgrade to OOS12 I did the same thing. But now, how to make an upgrade C15 -> C16 for example, without brick the phone since there is no more the option to install in local mode (Gear icon) ???
    Install this and you will have local upgrade