[Help] Be able to install OTA with loosing Root and Data - Redmi K20 / Xiaomi Mi 9T Questions & Answers

Hi,
I have a Xiaomi Mi 9T Pro Global with :
- Bootloader unlocked
- TWRP v3.3.1-0 (lastest)
- Magisk Manager v7.5.1 (lastest)
- Magisk v20.4 (lastest)
So I am rooted and want to keep it (with my data). ^^
Problem: I am still on MIUI v10.3.3.0 and can't install OTA because it makes me reboot on TWRP
I found some different posts like :
Link: https://www.the***********.com/install-ota-update-rooted-android-device-guide/
-> It doesn't work for me because I don't have the A/B partition (message from Magisk when I tried to flash it) and I don't have the "Install to Inactive Slot (After OTA)" option...
Link: https://forum.xda-developers.com/mi-9t/how-to/guide-easiest-to-root-twrp-t4000209
-> I don't know if I have to do it, and when? (if needed, I have the boot.img of my current Global v10.3.3.0)
It seem I have to restore my stock recovery?
-> I see how to do it from TWRP, but I don't have the recovery.img file
How can I install OTA without lose my root and my data?
Thank you in advance,
Best regards.

ptit developer said:
Hi,
I have a Xiaomi Mi 9T Pro Global with :
- Bootloader unlocked
- TWRP v3.3.1-0 (lastest)
- Magisk Manager v7.5.1 (lastest)
- Magisk v20.4 (lastest)
So I am rooted and want to keep it (with my data). ^^
Problem: I am still on MIUI v10.3.3.0 and can't install OTA because it makes me reboot on TWRP
I found some different posts like :
Link: https://www.the***********.com/install-ota-update-rooted-android-device-guide/
-> It doesn't work for me because I don't have the A/B partition (message from Magisk when I tried to flash it) and I don't have the "Install to Inactive Slot (After OTA)" option...
Link: https://forum.xda-developers.com/mi-9t/how-to/guide-easiest-to-root-twrp-t4000209
-> I don't know if I have to do it, and when? (if needed, I have the boot.img of my current Global v10.3.3.0)
It seem I have to restore my stock recovery?
-> I see how to do it from TWRP, but I don't have the recovery.img file
How can I install OTA without lose my root and my data?
Thank you in advance,
Best regards.
Click to expand...
Click to collapse
You can keep TWRP and Magisk module, you will only need to patch the boot image and install it from TWRP to regain root after the OTA
- Download full Recovery/zip package 2.4 GB for your MI/IN/EU/RU you currently have with MIUI 10
- Flash that zip from TWRP (Install, zip)
- Reboot to TWRP, not to Android, otherwise you will loose TWRP
- Backup Boot in TWRP
- Reboot to Android. You shouldn't have lost your apps and settings. Magisk Manager will be there but no root
- From Magisk Manager take Install, keep Preserve AVB and Preserve Encryption (first two) but UNCHECK Recovery mode
- Choose to Patch image and navigate to the Boot backup you just made in TWRP, boot.emmc.win, 128 MB
- Reboot to TWRP, take Install, Image (not zip) and navigate to magisk_patched.img in Download
- Upon installing keep in TWRP and Wipe Dalwik and Cache, ONlY
-Reboot to Android - you will have root, your previous modules, rooted apps, all
PS: Doing OTA from System Update requires stock Recovery - that's why it reboots for you to TWRP and fails.
To be able to do OTA that way, you would need to first flash back your stock Recovery.
Then OTA update will fail and you wouldl have to force Full OTA.
At the end, you would also loose root - hence the above procedure is simpler, you even don't need PC, you will keep TWRP and you will only need to patch and install the patched boot image to regain root

Hi and thank you @zgfg,
So if I correctly understand, to be able to make OTA without losing my data and restore root, I have to :
1. Install stock ROM
-> When I did it on previous phone, I always lose everything, so are you sure?
2. Restart in TWRP (to not lose it)
3. Backup boot via TWRP
4. Go in Magisk Manager, and check "keep Preserve AVB" and "Preserve Encryption", but uncheck "Recovery mode"
5. Click on "Install" and choose "Patch image", then selected the boot image previous made with TWRP
6. Reboot in TWRP to install (image, not zip) this file created in the 5.
7. Wipe Dalvik and Cache
8. Enjoy
I found the following link on mi.com to allow me to download the Global v10.3.3.0 (zip and tar.gz) :
Link: https://c.mi.com/thread-2459743-1-0.html
Is it the good one?
Can I simply extract the boot.img of the file downloaded in the 1. and go directly to the 4. ?
Thank you in advance,
Best regards.

ptit developer said:
Hi and thank you @zgfg,
So if I correctly understand, to be able to make OTA without losing my data and restore root, I have to :
1. Install stock ROM
-> When I did it on previous phone, I always lose everything, so are you sure?
2. Restart in TWRP (to not lose it)
3. Backup boot via TWRP
4. Go in Magisk Manager, and check "keep Preserve AVB" and "Preserve Encryption", but uncheck "Recovery mode"
5. Click on "Install" and choose "Patch image", then selected the boot image previous made with TWRP
6. Reboot in TWRP to install (image, not zip) this file created in the 5.
7. Wipe Dalvik and Cache
8. Enjoy
I found the following link on mi.com to allow me to download the Global v10.3.3.0 (zip and tar.gz) :
Link: https://c.mi.com/thread-2459743-1-0.html
Is it the good one?
Can I simply extract the boot.img of the file downloaded in the 1. and go directly to the 4. ?
Thank you in advance,
Best regards.
Click to expand...
Click to collapse
In the first post you said that you already have v10.3.3.0 and that you want to update
Hence why would you now download v10.3.3.0 - you should download v11 (supposidely), that the same newer version that OTA offers you
Yes, you can extract boot.img from that newer MIUI (v11) that you will download and flash but that requires PC - in my instructions you simply use TWRP and make backup of the boot image upon you do update
By extracting boot.img from v11 you will not save any step, you still must flash its zip (not tgz) from TWRP and you must nevertheless reboot to TWRP first
---
By flashing OTA zip (full, 2.4 GB) from TWRP, you should not loose your data and apps. I did it with Mi 9T (not PRO - you are not on the PRO forum) but things must work the same way for PRO for Global or EU (you must update to the same Global, EU, Indian, Russian as you already have, just fownload the same newer version that OTA offers you)

Hi back,
Yes, I am in Global (EU) v10.3.3.0 and I should want to use OTA (first I have, it is to go on v10.3.4.0, and I guess, I will have more after until v11).
So I can use directly v11 one?
Thank you in advance,
Best regards.

ptit developer said:
Hi back,
Yes, I am in Global (EU) v10.3.3.0 and I should want to use OTA (first I have, it is to go on v10.3.4.0, and I guess, I will have more after until v11).
So I can use directly v11 one?
Thank you in advance,
Best regards.
Click to expand...
Click to collapse
Better follow what OTA gives you. Find and download Recovery/zip for that Global v10.3.4.0 and install as suggested.
Later similarly follow the version numbers the same way as they come by OTA

Related

Magisk + dm-verity + decrypt data partition

So, I wanted to have a stock rom, rooted with magisk, and data partition decrypted, so what I did is the following:
1) wiped data partition
2) flashed stock OOS (latest, 5.1.6)
3) flashed Magisk
4) flashed DM-verity & force encryption disabler (this link)
Now I have a few questions:
1) I tried flashing the dm-verity from this link (no_verity_op5_v2.zip) but it didn't work so I flashed this newer version (disable_dm_verity_forceencrypt_09_02_2018.zip). Any ideas why it didn't work?
2) What should I do when a new OOS update comes up?
3) What should I do when a new Magisk update comes up?
Regadring Magisk: In Magisk there is a option "Preserve AVB 2.0/dm-verity":
1) What does it do?
2) What is AVB 2.0 in the first place?
Thank You all in advance
0v3rl0rd said:
So, I wanted to have a stock rom, rooted with magisk, and data partition decrypted, so what I did is the following:
1) wiped data partition
2) flashed stock OOS (latest, 5.1.6)
3) flashed Magisk
4) flashed DM-verity & force encryption disabler (this link)
Now I have a few questions:
1) I tried flashing the dm-verity from this link (no_verity_op5_v2.zip) but it didn't work so I flashed this newer version (disable_dm_verity_forceencrypt_09_02_2018.zip). Any ideas why it didn't work?
2) What should I do when a new OOS update comes up?
3) What should I do when a new Magisk update comes up?
Regadring Magisk: In Magisk there is a option "Preserve AVB 2.0/dm-verity":
1) What does it do?
2) What is AVB 2.0 in the first place?
Thank You all in advance
Click to expand...
Click to collapse
Answers:
1. It didn't work because you have to flash that zip BEFORE you flash Magisk (it's stated in the thread's first post too). The zip creates the required files which tells Magisk to disable dm-verity and forceencrypt when it is flashed.
2. When a new OOS comes out, all you have to do is dirty flash it, then the universal zip and then Magisk. You should be unencrypted with the new OOS as well.
3. The universal zip will most likely be updated if there are major changes in Magisk, but if not, then just update Magisk as usual, from within Magisk Manager. If you wish to update from TWRP by flashing the latest Magisk zip, then you have to remember to flash the universal zip BEFORE the newest Magisk zip and you should be fine.
Regarding your other queries, AVB refers to "Android Verified Boot". Google it and you'll find lots of information about it (which may be technical). Regarding the option in Magisk, it's for those people who want to let dm-verity intact while using Magisk (because some phones don't boot when dm-verity is disabled and hence this option is there for those people). Don't fiddle with it since you want to stay unencrypted and disabling dm-verity causes no issues on the OnePlus 5.
shadowstep said:
Answers:
1. It didn't work because you have to flash that zip BEFORE you flash Magisk (it's stated in the thread's first post too). The zip creates the required files which tells Magisk to disable dm-verity and forceencrypt when it is flashed.
2. When a new OOS comes out, all you have to do is dirty flash it, then the universal zip and then Magisk. You should be unencrypted with the new OOS as well.
3. The universal zip will most likely be updated if there are major changes in Magisk, but if not, then just update Magisk as usual, from within Magisk Manager. If you wish to update from TWRP by flashing the latest Magisk zip, then you have to remember to flash the universal zip BEFORE the newest Magisk zip and you should be fine.
Regarding your other queries, AVB refers to "Android Verified Boot". Google it and you'll find lots of information about it (which may be technical). Regarding the option in Magisk, it's for those people who want to let dm-verity intact while using Magisk (because some phones don't boot when dm-verity is disabled and hence this option is there for those people). Don't fiddle with it since you want to stay unencrypted and disabling dm-verity causes no issues on the OnePlus 5.
Click to expand...
Click to collapse
Thank You for Your answer
Regarding point 2 - OOS update: should I reboot after every step or no?
I mean:
1. dirty flash OS
2. reboot to recovery
3. flash universal zip
4. reboot to recovery
5. flash magisk
6. reboot to recovery
Or should I do that without rebooting: flash everything and then reboot to recovery?
0v3rl0rd said:
Thank You for Your answer
Regarding point 2 - OOS update: should I reboot after every step or no?
I mean:
1. dirty flash OS
2. reboot to recovery
3. flash universal zip
4. reboot to recovery
5. flash magisk
6. reboot to recovery
Or should I do that without rebooting: flash everything and then reboot to recovery?
Click to expand...
Click to collapse
It's not necessary to reboot to recovery after each step.

What is safe way to install TWRP and keep root in between OTA update updating in OS

vukis said:
vukis said:
1. Magisk Manager Tap "Uninstall" > Tap "Restore
Images" (DO NOT REBOOT)
2. Now Run the System update to download and install the
full OTA zip (DO NOT REBOOT)
3. Close all background apps
4. Open Magisk > Tap "Install" Tap "install" again Tap
"Install to Inactive/Second Slot (After OTA)"
5. Finally tap Reboot after Magisk installation is complet
Click to expand...
Click to collapse
Just tried this method with local upgrade. It works indeed! Thanks!
But TWRP got lost from local upgrade. So after restarting flashed twrp-installer-fajita-3.2.3-37.zip via Magisk Manager. But install script anounced that I am now unrooted.
Restarting phone confirmed that.
Anyway installed root again via TWRP.
What is safe way to install TWRP in between those 5 update OTA+keep root steps?
Click to expand...
Click to collapse
What is safe way to install TWRP in between those 5 update OTA+keep root steps? I once tried some kind of "OTA" update via twrp, but all was lost. (Could be a bit older twrp version without pattern unlock)
Why not just download the ZIP from the TWRP rather than use the OTA method?
The zips are available here.
I never uninstall magisk by the way. However that is part of the instructions. There are TWRP instructions, it's the third post, I believe.
OhioYJ said:
Why not just download the ZIP from the TWRP rather than use the OTA method?
The zips are available here.
I never uninstall magisk by the way. However that is part of the instructions. There are TWRP instructions, it's the third post, I believe.
Click to expand...
Click to collapse
Well I used this thread (How to Update/Return to Stock your OnePlus 6/6T(ROOT | NO ROOT | STOCK BASED |OTHERS)) from @mauronofrio as my guide. And in 2nd paragraph it states:
2. I have a stock rom with an unlocked bootloader and I'm rooted or I made some modifications:
You can use:
Local Update Method (Recommended)
Fastboot Update Method
TWRP Update Method
MSM Tool Restore Method
Local update method is recommended. So I was following this "general knowledge". Also I lost all user data (with nandroid backup) updating via twrp. Could be that my TWRP was outdated, but I would rather not to loose my user data again :/
Are you just OOS, rooted, TWRP?
I just flash the ZIP in twrp, flash twrp installer, reboot recovery, flash magisk. You can Repeat those steps if you want to update both slots. No reason to complicate it. I've never lost any data. The only time I format or lose data is going between OOS and AOSP roms. Then it is definitely important to backup data (always important to backup data anyways though).

Update system without computer and preserve TWRP?

Is there a way to update system to .14 and preserve TWRP?
I know that I can preserve Magisk, but I don't want to lose TWRP because I need to flash few more things.
Two more constraints:
I don't want to lose data
I don't have access to pc
In what steps I can achieve it, if any?
Yes, just go to TWRP with your OTA file, install the OTA file (in TWRP!), don't restart and install the ZIP file of the TWRP, reboot to recovery, flash magisk and reboot. Done. You'll still with your TWRP, rooted and updated.
MatheusPimentel said:
Yes, just go to TWRP with your OTA file, install the OTA file (in TWRP!), don't restart and install the ZIP file of the TWRP, reboot to recovery, flash magisk and reboot. Done. You'll still with your TWRP, rooted and updated.
Click to expand...
Click to collapse
Exactly. But make sure to only use the full OTA and not the incremental one.
Full guide
1. Go to TWRP
2. Flash FULL ROM
3. Flash TWRP INSTALLER (if u fail to u will lose TWRP)
4. Reboot your device. (yes boot it...and access your phone)
5. Reboot back to TWRP
6. Flash Magisk
Working method...tried nd tested 50+ times
The following also works. Follow it precisely.
> Install the update through the OS Update UI.
> Open Magisk Manager and find the module that preserves TWRP. Flash it. It won't appear in the module list. Don't restart yet, you'll lose Magisk if you do.
> Open Magist Manager and click "install". Install to inactive slot (OTA)
> Reboot!
Done this a few times now, it's actually more convenient than booting to TWRP.
I use always that way. The module is called TWRP_A_B_Retention_Script-Magisk.zip.
Open Magisk Manager > Downloads and it's called : TWRP A/B Retention Script.
To find it easy order by name. Default it's by last update.
https://forum.xda-developers.com/showpost.php?p=79358976&postcount=2012
Done.
Thank you all.

[GUIDE] Root OOS with TWRP

Update 220823: Update for TWRP 12 and some other minor changes due to the switch from SafetyNet API to Play Integrity API
Updated 211203: include Magisk Canary
Edited 220113: correct a mistake in the Keeping Root process; some formatting changes
I keep seeing posts that say you can't root OOS after an OTA unless you have a full image installation zip. That's just not true these days (September 2021).
You can use @osm0sis' method in https://forum.xda-developers.com/t/...ices-platforms.2239421/page-149#post-84764713
And @g96818 suggests using "Install to inactive slot" which works provided you do it properly - see https://forum.xda-developers.com/t/...00-kb2001-kb2003-kb2005.4178675/post-85801253.
And here's how to do it using TWRP.
What you'll need:
OOS 11: TWRP image (.img) and (optionally) installer zip from https://forum.xda-developers.com/t/recovery-11-alpha-teamwin-recovery-project-8t-kebab.4302449
OOS 12: TWRP image (.img) and (optionally) installer zip from https://forum.xda-developers.com/t/...win-recovery-project-8t-9r-2022-07-27.4473983
Magisk apk - using stable from https://github.com/topjohnwu/Magisk/releases or using Canary from https://github.com/topjohnwu/magisk-files/tree/canary
Universal SafetyNet Fix (UNSF-MOD) by @Displax from https://github.com/Displax/safetynet-fix/tree/integrity
I'm also assuming you have an unlocked bootloader, know how to use fastboot, how to use TWRP, and how to use Magisk.
I'll go through rooting a currently unrooted version of OOS and then doing an incremental update OTA.
Root unrooted OOS
Install the Magisk APK. I find that this works nicer than letting the stub download the full app the first time you use it.
Boot into bootloader mode.
Boot TWRP using fastboot boot x.img where x.img is the TWRP image file.
Take a backup of the current boot and recovery partitions as you'll need them for successfully updating when the next incremental OTA becomes available.
Install the Magisk APK, just like you would install any zip file in TWRP. Note: the APK must be named Magisk-*.apk otherwise TWRP won't list it. Also install USNF if you are using Magisk Canary.
If you want to keep TWRP then install the TWRP installer zip.
Reboot.
If you are using Magisk Canary, in Magisk>Settings enable Zygisk, Enforce DenyList, and Configure DenyList. Then reboot.
Keeping Root on an incremental OTA update
Note: you do NOT need to (but can if you want to) follow this process if you're installing a full OTA. You only need to install the full OTA and then install Magisk to the inactive slot and reboot from Magisk when it prompts you.
If your phone tells you you have an update:
If you have TWRP installed, then boot into TWRP and restore the stock recovery and reboot.
In Magisk tap on "Uninstall Magisk" and select "Restore images".
Install the OTA update but don't reboot yet.
Turn on airplane mode so that apps can't call SafetyNet when you reboot the phone without root.
Reboot
When the phone has successfully rebooted the updated system, boot into bootloader mode.
Boot TWRP using fastboot boot x.img where x.img is the TWRP image file.
Take a backup of the current recovery partition as you'll need it for successfully updating when the next incremental OTA becomes available.
Install the Magisk APK, just like you would any zip file in TWRP. Note: the APK file name must start with Magisk- otherwise TWRP won't list it. Your existing Magisk settings, modules, and [hidden] Magisk app will be preserved.
If you want to keep TWRP then flash the TWRP installer zip.
Reboot and disable airplane mode.
BillGoss said:
I keep seeing posts that say you can't root OOS after an OTA unless you have a full image installation zip. That's just not true these days (September 2021).
You can use @osm0sis' method in https://forum.xda-developers.com/t/...ices-platforms.2239421/page-149#post-84764713
And @g96818 suggest this method (https://forum.xda-developers.com/t/...1-kb2003-kb2005.4178675/page-25#post-85386145) but this doesn't work for everybody (it doesn't for me).
And here's how to do it using TWRP.
What you'll need:
• TWRP image (.img) and (optionally) installer zip from https://forum.xda-developers.com/t/recovery-11-alpha-teamwin-recovery-project-8t-kebab.4302449/
• Magisk apk - I'm using v23.0 stable from https://github.com/topjohnwu/Magisk/releases/
I'm also assuming you have an unlocked bootloader, know how to use fastboot, how to use TWRP, and how to use Magisk.
I'll go through rooting a currently unrooted version of OOS and then doing an incremental update OTA.
Root unrooted OOS
1. Install the Magisk APK. I find that this works nicer than letting the stub download the full app the first time you use it.
2. Boot into bootloader mode
3. Boot TWRP using fastboot boot x.img where x.img is the TWRP image file
4. Take a backup of the current boot and recovery partitions as you'll need them for successfully updating when the next incremental OTA becomes available
5. Install the Magisk APK, just like you would install any zip file in TWRP. Note: the APK must be named Magisk-*.apk otherwise TWRP won't list it.
6. If you want to keep TWRP then install the TWRP installer zip.
7. Reboot
Keeping Root on an OTA update
If your phone tells you you have an update:
1. If you have TWRP installed, then boot into TWRP and restore the stock recovery and reboot
2. In Magisk tap on "Uninstall Magisk" and select "restore images". Or, if you're like using terminal commands, restore the stock boot image (you backed it up with TWRP) to the current slot using dd
3. Install the OTA update but don't reboot yet.
4. Turn on airplane mode so that apps can't call SafetyNet when you reboot the phone without root
5. Reboot
6. When the phone has successfully rebooted the updated system, boot into bootloader mode
7. Boot TWRP using fastboot boot x.img where x.img is the TWRP image file
8. Take a backup of the current boot and recovery partitions as you'll need them for successfully updating when the next incremental OTA becomes available
9. Clean up old Magisk backup copies of stock boot images by using File Manager to delete /data/magisk_backup_* directories
10. Install the Magisk APK, just like you would any zip file in TWRP. Note: the APK file name must start with Magisk- otherwise TWRP won't list it. Your existing Magisk settings, modules, and [hidden] Magisk app will be preserved.
11. If you want to keep TWRP then flash the TWRP installer zip.
12. Reboot and disable airplane mode
Click to expand...
Click to collapse
ctsProfile fails. Is there a way to fix it? Tried stable Magisk and Canary.
morphius88 said:
ctsProfile fails. Is there a way to fix it? Tried stable Magisk and Canary.
Click to expand...
Click to collapse
Best place for getting support for Magisk is https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/
Hi,
Thanks for the guide!
What can i do if i forgot to backup stock boot and recovery?
berthur said:
Hi,
Thanks for the guide!
What can i do if i forgot to backup stock boot and recovery?
Click to expand...
Click to collapse
You have a number of options:
If your update was an incremental OTA:
1. Ask in the Q&A forum or in one of the update threads if someone can share those two partitions with you.
2. If you're on 11.0.10.10kb05aa then you can get boot from a number of the update/rooting threads and the recovery from this thread by @mslezak https://forum.xda-developers.com/t/...-rooted-users-install-from-fastbootd.4316147/
3. Use this tool by @mslezak to create the full partitions from an incremental update https://forum.xda-developers.com/t/...urrently-op8t-11-0-9-9-kb05aa-posted.4314677/
If you updated using a full installation zip:
- use payload dumper to extract the two partitions from payload.bin
BillGoss said:
You have a number of options:
If your update was an incremental OTA:
1. Ask in the Q&A forum or in one of the update threads if someone can share those two partitions with you.
2. If you're on 11.0.10.10kb05aa then you can get boot from a number of the update/rooting threads and the recovery from this thread by @mslezak https://forum.xda-developers.com/t/...-rooted-users-install-from-fastbootd.4316147/
3. Use this tool by @mslezak to create the full partitions from an incremental update https://forum.xda-developers.com/t/...urrently-op8t-11-0-9-9-kb05aa-posted.4314677/
If you updated using a full installation zip:
- use payload dumper to extract the two partitions from payload.bin
Click to expand...
Click to collapse
Than you!
Hello!
Does someone have a backup of the Stock recovery from OOS 11.0.10.10.KB05BA and can share it here?
Thanks in advance.
Wishmasterflo said:
Hello!
Does someone have a backup of the Stock recovery from OOS 11.0.10.10.KB05BA and can share it here?
Thanks in advance.
Click to expand...
Click to collapse
Download the zip from https://forum.xda-developers.com/t/oneplus-8t-rom-ota-oxygen-os-repo-of-oxygen-os-builds.4193183/ and then use payload dumper to extract the files.
That worked like a charm. Thanks a lot.
I'm Magisk rooted and I have TWRP installed on my 8T EU model.
The OnePlus updater app registers that I am rooted and wants to download the full OTA.
Do I also have to do all the things you described after "Keeping Root on an OTA update" or is there a simpler way?
If yes, then I have a question regarding this step:
2. In Magisk tap on "Uninstall Magisk" and select "restore images".
Click to expand...
Click to collapse
Did Magisk automatically backup these images? Because I didn't do it myself. I only have backed up all my partitions (including boot) after I had installed TWRP and before I rooted.
EDIT:
BillGoss has thankfully already replied in another thread (in which I have basically asked the same question because I am an impatient bast***) where I suggested the overly present "easy" update scheme, which he expects to work. So this should be fine for other people in my situation:
1. Let the system download and install full OTA and DO NOT let the device reboot after it's done
2. Install TWRP A/B Retention Script
3. Install Magisk to inactive slot and reboot
EDIT2:
I just want to add that before having done the above mentioned steps 1-3, I have disabled all Magisk modules and rebooted the device. So the full procedure is the following:
1. Disable all Magisk modules and reboot
2. Let the system download and install full OTA and DO NOT let the device reboot after it's done
3. Install TWRP A/B Retention Script
4. Install Magisk to inactive slot and reboot
Youtube step by step video (he says that he "uninstalls" the Magisk modules but he just deactivates them):
Thanks @haitower
I've updated the OP to make it clear that the process described there only applies to incremental updates.
Also, to answer your question re Magisk backups: Magisk writes a copy of the installed boot image to /data/Magisk* before patching it. A "restore image" uses that backup.
BillGoss said:
I keep seeing posts that say you can't root OOS after an OTA unless you have a full image installation zip. That's just not true these days (September 2021).
You can use @osm0sis' method in https://forum.xda-developers.com/t/...ices-platforms.2239421/page-149#post-84764713
And @g96818 suggests using "Install to inactive slot" but this doesn't work for everybody (it doesn't for me) which works provided you do it properly - see https://forum.xda-developers.com/t/...00-kb2001-kb2003-kb2005.4178675/post-85801253.
And here's how to do it using TWRP.
What you'll need:
• TWRP image (.img) and (optionally) installer zip from https://forum.xda-developers.com/t/recovery-11-alpha-teamwin-recovery-project-8t-kebab.4302449/
• Magisk apk - I'm using v23.0 stable from https://github.com/topjohnwu/Magisk/releases/
I'm also assuming you have an unlocked bootloader, know how to use fastboot, how to use TWRP, and how to use Magisk.
I'll go through rooting a currently unrooted version of OOS and then doing an incremental update OTA.
Root unrooted OOS
1. Install the Magisk APK. I find that this works nicer than letting the stub download the full app the first time you use it.
2. Boot into bootloader mode
3. Boot TWRP using fastboot boot x.img where x.img is the TWRP image file
4. Take a backup of the current boot and recovery partitions as you'll need them for successfully updating when the next incremental OTA becomes available
5. Install the Magisk APK, just like you would install any zip file in TWRP. Note: the APK must be named Magisk-*.apk otherwise TWRP won't list it.
6. If you want to keep TWRP then install the TWRP installer zip.
7. Reboot
Keeping Root on an incremental OTA update
Note: you do NOT need to follow this process if you're installing a full OTA. You only need to install the full OTA and then install Magisk to the inactive slot and reboot from Magisk when it prompts you
If your phone tells you you have an update:
1. If you have TWRP installed, then boot into TWRP and restore the stock recovery and reboot
2. In Magisk tap on "Uninstall Magisk" and select "restore images". Or, if you're like using terminal commands, restore the stock boot image (you backed it up with TWRP) to the current slot using dd
3. Install the OTA update but don't reboot yet.
4. Turn on airplane mode so that apps can't call SafetyNet when you reboot the phone without root
5. Reboot
6. When the phone has successfully rebooted the updated system, boot into bootloader mode
7. Boot TWRP using fastboot boot x.img where x.img is the TWRP image file
8. Take a backup of the current boot and recovery partitions as you'll need them for successfully updating when the next incremental OTA becomes available
9. Clean up old Magisk backup copies of stock boot images by using File Manager to delete /data/magisk_backup_* directories
10. Install the Magisk APK, just like you would any zip file in TWRP. Note: the APK file name must start with Magisk- otherwise TWRP won't list it. Your existing Magisk settings, modules, and [hidden] Magisk app will be preserved.
11. If you want to keep TWRP then flash the TWRP installer zip.
12. Reboot and disable airplane mode
Click to expand...
Click to collapse
Hello,
Thank You for the detailed description, it helped me a lot.
I'm new with the Oneplus 8T phone. The last handset I had was the Mi MIX 2. The rules of using root are familiar to me and I understand everything from your description. I only have a question about TWRP, once I have them permanently installed on device, can I backup the system or date partition via TWRP? I always made backups in case i messed up something and didn't work properly.
This question came from https://twrp.me/oneplus/oneplus8t.html
They write there:
"This device uses Dynamic Partitions
This means that TWRP will not allow modifications to any of the partitions that make up the Super partition on the stock ROM. All backups and restores will include the full Super partition rather than the individual dynamic partitions.
In order to flash the individual partitions, you will have to boot into fastbootd."
I would be grateful for Your information, Thank You.
e1thx said:
Hello,
Thank You for the detailed description, it helped me a lot.
I'm new with the Oneplus 8T phone. The last handset I had was the Mi MIX 2. The rules of using root are familiar to me and I understand everything from your description. I only have a question about TWRP, once I have them permanently installed on device, can I backup the system or date partition via TWRP? I always made backups in case i messed up something and didn't work properly.
This question came from https://twrp.me/oneplus/oneplus8t.html
They write there:
"This device uses Dynamic Partitions
This means that TWRP will not allow modifications to any of the partitions that make up the Super partition on the stock ROM. All backups and restores will include the full Super partition rather than the individual dynamic partitions.
In order to flash the individual partitions, you will have to boot into fastbootd."
I would be grateful for Your information, Thank You.
Click to expand...
Click to collapse
See post #3 in https://forum.xda-developers.com/t/...recovery-project-8t-kebab-2021-29-11.4302449/
Hello!
Today I saw that EU: 11.0.12.12.KB05BA was available as OTA Update so I started to download it using the "Keep root on OTA Update".
During the download I recognized that I was still only connected to mobile network 4G instead of WiFi.
So I stopped the download of the OTA, restarted the phone and turned on WiFi but now I don't get the notification for the new OTA Update anymore and when checking for new Updates it says that my OOS 11.0.11.11 is up to date.
I guess the system has somewhere already stored that I started the download of the new 11.0.12.12 OTA but did not finish it and now I don't get the message to download it anymore.
Any idea how I can fix this so that I can download the new OTA again?
Thanks a lot!
EDIT: I am downloading it now via OxygenOS Updater (the full OTA).
BillGoss said:
See post #3 in https://forum.xda-developers.com/t/...recovery-project-8t-kebab-2021-29-11.4302449/
Click to expand...
Click to collapse
I understand that if I want to restore system and data when something doesn't work for me then I just do recovery for all the partitions, system, data etc that I do in twrp?
Please see the update in the OP regarding OOS 12.

[GUIDE] Root and keeping root options

Update 230526: Correct numbering of "B.1.1 Simple" to "B.1.2 Simple", use "OOS 13+" instead of "OOS 13" as OOS 13.1 is now available
A. First time rooting​
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
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).
Using the MSM Tool readback option to pull a copy of the current boot image from the phone
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.
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.
Start MsmDownloadTool V4.0.exe
Select User type: Others and click Next
Press F8
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.
Enter the password: oneplus and then press OK. You should now see a ReadBack button underneath the Target dropdown list.
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.
MSM will show "ReadBack Complete" (in green) when it has copied the boot image and power off the phone. Close the MSM tool.
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.
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:
This can ONLY be used on full update zips, NOT on incremental updates.
Note: if you use @mslezak's Payload Dumper (see https://forum.xda-developers.com/t/...urrently-op8t-11-0-9-9-kb05aa-posted.4314677/ then you may be able to use it on incremental updates. I personally have not done this.
Follow the instructions detailed in @DroidFreak32's https://forum.xda-developers.com/t/...national-kb2000-kb2001-kb2003-kb2005.4178675/ paying attention to:
You can use the latest stable version of Magisk (my recommendation as of June 2022)
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.
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 @Displax's Universal SafetyNet Fix Magisk MOD module v2.4.0 or later to pass Play Integrity with an unlocked bootloader (https://forum.xda-developers.com/t/module-mod-universal-safetynet-fix.4553699/).
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:
on OOS 11 use TWRP 11 from https://dl.twrp.me/kebab/
on OOS 12 use the WIP TWRP 12 version from https://forum.xda-developers.com/t/...roject-8t-9r-2022-07-27.4473983/post-87271673 or Orange Fox from https://forum.xda-developers.com/t/...ry-project-oneplus-8t-9r-22-nov-2022.4391139/
on OOS 13 use Orange Fox for OOS 13 from https://forum.xda-developers.com/t/...ry-project-oneplus-8t-9r-22-nov-2022.4391139/ or @apophis9283's version of TWRP from https://forum.xda-developers.com/t/recovery-unofficial-twrp-oneplus-8t-oos13-1-19-23.4541965/
Boot bootloader
fastboot boot <twrp.img>
(optional - see next item) Backup current boot
Install Magisk-*.apk and note that Magisk will create a backup of the current stock boot (see section C)
Install @Displax's Universal SafetyNet Fix Magisk MOD module v2.4.0 or later to pass Play Integrity with an unlocked bootloader (https://forum.xda-developers.com/t/module-mod-universal-safetynet-fix.4553699/)
Reboot system
Uninstall Magisk stub
Install Magisk-*.apk and in Magisk>Settings enable both Zygisk and Enforce DenyList
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:
Boot bootloader
fastboot boot <twrp.img>
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.
Install TWRP installer zip
Reboot system
B. Keeping root during an update​
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).
But testing on OOS 13 (updating from F.62 to F.63 on KB2003 and KB2005) shows that you can now use "Install to inactive slot" and, therefore, the simpler B.1.2 process can be used with System Updater for both incremental and full OTA updates. However this needs more testing (by adventurous IN users).
B.1.1 Safe​The following process is safe to use on all versions and types of OTA updates. It 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.
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.
Restore the current stock boot image using Magisk>Uninstall Magisk>"Restore images" and DO NOT reboot
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
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.
On phone: Patch the dumped oos-ota-boot.img using Magisk>Magisk Install>"Select and Patch a File"
Copy /sdcard/Download/magisk_patched*.img to your PC
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.
Turn on Airplane Mode to prevent Google Play Services detecting that the phone is bootloader unlocked and making your phone uncertified in Google Play.
Reboot the phone from the System Update dialog; verify that you are now running the updated version
On PC: Reboot to bootloader using adb reboot bootloader
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
On phone: Verify that Magisk shows you are rooted
Make rooting permanent using Magisk>Magisk Install>"Direct Install (Recommended)" and reboot again
Turn off Airplane Mode
B.1.2 Simple​The following process is the simplest update method, but is limited to:
OOS 11 full image OTAs only
OOS 13+ full image OTAs and, starting with C.62, incremental OTAs (confirmed for KB2003 and KB2005)
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.
Restore the current stock boot image using Magisk>Uninstall Magisk>"Restore images" and DO NOT reboot
Download and Install the update (and DO NOT reboot) using:
OOS 11: Settings>System Settings>System Update>Download and Install
OOS 13+: Settings>About device>Software update
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.
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.
Root the updated boot image using Magisk>Magisk Install>"Install to inactive slot"
Note: if you accidentally reboot from Magisk at this point and end up in a bootloop (EU and IN), see: https://forum.xda-developers.com/t/guide-root-and-keeping-root-options.4387977/page-17#post-88204853
On OOS 13+ EU and IN now tap on Install in the local updater process and on NA tap Reboot; on OOS 11 reboot.
To re-install TWRP, follow the process in A.2.1
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 to get a copy of the update zip
The simplest option is to use Oxygen Updater (https://play.google.com/store/apps/details?id=com.arjanvlek.oxygenupdater).
It is also possible to get a copy of the update zip if the OOS 13+ System Updater is showing that an update is available and the installation button is showing "Extract".
You'll find the installation zip (named my_manifest_*_patch.zip or my_manifest_*_all.zip for incremental or full OTA) in /data/ota_package/OTA/.otaPackage.
B.2.1 Local Install​This is using:
OOS 11: System Update>Gear icon (local install)
OOS 12: MyApplication2 app (source: https://oxygenos.oneplus.net/English_20220225101104.apk; see https://forums.oneplus.com/threads/oxygenos-12-for-the-oneplus-8t.1555060/)
OOS 13+: On EU and IN Settings>About device>Software update>3-dot menu>Local install; on NA: same as for OOS 12
Note: If the Local install option is greyed out because the System Updater is showing that an update is available, then you can still use Local install by:
Turn on Airplane mode to prevent the System Updater finding the update again after the next step.
Go to Settings>Apps>App Management>3-dot menu>Show system and clear storage from Software update
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.
Move the update zip to /sdcard (NOT a subdirectory of /sdcard).
Magisk>Uninstall Magisk>Restore images - this restores the stock boot image whilst keeping Magisk.
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.
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.
Root the updated boot image using Magisk>Magisk Install>"Install to inactive slot"
Note: if you accidentally reboot from Magisk at this point and end up in a bootloop (EU and IN), see: https://forum.xda-developers.com/t/guide-root-and-keeping-root-options.4387977/page-17#post-88204853
On OOS 13+ EU and IN now tap on Install in the local updater process and on NA tap Reboot; on OOS 11 and 12 reboot.
To re-install TWRP, follow the process in A.2.1
B.2.2 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
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:
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.
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
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
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
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:
OOS 11: System Update>Gear icon (local install)
OOS 12: MyApplication2 app (source: https://oxygenos.oneplus.net/English_20220225101104.apk; see https://forums.oneplus.com/threads/oxygenos-12-for-the-oneplus-8t.1555060/)
OOS 13+: On EU and IN Settings>About device>Software update>3-dot menu>Local install; to be advised on NA
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>
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)"
(ONLY if keeping TWRP) Magisk>Modules>Install from storage: Select <twrp-installer.zip>
Magisk>Magisk Install>"Install to inactive slot" and DO NOT reboot
Backup the new Magisk patched stock boot using dd if=/dev/block/by-name/<boot><inactive slot suffix> of=<new Magisk patched boot img>
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:
Restore the current stock boot image using Magisk>Uninstall Magisk>Restore images
Delete all the /data/magisk_backup_* directories
Restore the rooted boot image using Magisk>Magisk Install>"Direct Install (Recommended)" - this also creates a new magisk_backup directory (no need to reboot)
Great write up. I know some people will appreciate the info when they have that "freak out moment" and something goes slightly wrong.
My question/suggestion would be in regards to your A.2 step. But please, if both options work, my post can be ignored. As you and I discussed in another thread, the update process via TWRP while keeping root has always been, on previous OnePlus Android OS versions.
Download full ROM zip from OnePlus or other available location. I.E. 11.0.12.12
Create Nandroid backup.
Install full ROM zip.
Install TWRP.
Reboot to recovery.
Install Magisk.
Reboot to system.
Assuming it's a full update and not a delta. You outlined...
Manually download the update (from whichever source you use)
Boot recovery
Restore the stock boot and recovery that you backed up previously
Install the update
Boot bootloader
fastboot boot <twrp.img>
Backup current boot and recovery
Install Magisk-*.apk
Install twrp-installer.zip
Reboot system
As you stated, if full update, skip steps 3, 5, 6. Does changing the order and installing Magisk before TWRP allow you to not install TWRP 2x in order to keep the recovery and preserve root?
I used my outlined steps to update to 11.0.12.12 and it worked perfectly. Sorry if this post seems out of sorts, I'm doing it from my phone.
The Apostle said:
Great write up. I know some people will appreciate the info when they have that "freak out moment" and something goes slightly wrong.
My question/suggestion would be in regards to your A.2 step. But please, if both options work, my post can be ignored. As you and I discussed in another thread, the update process via TWRP while keeping root has always been, on previous OnePlus Android OS versions.
Download full ROM zip from OnePlus or other available location. I.E. 11.0.12.12
Create Nandroid backup.
Install full ROM zip.
Install TWRP.
Reboot to recovery.
Install Magisk.
Reboot to system.
Assuming it's a full update and not a delta. You outlined...
Manually download the update (from whichever source you use)
Boot recovery
Restore the stock boot and recovery that you backed up previously
Install the update
Boot bootloader
fastboot boot <twrp.img>
Backup current boot and recovery
Install Magisk-*.apk
Install twrp-installer.zip
Reboot system
As you stated, if full update, skip steps 3, 5, 6. Does changing the order and installing Magisk before TWRP allow you to not install TWRP 2x in order to keep the recovery and preserve root?
I used my outlined steps to update to 11.0.12.12 and it worked perfectly. Sorry if this post seems out of sorts, I'm doing it from my phone.
Click to expand...
Click to collapse
The problem is that delta updates require you to restore both recovery and boot partitions to stock otherwise the installation fails.
The process I describe works for both full and delta updates. But, like I said, if you know that the update is a full OTA, then you can simplify the process and, <edit>if you know it's always going to be a full update, then<end-edit> you can use your "usual" process.
PS: this is a source of confusion because the BA ROMs are always full updates, while the AA ROMs are typically delta updates.
So what works for one user will not work for another even though they are both running OOS on an 8T.
And then there's the difference between letting System update download and install versus manual install, which creates another place for confusion is you just talk about "install update" instead of being specific as to the exact method.
BillGoss said:
The problem is that delta updates require you to restore both recovery and boot partitions to stock otherwise the installation fails.
The process I describe works for both full and delta updates. But, like I said, if you know that the update is a full OTA, then you can simplify the process as per your "usual" process.
Click to expand...
Click to collapse
I guess I don't know why people wouldn't simplify the process, download the full ROM, and eliminate steps. It's worked for years on OnePlus devices across android 9, 10, and now 11.
The Apostle said:
I guess I don't know why people wouldn't simplify the process, download the full ROM, and eliminate steps. It's worked for years on OnePlus devices across android 9, 10, and now 11.
Click to expand...
Click to collapse
Because there's often no AA full rom to download. They can take months to show up while the delta is available immediately from Google.
I've never had that issue. Between XDA and OnePlus forums, someone has always posted a host link... Since OnePlus stopped around October.
Regardless, good info you posted.
The Apostle said:
I've never had that issue. Between XDA and OnePlus forums, someone has always posted a host link... Since OnePlus stopped around October.
Regardless, good info you posted.
Click to expand...
Click to collapse
Thanks. By the way I edited my first reply to you because your "usual" process only works if you are always using full updates.
Hi!
I'm using this method for the update:
Without TWRP
Manually download the update (from whichever source you use) to /sdcard
Magisk>Uninstall Magisk>Restore images - this restores the stock boot image whilst keeping Magisk
Install the update in System Update>Gear icon (local install)
Magisk>Magisk Install>Install to inactive slot
Reboot system
2nd point, if I tap on uninstall magisk, It tells me that I don't have a backup original boot image, how can I proced?
Thanks
Feduz said:
Hi!
I'm using this method for the update:
Without TWRP
Manually download the update (from whichever source you use) to /sdcard
Magisk>Uninstall Magisk>Restore images - this restores the stock boot image whilst keeping Magisk
Install the update in System Update>Gear icon (local install)
Magisk>Magisk Install>Install to inactive slot
Reboot system
2nd point, if I tap on uninstall magisk, It tells me that I don't have a backup original boot image, how can I proced?
Thanks
Click to expand...
Click to collapse
You can't proceed if your update is an incremental update. Otherwise you can go ahead.
You'll need to find a copy of the stock boot image to restore it before installing the incremental update.
BillGoss said:
You can't proceed if your update is an incremental update. Otherwise you can go ahead.
You'll need to find a copy of the stock boot image to restore it before installing the incremental update.
Click to expand...
Click to collapse
I'm on 11.0.11.11KB05BA, to 11.0.12.12. so I need to flash the original boot image via ADB/fastboot? Then proceed with point 3?
Feduz said:
I'm on 11.0.11.11KB05BA, to 11.0.12.12. so I need to flash the original boot image via ADB/fastboot? Then proceed with point 3?
Click to expand...
Click to collapse
You tell me. I use AA, not BA. If you don't know what type of update it is, then you need to replace stock using whatever method you like.
BillGoss said:
You tell me. I use AA, not BA. If you don't know what type of update it is, then you need to replace stock using whatever method you like.
Click to expand...
Click to collapse
It's a full update, about 2.8 GB. I'll flash the stock boot.img so
Feduz said:
It's a full update, about 2.8 GB. I'll flash the stock boot.img so
Click to expand...
Click to collapse
if it is a full update you don't need to restore anything before installing it.
Qnorsten said:
if it is a full update you don't need to restore anything before installing it.
Click to expand...
Click to collapse
Correct, I skipped this part in the first post. I've done the update and then installed via magisk. All went good. Thanks
What should I backup using TWRP before a custom rom update and before a jump from a custom rom to another?
rmroot said:
What should I backup using TWRP before a custom rom update and before a jump from a custom rom to another?
Click to expand...
Click to collapse
Read the TWRP OP posts for the answer.
[CLOSED] [No longer maintained] [RECOVERY] [11] [OFFICIAL] TeamWin Recovery Project (8T / Kebab) (2022-03-09)
Introduction: Team Win Recovery Project or TWRP for short, is a custom recovery built with ease of use and customization in mind. We started from the ground up by taking AOSP recovery and loading it with the standard recovery options, then added...
forum.xda-developers.com
@BillGoss
I will be a user of an OP 9R in a few days and I saw that it shares the same version of TWRP.
In the 9r forum I still haven't found a well explained tutorial and if it's possible.
The instructions you put here allow you to update OxygenOS on 8T and keep root/TWRP, right? Would they be applicable to the 9R as well?
lvints said:
@BillGoss
I will be a user of an OP 9R in a few days and I saw that it shares the same version of TWRP.
In the 9r forum I still haven't found a well explained tutorial and if it's possible.
The instructions you put here allow you to update OxygenOS on 8T and keep root/TWRP, right? Would they be applicable to the 9R as well?
Click to expand...
Click to collapse
I know that the 8T and 9R share similar architecture so the process I've described may work on the 9R, but I can't confirm this.
I do know that as one point we had a common TWRP version for both the 8T and 9R, but that's no longer the case and there's no official TWRP for the 9R.
So, from my perspective, you're on your own on this. If it works, great. You may want to post your process and results in the 9R forum, but not here (this is strictly an 8T forum and thread).
Thanks very much for this thread, @BillGoss. Just easily upgraded 11.0.12.12.KB05AA to 11.0.13.13.KB05AA with your methods using fastboot boot trwp.xx.img from bootloader mode and simply reinstalling Magisk after letting the update run (airplane mode on, as you suggest). I had just upgraded Magisk before the update, so had the latest apk handy in my downloads.
To backup your boot in TWRP (first know your active slot), you can get to a terminal in the TWRP/Advanced menu. I use the same commands you list in your "Use a CLI" instructions.
Hi, I've updated correctly to the latest OOS, should I need to update Magisk? or will be fine this version?

Categories

Resources