Honor 7x Ramdisk for Magisk Alternative Method - Honor 7X Guides, News, & Discussion

Ramdisk from Huawei official firmware is required in order to patch Magisk and acquire root privelages in Openkirin LineageOS builds. Can't apply patches to rom from TWRP because TWRP doesn't support custom rom decryption in this case.
Since other people may be running into a similar issue I figured I would write down my process and share it for the reference of others. I do not plan to support this thread, I just wanted to share what I did that worked for me to remove some of the legwork for research.
Disclaimer:
This isn't, by any means, a recommended method to achieve this end.
Essentially, I ran into the predicament that Huawei and alternative sneaky Russian sites for hosting the firmware files for Huawei Devices are down as of writing this.
Namely:
Online firmware database ⋆ TEAM MT Developers
< PREVIOUS FIND MODEL NEXT > Дата изменения Полное название Файлы обновления Размер Тип G g v f 2021.11.09 MED-LGRP2-OVS 10.1.0.195 filelist 0 OTA 1458 104 519745 3 2021.11.08 patch01 filelist 0 OTA 1458 104 525603 1 2021.11.08 TAS-LGRP1-CHN 11.0.0.170 filelist 0 OTA 1458 104 525098 1 2021.11.08...
pro-teammt.ru
So I could no longer use the site to download the official firmware for my Honor 7X and extract the ramdisk from it in order to patch Magisk to that ramdisk image.
Well, against the wishes of the openkirin project, I installed a modified version of TWRP customer recovery in order to manually dump the ramdisk image already present inside of the Huawei (which, in my mind, should have been the same one from the OEM that would have been extracted from an official Huawei update). The TWRP recovery version that I used came from the P10 Lite TWRP test build 0.5 from the thread I listed below. Hacky as all hell, but it worked for what I needed.
To get the ramdisk you need to go into TWRP and do backup --> ramdisk. It will drop it in your phone. Likely underneath /sdcard/TWRP.
Dump command to send to Linux(what I'm using, should be same on windows):
adb pull /sdcard/TWRP TWRP
The ramdisk dumped itself as a `.win` filetype, so I simply renamed the file extension to `.img` so that Magisk would recognize it and apply the appropriate patch.
With this dumped ramdisk image I added it to my phone and used Magisk to patch magisk to that dumped ramdisk, which I then transferred back to my computer.
I then booted the phone into bootloader mode:
adb reboot bootloader
and then flashed the newly modified Magisk ramdisk:
fastboot flash ramdisk magisk_patched-23000_9FXew.img
Upon rebooting my Huawei:
fastboot reboot
was able to verify with Magisk that I now had both TWRP custom recovery without issue and access to root privelages inside of LineageOS (which is good and ignores the need for TWRP to be able to decrypt custom rom contents)
Since TWRP cannot decrypt the contents of a custom rom in this case, being able to use TWRP to dump the ramdisk was an essential step even though Openkirin does not support TWRP. I would have otherwise had no option for acquiring that factory ramdisk because Huawei took them all offline.
This is all mostly just to get ahold of the ramdisk without needing to use huawei official firmware and patch it for Magisk, which there are already guides for on XDA and on Openkirin's support site. There's probably some steps of this I left out. Best of luck to others.
Resources Used that explain some steps I left out (Like installing TWRP to recovery_ramdisk, etc etc):
[Openkirin Magisk Guide](https://openkirin.net/user_guide/how-to-install-magisk/)
[Openkirin Rom Installation Instructions](https://openkirin.net/user_guide/openkirin-rom-installation-instructions/)
[Converting a TWRP Backup into a Flashable zip](https://forum.xda-developers.com/t/tutorial-create-flashable-zip-from-cwm-twrp-backup-mtk.2746044/)
[Huawei P10 Lite TWRP test build 0.5](https://forum.xda-developers.com/t/recovery-emui-8-x-huawei-p10-lite-unofficial-twrp-3-2-1-0-28-04-2018.3783447/page-2)

Related

Disable [DM-Verity]/[Force Encryption] [OnePlus 3T/3] for [Oreo] Oxygen OS

Oneplus has released the Stable and Beta OREO Oxygen OS for Oneplus 3T and 3.
This thread is only for OOS Oreo. For disabling Dm-Verity and force Encryption in PIE OOS ROMs refer to my thread here: https://forum.xda-developers.com/oneplus-3t/how-to/dm-verity-disable-oxygen-os-t3922324. For disabling Dm-Verity and force Encryption in NOUGAT OOS ROMs refer to my thread here: https://forum.xda-developers.com/oneplus-3t/how-to/rom-dm-verity-force-encryption-disabled-t3618232[/I]
Disclaimer: I am not responsible for any damage or data loss that happens to your device on embarking this procedure...
THE DETAILS....
There has been some modifications that i came across after unpacking and verifying the packages..
After extracting the ramdisk to my surprise there was no fstab file and hence no fstab entries that could be modified to disable Dm-Verity and Force encryption...
After tweaking a little i found that indeed the file fstab does exist but its not in the ramdisk but in an other location..
So i disabled the Dm-Verity and Force encryption entries in the fstab file in the new location and made a flashable zip file which will replace the original fstab file.
As @rk2612 pointed out the fact that indeed the system entries are hashed out in the fstab file and the kernel takes care of the system loading procedure in OREO, I have been working on it. Indeed it is true. After unpacking the boot image into kernel, ramdisk and device tree blobs (dtbs), I came accross 12 entries in the dtb that reference directly to mount the system after triggering the DM-Verity flag. So I patched the dtb binary to clear off the DM-Verity flags and repacked the Boot images. Moreover, in OREO as long as DM-Verity is triggered, any changes made to the system are reverted back once you boot to system which has been clearly stated with the help of posts from @BillGoss.
The other fact is that regarding force encryption, it indeed is taken care of only in the fstab.
So in a nut shell, to disable DM-Verity you will need to flash the patched Boot Images and to disable force encryption you will have to flash the force encryption disabler zip - The links of which are provided below. Do refer to the correct procedure explained in datail before attempting to do anything...
For all those who need an in-depth reading of the nature of patching the fstab in dtb file and my work you can refer here:
https://forum.xda-developers.com/showpost.php?p=74326761&postcount=3
THIS METHOD WILL WORK FOR BOTH ONEPLUS 3 T AND ONEPLUS 3...
TESTED AND WORKING TILL ONEPLUS 3/3T STABLE OOS 5.0.8 / ONEPLUS 3T BETA 30 / ONEPLUS 3 BETA 39..
FOR THOSE WHO HAVE ALREADY TRIGGERED DM-VERITY ON OOS OREO FOLLOW THE STEPS IN POST 2 IN THIS THREAD TO GET RID OF DM-VERITY BEFORE PROCEEDING...
Nothing has been changed....
It is 100% stock boot image except that the DM-Verity Flag has been patched...
Links:
For ONEPLUS 3T
STABLE OOS Boot Images
Patched Boot Image Stable OOS 5.0.8
http://www.mediafire.com/file/xcsiuizziw6xckq/boot-patched-5.0.8-OP3T.img/file
Patched Boot Image Stable OOS 5.0.7
http://www.mediafire.com/file/ckn0012znn8kw8c/boot-patched-5.0.7-OP3T.img/file
Patched Boot Image Stable OOS 5.0.6
http://www.mediafire.com/file/ma4plv5vtom4ih1/boot-patched-5.0.6-OP3T.img/file
Patched Boot Image Stable OOS 5.0.5
http://www.mediafire.com/file/adxxd99bgswez8d/boot-patched-5.0.5-OP3T.img/file
Patched Boot Image Stable OOS 5.0.4
http://www.mediafire.com/file/c8ftkmwqebmrer3/boot-patched-5.0.4-OP3T.img
Patched Boot Image Stable OOS 5.0.3
http://www.mediafire.com/file/z1kut18fycm2k57/boot-patched-5.0.3-OP3T.img/file
Patched Boot Image Stable OOS 5.0.2
http://www.mediafire.com/file/hu6n544a8yhpmma/boot-patched-5.0.2-OP3T.img
Patched Boot Image Stable OOS 5.0.1
http://www.mediafire.com/file/cjxs6plcngqc5g6/boot-patched-5.0.1-OP3T.img
Patched Boot Image Stable OOS 5.0
http://www.mediafire.com/file/dxxgn7i49sxbca1/boot-patched-5.0-OP3T.img
BETA OOS Boot Images
Patched Boot Image OOS Beta 30
http://www.mediafire.com/file/b3fu93f15zd576c/boot-patched-Beta30-OP3T.img/file
Patched Boot Image OOS Beta 29
http://www.mediafire.com/file/w80wj3lql256td3/boot-patched-Beta29-OP3T.img/file
Patched Boot Image OOS Beta 28
http://www.mediafire.com/file/k3fj0u71t85jo8q/boot-patched-Beta28-OP3T.img/file
Patched Boot Image OOS Beta 27
http://www.mediafire.com/file/d1m6awl8oda5087/boot-patched-Beta27-OP3T.img
Patched Boot Image OOS Beta 26
http://www.mediafire.com/file/6c832j5y5hwk68t/boot-patched-Beta26-OP3T.img
Patched Boot Image OOS Beta 25
http://www.mediafire.com/file/6h1h1cammycdu9f/boot-patched-Beta25-OP3T.img
Patched Boot Image OOS Beta 24
http://www.mediafire.com/file/s8q750qedda5c2n/boot-patched-Beta24-OP3T.img
Patched Boot Image OOS Beta 23
http://www.mediafire.com/file/a9r6o20qc865bij/boot-patched-Beta23-OP3T.img
Patched Boot Image OOS Beta 22
http://www.mediafire.com/file/kk5llc6s43kr2bb/boot-patched-Beta22-OP3T.img
Patched Boot Image OOS Beta 21
http://www.mediafire.com/file/di3nm7ci7fn1u6i/boot-patched-Beta21-OP3T.img
Patched Boot Image OOS Beta 20
http://www.mediafire.com/file/woow4q1enart2tf/boot-patched-Beta20-OP3T.img
Patched Boot Image OOS Beta 19
http://www.mediafire.com/file/vqud6vy7k61stzt/boot-patched-Beta19-OP3T.img
For OnePlus 3
STABLE OOS Boot Images
Patched Boot Image Stable OOS 5.0.8
http://www.mediafire.com/file/6i5yblsbx7rdiba/boot-patched-5.0.8-OP3.img/file
Patched Boot Image Stable OOS 5.0.7
http://www.mediafire.com/file/1xo7e9qr521s9z9/boot-patched-5.0.7-OP3.img/file
Patched Boot Image Stable OOS 5.0.6
http://www.mediafire.com/file/98nyyirwfy2mo9e/boot-patched-5.0.6-OP3.img/file
Patched Boot Image Stable OOS 5.0.5
http://www.mediafire.com/file/12bhw4bo48lrp8o/boot-patched-5.0.5-OP3.img/file
Patched Boot Image Stable OOS 5.0.4
http://www.mediafire.com/file/io7hqnwoiy0i9v5/boot-patched-5.0.4-OP3.img/file
Patched Boot Image Stable OOS 5.0.3
http://www.mediafire.com/file/vdeq5iox0700rou/boot-patched-5.0.3-OP3.img/file
Patched Boot Image Stable OOS 5.0.1
http://www.mediafire.com/file/e1ae6d7ae45571r/boot-patched-5.0.1-OP3.img
Patched Boot Image Stable OOS 5.0
http://www.mediafire.com/file/a69c69gw6gkj860/boot-patched-5.0-OP3.img
BETA OOS Boot Images
Patched Boot Image OOS Beta 39
http://www.mediafire.com/file/3rc3t0zc543oqf7/boot-patched-Beta39-OP3.img/file
Patched Boot Image OOS Beta 38
http://www.mediafire.com/file/6ef5szt65605woh/boot-patched-Beta38-OP3.img/file
Patched Boot Image OOS Beta 37
http://www.mediafire.com/file/856w586ctt39rg8/boot-patched-Beta37-OP3.img/file
Patched Boot Image OOS Beta 36
http://www.mediafire.com/file/2l6mj266z15vbbq/boot-patched-Beta36-OP3.img
Patched Boot Image OOS Beta 35
http://www.mediafire.com/file/cguelk95o3klcki/boot-patched-Beta35-OP3.img
Patched Boot Image OOS Beta 34
http://www.mediafire.com/file/r1sd37135f3d90u/boot-patched-Beta34-OP3.img
Patched Boot Image OOS Beta 33
http://www.mediafire.com/file/vmey23ggvafw2ps/boot-patched-Beta33-OP3.img
Patched Boot Image OOS Beta 32
http://www.mediafire.com/file/7m6gxldmenen2qs/boot-patched-Beta32-OP3.img
Patched Boot Image OOS Beta 31
http://www.mediafire.com/file/2150f2hnaclc1zk/boot-patched-Beta31-OP3.img
Patched Boot Image OOS Beta 30
http://www.mediafire.com/file/5x1bcyxzihscdj3/boot-patched-Beta30-OP3.img
Patched Boot Image OOS Beta 29
http://www.mediafire.com/file/v1cm7ddtmr6tnam/boot-patched-Beta29-OP3.img
Patched Boot Image OOS Beta 28
http://www.mediafire.com/file/1afm13h8ax9d3r0/boot-patched-Beta28-OP3.img
STEPS: This is applicable only to people who have their data currently ENCRYPTED and needs the procedure only for NOT TRIGGERING DM-VERITY
USAGE FOR STOCK OOS:
1. Flash the downloaded boot-patched.img file corresponding to the Model and OOS version in TWRP immediately after flashing the Stock ROM zip in TWRP before doing anything (even before restarting or applying any patches, root, kernels, etc.)
2. Restart back to TWRP Recovery.
3. Done.
4. Now do whatever you want like usual.. Flash root, kernel, mods or anything as usual
5. You dont have to worry about triggering DM-Verity again and any changes made to system via TWRP will not be reverted back..
The 2 Prodeures given below: This is applicable only to those people who needs the procedure for getting rid of FORCE ENCRYPTION AND PREVENT TRIGGERING DM-VERITY
PROCEDURE 1: This is applicable only to people who have their data currently NOT ENCRYPTED AND KEEP IT DECRYPTED
First of all Backup your data preferably to and usb otg or a PC for later restore. You may lose your data from your phone following this procedure...
1. Format SYSTEM, DALVIK, CACHE and then only Flash the Full Rom Oreo Beta OOS zip file in TWRP.
2. DON'T REBOOT
3. Flash the downloaded boot-patched.img file corresponding to the Model and OOS version in TWRP immediately after flashing the Stock ROM zip.
4. DON'T REBOOT TO SYSTEM
5. REBOOT TO TWRP.
6. In TWRP, MOUNT SYSTEM, GO TO ADVANCED > TERMINAL and Type "df system"(without quotes) and enter. The details of the system partition will be shown. Look at the Use% and Free Space. Make sure you have atleast 100MB free space in System before you go to the next step. If you don't have enough free space then mount system in TWRP, go to file manager and free some space in system by deleting some unwanted apps (in system/app folder like duo, google drive, hangouts,etc. which you can later reinstall via google play as it is not mandatory for them to run as system apps)...If there is low space on your system partition that fstab file flashing fails resulting in blank fstab file and you will end up in bootloop.
7. Once you have confirmed that you have atleast 100MB of free space left in system partition. REBOOT BACK TO TWRP.
8. Flash "Force Encryption Disabler For OOS Oreo v2.zip" in TWRP. (No need to mount system. The v2 zip file does it automatically)
9. Flash SuperSuSR5 / Magisk 15.3+
10. Done.
11. Reboot to System.
NB:f you have bootloop go back to TWRP by keep holding the power button to power off and powering on and rebooting to TWRP via the volume buttons, mount system, go to file manager and free some space in system by deleting some unwanted apps (in system/app folder like duo, google drive, hangouts,etc. which you can later reinstall via google play as it is not mandatory for them to run as system apps) and reflash the disabler zip and reboot..It is due to low space on your system partition that fstab file flashing fails resulting in blank fstab file. But if you followed Steps 6 and 7 carefully you wont end up here.
PROCEDURE 2: This is applicable only to people who have their data currently ENCRYPTED AND NEEDS TO GET IT DECRYPTED and PREVENT TRIGGERING DM-VERITY
First of all Backup your data preferably to and usb otg or a PC for later restore. You will lose your data from your phone following this procedure...
1. Go to Bootloader...
2. Connect to your PC..Type "fastboot format userdata" without quotes and press enter. (You will lose your data, do back up if you need something.)
3. Don't reboot to system...Using volume buttons select boot to recovery and Reboot to TWRP.....(Very Important)
4. Flash the downloaded boot-patched.img file corresponding to the Model and OOS version in TWRP immediately after flashing the Stock ROM zip.
5. DON'T REBOOT TO SYSTEM
6. REBOOT TO TWRP
7. In TWRP, MOUNT SYSTEM, GO TO ADVANCED > TERMINAL and Type "df system"(without quotes) and enter. The details of the system partition will be shown. Look at the Use% and Free Space. Make sure you have atleast 100MB free space in System before you go to the next step. If you don't have enough free space then mount system in TWRP, go to file manager and free some space in system by deleting some unwanted apps (in system/app folder like duo, google drive, hangouts,etc. which you can later reinstall via google play as it is not mandatory for them to run as system apps)...If there is low space on your system partition that fstab file flashing fails resulting in blank fstab file and you will end up in bootloop.
8. Once you have confirmed that you have atleast 100MB of free space left in system partition. REBOOT BACK TO TWRP.
9. Flash "Force Encryption Disabler For OOS Oreo v2.zip" in TWRP. (No need to mount system. The v2 zip file does it automatically)
10. Flash SuperSuSR5 / Magisk 15.3+
11. Done.
12. Reboot to System.
NB: If you have bootloop go back to TWRP by keep holding the power button to power off and powering on and rebooting to TWRP via the volume buttons, mount system, go to file manager and free some space in system by deleting some unwanted apps (in system/app folder like duo, google drive, hangouts,etc. which you can later reinstall via google play as it is not mandatory for them to run as system apps) and reflash the disabler zip and reboot..It is due to low space on your system partition that fstab file flashing fails resulting in blank fstab file. But if you followed Steps 7 and 8 carefully you won't end up here.
Rooting:
For Rooting use only SuperSu 2.82 SR5 or Magisk 14.3 or above seems to work for root...
FAQs:
Q: Is the boot.img file altered in anyway?
A: As mentioned above its 100% stock boot image except that the DM-Verity Flag has been patched in the device tree blobs (dtb)...
Q: My phone is already encrypted, will I lose encryption on flashing the zip?
A: No. It only disables force encryption. That means if you have already disabled encryption in your phone it will prevent the phone from getting encrypted when you flash a stock OOS ROM..
Q: I happen to lose TWRP and revert to stock recovery every time I update OOS, I happen to lose changes made to system via TWRP or lose data/apps accidentally while updating OOS...Can this be corrected by using this method?
A: Definitely. Follow the steps correctly. Each time while updating the OOS, after flashing the Full OOS ROM.zip, immediately flash the patched boot.img of the corresponding OOS given in this thread and then restart back to TWRP recovery. Done. You will never lose TWRP again..
Q: I am Rooting my phone using Magisk/Supersu then why do i need this?
A: Its optional.. If you are rooting phone using Magisk/Supersu it patches the stock boot.img. But in case you have problems flashing Magisk/Supersu after flashing the STOCK ROM zip this can come in handy or as an insurance policy just flash this patched boot.img before doing anything. But is very helpful to those people out there who doesn't root their phone but has unlocked their phone or installed TWRP for other purposes..
Q: How to flash the patched boot.img in TWRP?
A: Default flash option is for zip files in TWRP. Select the flash image option in TWRP. Then select the downloaded patched boot.img file and among from the partition option (boot, recovery and system) select the boot option and then flash it.
Q: What is "-Xn" seen after the OOS Version in the settings menu?
A: That's just my signature -Xn that I had put there to make sure that you have correctly done the procedure and the boot image that is currently in use is my patched boot image and to ensure you that you are 100% safe from DM verity...
Q: Where to find downloads and queries regarding the Stock OOS ROM and Beta OOS?
A: @Siddk007 has been maintaining Stock and Beta OOS threads were you can find relevant information.
Hope you find it useful...
Will update this OP as newer OOS versions come....
Thanks,
@rk2612 -- For pointing out the presence of DM-Verity checks in dtbs...
@BillGoss -- For testing out the patched boot images and providing useful posts mentioning that DM-Verity triggering reverts changes made to system...
@akhilnarang -- For helping tackle the weirdness of fstab decryption....as he pointed out the fact of clearing the system of free space to get it done...
HIT THANKS IF I HELPED YOU. IT DOESN'T COST YOU ANYTHING, BUT IT MEANS A LOT TO ME...
AND IF YOU DO APPRECIATE MY WORK DONATIONS ARE ALWAYS WELCOME...
THIS IS FOR PEOPLE WHO HAVE TRIGGERED DM-VERITY AND NEEDS TO GET RID OF THE DM-VERITY MESSAGE PERMANENTLY ON OOS OPEN BETA OREO ROMs. CONFIRMED WORKING EVEN IN THE LATEST OOS OREO STABLE 5.0.8/ BETA 30/BETA 39...
THIS IS FOR ONEPLUS 3T AND FOR ONEPLUS 3 but be careful in using the correct files corresponding to the OOS version and your MODEL
READ ALL THE STEPS AND DOWNLOAD ALL REQUIRED FILES BEFORE PROCEEDING. FOLLOW THE STEPS EXACTLY AND 100% THE DM-VERITY MESSAGE WILL BE GONE WITHOUT ANY DATA LOSS OR ANY OTHER HARM!!!
Prerequisite : Install ADB for windows from here: [url]https://forum.xda-developers.com/showthread.php?t=2588979[/URL]
1)
Download 4.0.2 Firmware for Oneplus 3T from here: [url]http://www.mediafire.com/file/cx568em66025p5b/4.0.2_firmware_OnePlus_3T.zip[/URL]
Download 4.0.2 Firmware for Oneplus 3 from here: [url]http://www.mediafire.com/file/8tt5x4xxy4m488t/4.0.2_firmware_OnePlus3.zip[/URL]
2) Flash the downloaded 4.0.2 firmware OnePlus 3.zip or 4.0.2 firmware OnePlus 3T.zip file in TWRP.
3) DONT REBOOT TO SYSTEM. REBOOT TO BOOTLOADER FROM OPTION IN TWRP.
4) Connect your phone to the pc
5) Press windows button + X
6) Open Command prompt
7) Type "fastboot oem disable_dm_verity" without quotes and press enter
8) Type "fastboot oem enable_dm_verity" without quotes and press enter
9) DONT REBOOT TO SYSTEM. REBOOT TO TWRP RECOVERY.
10)
In case of Oneplus3T, Flash the required firmware files for Stable or Open Beta OREO OOS corresponding to your current OOS (current OOS is the version of OOS which you are using now on your phone) in TWRP from this post: https://forum.xda-developers.com/oneplus-3t/how-to/firmware-beta-10-t3631166(Courtesy: @kamilmirza)
In case of Oneplus3, Flash the required firmware files for Stable or Open Beta OREO OOS corresponding to your current OOS (current OOS is the version of OREO OOS which you are using now on your phone) in TWRP from this post: [url]https://forum.xda-developers.com/oneplus-3/how-to/radio-modem-collection-flashable-zips-t3468628[/URL] (Courtesy: @jamal2367)
11) DONT REBOOT!!!!
12) VERY IMPORTANT: WITHOUT REBOOTING, Flash the downloaded boot-patched.img file corresponding to the OOS version and phone model(either stable or beta) in TWRP from post 1...
13) Reboot..The DM-verity message is gone forever...
VERY IMPORTANT:
1. If you need to keep your phone un-encrypted flash Force Encryption Disabler For OOS Oreo.zip immediately after step 12 and then only reboot.
2.If you are attempting this method on a a CUSTOM ROM then after Step 12 flash the full CUSTOM ROM zip file + latest gapps again without doing any sort of wipes in TWRP immediately and then only reboot....
Enjoy!!!
FAQs...
Q: Will I lose any data after I do these steps?
A: Never. There will be no data loss or any untoward effects of the procedure. Your data and phone will be in the exact same state as it was a before except for the fact that the damn dirty Dm-Verity message will be gone forever!!!
Q: Will this work on CUSTOM ROMs?
A: Of course. It has been tested to be perfectly working on even CUSTOM ROMs. Just follow the instructions in this post carefully where specific steps for CUSTOM ROMs are mentioned.
HIT THANKS IF I HELPED YOU. IT DOESN'T COST YOU ANYTHING, BUT IT MEANS A LOT TO ME...
Knowledge is always good and Xda is the best place to share it.. So here it is...
This is important for those interested in depth reading and for those who casually use xda to just download and use stuff because it gonna affect you all...
It all begins with the boot.img file which is located inside the Oxygen OS ROM zip file. The Boot image file can be practically for learning purpose be broken down to ramdisk, kernel and dtb(device tree blob) files.
The importance of all this is that from Oreo onwards Oneplus just shifted the fstab entry(in which the code triggering dm-verity is located) into the dtb file rather than in the ramdisk which becomes a little hard to edit rather than while being in the ramdisk.
So the essential steps being unpacking dtb file from the boot image, then editing the code triggering the dm-verity in the dtb file and then repacking the dtb into the boot image file again. Seems simple but its rather difficult...
The dtb file extracted from the boot image file in fact can be further split into 13 dtb dumps, 12 of which having an fstab entry that triggers dm-verity and each has to patched individually and then combined to a single dtb file and then repacked to the boot image....
So what is important is...
The original code in dtb file by Oneplus in the boot image file after decompiling and analysing by the dtc(device tree compiler) is :
Code:
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/platform/soc/624000.ufshc/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,discard";
fsmgr_flags = "wait,verify";
status = "ok";
};
};
The line fsmgr_flags = "wait,verify"; should be changed to fsmgr_flags = "wait" to avoid triggering dm verity.
So lets see...
What Magisk does... After analysing the patched boot image by magisk 14.5, 14.6 and 15.0 the Fstab entry in the dtb file looks like this:
Code:
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/platform/soc/624000.ufshc/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,discard";
fsmgr_flags = <0x77616974 0x0 0x0>;
status = "ok";
};
};
The problem is that magisk searches for the hex code for --->,verify and then replaces it with zero bytes....that efficiently disables the dm verity check in fs tab but the line fsmgr_flags = <0x77616974 0x0 0x0>; makes no sense...but when you translate the hex:77616974 to ASCII it becomes "wait". But whether this has any impilcations on the system or performance. I just simply dont know....
And I just couldn't analyse the dtb file produced by Magisk 15.1 as it fails to patch the dtb file in the boot image completely...just giving an error as Segmentation fault...This is well noticed as you cannot see the line stating that patching fstab in dtb file is conspicuously absent when you flash Magisk 15.1.. and hence Magisk 15.1 fails to clear the dm verity flag in the boot image...This can be ascertained by many who reported that they triggered dm verity today as they flashed Magisk 15.1 after flashing the ROM zip file in the Open Beta thread for oneplus 3T on XDA. But many didn't notice it as they just flashed Magisk 15/14.6 and then upgraded Magisk to 15.1 as the earlier versions as stated above took care of dm verity...
I have to say Magisk is one of the wonders in modern day android era and the statements i have given above is just observations and are really not meant to degrade or hurt the dev or anyone associated with magisk. @topjohnwu will already be knowing the issue as he is one hell of a developer and will definitely be correcting it...
Coming to SuperSu..This is what SuperSu does after patching the dtb file...
Code:
fstab {
compatible = "android,fstab";
system {
fsmgr_flags = "wait";
mnt_flags = "ro,barrier=1,discard";
type = "ext4";
dev = "/dev/block/platform/soc/624000.ufshc/by-name/system";
};
Now here the line fsmgr_flags = "wait"; is good but the line --->status = "ok"; is completely missing as SuperSu appends the line after the word "wait" in the fstab...And now whether this has any implications too whther I really dont know butit too does the job of removing dm-verity triggering...
Post a tiring study through all this I finally managed to patch the Oneplus boot image to as good as possible. I manually unpacked the boot image to dtb. The split the combined dtb to individual dtbs and the removed the line of code manually and the repacked the whole thing again to the original Boot image.
The dtb file in My Patched boot image looks like this after analysing with dtc.. And achieves the desired result...and perfectly avoids triggering dm-verity without causing any untoward effects in the fstab section in dtb file.
Code:
fstab {
compatible = "android,fstab";
system {
compatible = "android,system";
dev = "/dev/block/platform/soc/624000.ufshc/by-name/system";
type = "ext4";
mnt_flags = "ro,barrier=1,discard";
fsmgr_flags = "wait";
status = "ok";
};
Now the real question,
What will happen if you flash my patched boot image and then ,
---> When you flash Magisk after flashing my patched boot image it does nothing because it fails to identify the hex code for ",verify" as there is no such word/hex code in my boot.img file so it doesn't change anything to the fstab section in the dtb file in my patched boot image and so there no untoward effects in the code...
--->When you flash SuperSu, but, it still appends the line after "wait" in the dtb file in my patched boot image too and results in removal of the line status = "ok";.
Earlier Boot images posted in the OP, I too patched the hexcodes using a hex editor in the binary dtb file resulting in results in fstab section of dtb file like Magisk...
Now on I will manually patch each boot image file to produce the fstab file with no other alterations done in the dtb file so that there will never be any problems after flashing the patched boot images....
@Xennet that was quick, thanks. However i have already flashed and booted OB 16. can i still flash?
Of Course..
No problems in that...
Did you trigger Dm Verity and is your phone encrypted?
Xennet said:
Of Course..
No problems in that...
Did you trigger Dm Verity and is your phone encrypted?
Click to expand...
Click to collapse
i successfully rooted OB 16 without trigerring DM Verity and yes phone is encryptyed
Siddk007 said:
i successfully rooted OB 16 without trigerring DM Verity and yes phone is encryptyed
Click to expand...
Click to collapse
No problems still you can flash...
Thanks !
Too late for me brothers, I've fallen, I triggered dm verity and now my phone partition was wiped and it won't let me install a ROM.
Still have access to fastboot and adb tho. (Restore not working due to the dm-verity)
I'll try to flash this and play around, hopefully it will resolve my issue.
Thanks for helping everyone anyway
EDIT : Ok so I think it allowed me to restore an old old old backup so probably props to you for giving my brick a second chance.
It stills shows me the "dm-verity not enforced" message when booting up tho.
And TWRP still won't let me install a ROM. Even the officiel beta
I get an error 7 saying my build.pro ro.product.series is " " instead of "OnePlus 3T" but I checked it's OnePlus 3T...
If I remove the update script part about checking my series it just fails to update system image.
This update really ****ed up my phone because of the dm-verity when I tried to flash TWRP and Magisk (I had no issue before and was full stock)
Can anyone help ?
I triggered dm verity with oreo rom but I went and installed backup PA Nougat as I didnt like the OOS Oreo, can I still flash this zip on nougat to disable dm verity or is it only for oreo?
Isus <3 said:
I triggered dm verity with oreo rom but I went and installed backup PA Nougat as I didnt like the OOS Oreo, can I still flash this zip on nougat to disable dm verity or is it only for oreo?
Click to expand...
Click to collapse
This is only for Oreo
For Nougat go to my thread here..
https://forum.xda-developers.com/oneplus-3t/how-to/rom-dm-verity-force-encryption-disabled-t3618232
Hinoy said:
Too late for me brothers, I've fallen, I triggered dm verity and now my phone partition was wiped and it won't let me install a ROM.
Still have access to fastboot and adb tho. (Restore not working due to the dm-verity)
I'll try to flash this and play around, hopefully it will resolve my issue.
Thanks for helping everyone anyway
EDIT : Ok so I think it allowed me to restore an old old old backup so probably props to you for giving my brick a second chance.
It stills shows me the "dm-verity not enforced" message when booting up tho.
And TWRP still won't let me install a ROM. Even the officiel beta
I get an error 7 saying my build.pro ro.product.series is " " instead of "OnePlus 3T" but I checked it's OnePlus 3T...
If I remove the update script part about checking my series it just fails to update system image.
This update really ****ed up my phone because of the dm-verity when I tried to flash TWRP and Magisk (I had no issue before and was full stock)
Can anyone help ?
Click to expand...
Click to collapse
Install nougat ROM OOS 4.5.0 STABLE and remove DM verity by following instructions from my thread here...
https://forum.xda-developers.com/oneplus-3t/how-to/rom-dm-verity-force-encryption-disabled-t3618232
Then after removing DM verity if needed you can reflash Oreo beta zip after removing the first line in updater script and then immediately flashing the DM verity and force encryption disabled zip from this thread...
Can anyone confirm it works? (disabling forced encryption)
I had changed the flag in fstab manually (forceencrypt to encryptable), and I still got encrypted.
akhilnarang said:
Can anyone confirm it works? (disabling forced encryption)
I had changed the flag in fstab manually (forceencrypt to encryptable), and I still got encrypted.
Click to expand...
Click to collapse
At least for me I couldn't get it to not be encrypted. I've tried for a few hours and had no luck.
akhilnarang said:
Can anyone confirm it works? (disabling forced encryption)
I had changed the flag in fstab manually (forceencrypt to encryptable), and I still got encrypted.
Click to expand...
Click to collapse
Nope it does not. Mine started the encryption process as well.
[EDIT] correction; it does seem to work. Because the first boot took really long and the device ran hot, just like the first time when I did have encryption, I thought it was the case this time as well. Although I had to reflash the TWRP-recovery (it was replaced by stock) but it did not tell me /data was encrypted, so I think we're good!
Thank you Xennet!
Mr_Q said:
Nope it does not. Mine started the encryption process as well.
[EDIT] correction; it does seem to work. Because the first boot took really long and the device ran hot, just like the first time when I did have encryption, I thought it was the case this time as well. Although I had to reflash the TWRP-recovery (it was replaced by stock) but it did not tell me /data was encrypted, so I think we're good!
Thank you Xennet!
Click to expand...
Click to collapse
Hope you will not lose twrp if you had rebooted back to twrp before rebooting to system..
Can you confirm that the phone is not encrypted...
See the encryption status in settings, security..
Xennet said:
Hope you will not lose twrp if you had rebooted back to twrp before rebooting to system..
Can you confirm that the phone is not encrypted...
See the encryption status in settings, security..
Click to expand...
Click to collapse
I did boot TWRP -> TWRP, it become stock after I did a normal boot.
But the sad news is, it does state it's encrypted..
So I thought encryption always required a PIN or Pattern when accessing the phone and/or Recovery, am I wrong?
Mr_Q said:
I did boot TWRP -> TWRP, it become stock after I did a normal boot.
But the sad news is, it does state it's encrypted..
So I thought encryption always required a PIN or Pattern when accessing the phone and/or Recovery, am I wrong?
Click to expand...
Click to collapse
Just sent you a PM..
Check it...
Mr_Q said:
I did boot TWRP -> TWRP, it become stock after I did a normal boot.
But the sad news is, it does state it's encrypted..
So I thought encryption always required a PIN or Pattern when accessing the phone and/or Recovery, am I wrong?
Click to expand...
Click to collapse
Yup but that's right...
To access an encrypted phone data you need a pin in TWRP
Can you check in TWRP again and are you able to see your data and copy and move around files..
Xennet said:
Yup but that's right...
To access an encrypted phone data you need a pin in TWRP
Can you check in TWRP again and are you able to see your data and copy and move around files..
Click to expand...
Click to collapse
Yes I can, but I did notice something interesting in the logs of TWRP:
Data successfully decrypted, new block device: '/dev/block/dm-0'
Updating partition details...
... done
Succesfully decrypted with default password.
So yes it's encrypted, but I don't have to enter any password...
Mr_Q said:
Yes I can, but I did notice something interesting in the logs of TWRP:
Data successfully decrypted, new block device: '/dev/block/dm-0'
Updating partition details...
... done
Succesfully decrypted with default password.
So yes it's encrypted, but I don't have to enter any password...
Click to expand...
Click to collapse
You have not triggered DM verity I suppose??
So my zip file does protect from triggering DM verity but not force encryption that's weird...
Did you use any root methods..?

Few questions before rooting/twrp

I just purchased the ph1 and plan on rooting the device and also flashing twrp. I've found the guides and everything seems pretty straight forward. The phone should be arriving tomorrow so at this point I'm unsure of the build it will have when I receive the device. I noticed a thread regarding the February update not working with twrp. Has this issue been resolved or will I need to flash to the January version to complete the task? Is the February and January builds mentioned the most recent updates for the device? I've found the links to the essential website but it gives me a error that its server IP cannot be found so I've been unable to check it. Is the site going to be down indefinitely due to no longer supporting the device? Does anyone have a link to the updates hosted elsewhere? The device was listed as GSM unlocked and did not mention any carrier tied to it so I'm assuming it's a factory unlocked device but will have to verify upon receiving it. Is the updates carrier dependant or do they all utilize the same files? Whats the consensus on roms/kernals on this device as opposed to rooting and using twrp on the most recent stock builds? Which Rom would you recommend if I do decide to go that route? Thanks for any advice you can offer, it's greatly appreciated.
Count me in as needing to know this information. I am planning on installing the Android 11 release when it comes out this month and I am currently running 10 Build number QQ1A.200105.032 with February 5 2020 security patch level. Will I need to install the January build to install Android 11?
SirDigitalKnight said:
Count me in as needing to know this information. I am planning on installing the Android 11 release when it comes out this month and I am currently running 10 Build number QQ1A.200105.032 with February 5 2020 security patch level. Will I need to install the January build to install Android 11?
Click to expand...
Click to collapse
I ended up receiving the device and it had Android 8 out of the box. I received a update that took me to Android 9 which was roughly 1100mb and another to Android 10 which was a little over 1000mb. The second update automatically included the February security patch. Rather than downgrade to January, I simply patched a February boot image with magisk and flashed with fastboot. I also flashed ElementalX kernel via fastboot. As far as I can tell they are not carrier specific. I am considering going to January now so I can use twrp to test some custom roms. For downgrading to January do I simply flash the January boot image which shows to be about 65mb or do I need to find the firmware in it's entirety? Also rather than down grade and use twrp can I just flash custom roms via fastboot? I would say you might have to downgrade to January to use twrp to flash Android 11 unless it's possible to flash the roms on fastboot, hopefully someone chimes in bc I'm unsure at this point.
Noob question, but what's the advantage to changing just the kernel?
Coming back to XDA after over a year. Realized Google Play Store update ruined my Magisk status, and evetually root (SafetyNet stuff). Here are some notes I took while I flashed in 2019, hope it helps.
1. DISABLE Security (PIN/Pattern/Fingerprint)
2. Backup Internal Storage
3. Boot to recovery TWRP, and backup nandroid.
(must go to bootloader and change slot to boot twrp.img flashed on that boot partition slot)
4. Normal boot and drag drop nandroid backup to PC.
5. Syncthing/Resilio for extra measure.
Have latest OTA.zip, boot.img (same version as OTA.zip), and latest Magisk.zip in root internal phone storage.
Have twrp.img in platform-tools adb root for flashing in fastboot.
twrp.zip is optional stored in root internal phone storage.
Flash OTA.zip update in TWRP. (assuming system is under slot_b)
This will flash to opposite slot, _a.
(I flashed under slot_b and new OTA went to slot_a, I booted back to _b and
old system version remained with broken Wifi becasue I accidentally flashed new boot.img in TWRP image over older system image
in slot_b, without the image flash, I suspect the old slot_b would have been perfectly untouched and rooted, as OTA applied to slot_a)
(Went back to A and new OTA was perfectly fine, although unrooted).
Boot to slot_a (system_a), make sure it runs good and verify version within settings, should be unrooted.
Boot to bootloader (under same OTA slot_a), default recovery should be stock recovery (droid logo) after OTA flash.
fastboot flash boot twrp.img (this will replace stock recovery to twrp recovery, deleting stock boot img as well, breaking OTA slot)
Reboot to recovery twrp (remain on same slot and will run off of RAM, leaving boot partition open to flash back stock boot.img)
Install boot.img (make sure version is correct) boot partition should be back to working condition although unrooted OTA system.
Try booting back to recovery on same slot, and stock droid recovery is back. (you cannot edit partitions from fastboot, hence twrp flip flop)
Try booting to system, it will boot but broken, no wifi. How? Not sure, maybe used old boot partition .img in slot_b to boot to system_a
Then flash latest magisk zip to patch stock boot.img for root.
(if you flashed twrp.img and magisk, then you're patching twrp, which is incorrect.
You want to boot to twrp, then flash boot.img back to boot_a partition, then run magisk.zip to patch stock boot.img in that boot_a partition)
Magisk.zip flash log:
Current boot slot: _a
Mounting system
Mounting vendor
Device is system-as-root
System-as-root, keep dm/avb-verity
Encrypted data, keep forceencrypt
Target image: /dev/block/sde11
Device platform: arm64
Constructing environment
Boot image is signed with AVB 1.0
Unpacking boot image
Checking ramdisk status
Stock boot image detected
Backing up stock boot image
Patching ramdisk
Repacking boot image
Flashing new boot image
Sign image with test keys
Unmounting partitions
Done
Updating partition details...
...done
Wipe cache/dalvik
In TWRP, tap reboot button and switch slot_a to other slot_b (older system version).
Reboot to bootloader_b in TWRP.
Flash twrp.img in that other old slot_b (For backup purposes and to have twrp at hand because boot_a has patched rooted boot.img and not twrp anymore)
Done!
Click to expand...
Click to collapse

Would someone please share global OOS11 stable patched_boot.img?

Everytime I have to extract a payload.bin it never works when I need it to... Would someone please share their patched.boot.img for the global stable OOS11?
Thank a TON!!
Here is the patched Magisk 21.0 boot image for US phones (international). I didn't name it anything fancy, just trying to get it uploaded for people.
Remember to flash in both slots in fastboot.
Couldn't post the image here since it's too big. Hopefully my drive link works.
https://drive.google.com/file/d/1IH_lWwTHfapcoltXKldR18Qlt_Zf50t9/view?usp=sharing
open beta 3 patched boot.img in2025
How about a patched boot.img for open beta 3 for in2025? finally got open beta 2 rooted and updated to 3 , tried installing magisk direct and to inactive slot which failed every time. Kinda disappointed by the lack of support for this phone.
If you can get a hold of a full rom for beta 3, you should be able to get a copy of the stock boot.img using Payload Dumper. You can patch it using Magisk Manager w/o root and try booting with it first (before flashing it directly).
If the latest Magisk Manager from the Stable branch doesn't detect root properly (shows N/A), I'd recommend trying the Beta Branch.
Once you confirm you have root detected and working properly, you can reboot back into Fastboot and flash the boot.img you used.

Is it possible to root the phone and still getting OTA updates ?

I want to root my phone due to its huge benefits but also at the same time I want to keep my OTAs
Is it possible even if I will install them manually (but the data remains with no wipe) ?
And if so, how can I do this and whats the best way?
Thanks in advance and sorry if the language was bad <3
Tsunaimy said:
I want to root my phone due to its huge benefits but also at the same time I want to keep my OTAs
Is it possible even if I will install them manually (but the data remains with no wipe) ?
And if so, how can I do this and whats the best way?
Thanks in advance and sorry if the language was bad <3
Click to expand...
Click to collapse
Yes it's possible with a little workaround, to temporarily switch to stock Recovery (from TWRP, if you had it installed) and to stock Boot (from the one patched by Magisk) during the OTA upgrade - OTA will fail if it finds not the stock images of Recovery and Boot
After the upgrade you just flash the new Boot patched by Magisk (and flash TWRP if you will)
Or you flash TWRP and flash Magisk from TWRP
Below is a post how I recently upgraded from QFJEUXM 12.0.2 to 12.0.3. Btw, I downloaded zip and initiated OTA manually because I didn't want to wait more days to be pushed for OTA, but that's just a small detail not important for the way how to do it:
https://forum.xda-developers.com/showpost.php?p=83791185&postcount=93
Ofc, all my data, apps, settings, and Magisk modules were preserved
Generally, in the Redmi K20/Mi 9T Guides section on XDA you can find (at least two) threads about how-to root, i.e. install Magisk
Those threads describe the way to install Magisk by installing Magisk Manager, patching the Boot image, then flashing it from Fastboot (I prefer that way).
In that case TWRP is not needed (but it can be also installled)
Threads and guides are maybe old (since MIUI 11) but it doesn't matter, it's always the same method (essentially the same as in my post I gave you the link above, its part about returning back to Magisk after the OTA upgrade)
If you follow those guides you must pay attention that you patch the boot.img for exactly that (new) stock MIUI you do have and that you now use new Magisk (not some old versions as in the guides)
Alternatively, you flash TWRP by Fastboot, then flash Magisk zip from TWRP and then you install Magisk Manager
All those methods are described in other threads and posts.
Anyway, you must first unlock the Bootloader, again there is thread with a guide, or just google for how to unlock Bootloader on Xiaomi
Btw, some custom TWRP versions and Orange Fox do have Advanced options for upgrading MIUI and to keep Magisk, but when I did it that way for upgrading from QFJEUXM 11.0.5 to 12.0.2, it made me Factory reset and I lost all my files on Internal memory (it was generally an issue for the others who upgraded from MIUI 11 to MIUI 12 by flashing OTA through custom recovery)
Hence now for upgrading to 12.0.3 I didn't want to risk and did it as above
zgfg said:
Yes it's possible with a little workaround, to temporarily switch to stock Recovery (from TWRP, if you had it installed) and to stock Boot (from the one patched by Magisk) during the OTA upgrade - OTA will fail if it finds not the stock images of Recovery and Boot
After the upgrade you just flash the new Boot patched by Magisk (and flash TWRP if you will)
Or you flash TWRP and flash Magisk from TWRP
Below is a post how I recently upgraded from QFJEUXM 12.0.2 to 12.0.3. Btw, I downloaded zip and initiated OTA manually because I didn't want to wait more days to be pushed for OTA, but that's just a small detail not important for the way how to do it:
https://forum.xda-developers.com/showpost.php?p=83791185&postcount=93
Ofc, all my data, apps, settings, and Magisk modules were preserved
Generally, in the Redmi K20/Mi 9T Guides section on XDA you can find (at least two) threads about how-to root, i.e. install Magisk
Those threads describe the way to install Magisk by installing Magisk Manager, patching the Boot image, then flashing it from Fastboot (I prefer that way).
In that case TWRP is not needed (but it can be also installled)
Threads and guides are maybe old (since MIUI 11) but it doesn't matter, it's always the same method (essentially the same as in my post I gave you the link above, its part about returning back to Magisk after the OTA upgrade)
If you follow those guides you must pay attention that you patch the boot.img for exactly that (new) stock MIUI you do have and that you now use new Magisk (not some old versions as in the guides)
Alternatively, you flash TWRP by Fastboot, then flash Magisk zip from TWRP and then you install Magisk Manager
All those methods are described in other threads and posts.
Anyway, you must first unlock the Bootloader, again there is thread with a guide, or just google for how to unlock Bootloader on Xiaomi
Btw, some custom TWRP versions and Orange Fox do have Advanced options for upgrading MIUI and to keep Magisk, but when I did it that way for upgrading from QFJEUXM 11.0.5 to 12.0.2, it made me Factory reset and I lost all my files on Internal memory (it was generally an issue for the others who upgraded from MIUI 11 to MIUI 12 by flashing OTA through custom recovery)
Hence now for upgrading to 12.0.3 I didn't want to risk and did it as above
Click to expand...
Click to collapse
I really appreciate your reply but I kinda don't know much info to understand most of what u said
My last time with root was about 3 years ago with king root on Mi A1 and I didn't care about updates then
so it's my very first time with magisk and TWRP and that stuff
Could u tell me what is the best method of u mentioned to keep my files and everything with no delete and also makes me able to upgrade Official ROM with no deletes
After this i'll start digging to learn but I want to know what should I dig for
Thanks bro
Tsunaimy said:
I really appreciate your reply but I kinda don't know much info to understand most of what u said
My last time with root was about 3 years ago with king root on Mi A1 and I didn't care about updates then
so it's my very first time with magisk and TWRP and that stuff
Could u tell me what is the best method of u mentioned to keep my files and everything with no delete and also makes me able to upgrade Official ROM with no deletes
After this i'll start digging to learn but I want to know what should I dig for
Thanks bro
Click to expand...
Click to collapse
Unlocking Bootloader usually takes to wait 7 days=168 hours, hence you have enough time to read?
Unlocking Bootloader:
https://c.mi.com/thread-1857937-1-1.html
Unlocking Bootloader: and Installing TWRP, OP post #1:
https://forum.xda-developers.com/mi-9t/how-to/guide-unlock-bootloader-flash-xiaomi-eu-t3952443
- for step 6, installing TWRP, use TWRP I'm giving you below
- instead of 7, execute this command:
>> fastboot oem reboot-recovery
- step 7, don't Format Data (unless you really go to install custom ROM, otherwise you don't need to)
- stop here for installing TWRP
Suggesting you to use this TWRP, 3.4.0.2 from OP post #1:
https://forum.xda-developers.com/mi-9t/how-to/recovery-unofficial-twrp-3-4-0-1-t4135159
- every time you boot to TWRP, you must type in your Android screen unlock pin, TWRP needs to be able to read/write to Data and Internal memory
Learn about using ADB and Fastboot:
https://www.makeuseof.com/tag/use-adb-fastboot-android/
- you can't do things with ADB that require root, but you can read
- similarly, fastboot commands mostly require unlocked Bootloader, but you can read
- google yourself
About installing Magisk, read in these threads:
https://forum.xda-developers.com/mi-9t/how-to/guide-easiest-to-root-twrp-t4000209
https://forum.xda-developers.com/mi-9t/how-to/root-k20-indian-rom-v10-3-6-0-twrp-t3958566
- if you have time, go through the whole threads, you will see variations
- don't worry if talking about MIUI 11, same applies for MIUI 12, you will just need to download your MIUI 12 recovery/zip firmware, will give you link below
- I'll give you below the link for the latest Magisk
MIUI firmwares, download, etc:
https://androidfilebox.com/tips/how-to-install-miui-recovery-rom/
https://androidfilebox.com/tips/how-to-install-miui-fastboot-rom/
https://xiaomiflashtool.com/tutorial/use-xiaomi-flash-tool
https://xiaomifirmwareupdater.com/miui/davinci/
https://codeexercise.com/xiaomi-all-android-mobile-secret-code-list/amp/
Various methods to extract stock Recovery, Boot, Persist and Persistbak partitions:
https://forum.xda-developers.com/mi-9t/how-to/root-k20-indian-rom-v10-3-6-0-twrp-t3958566
Magisk documentation and download:
https://github.com/topjohnwu/Magisk/blob/master/README.MD
- read the docs
- I would suggest you to use Canary (don't worry, Stable is far behind), hence you will only need to download Magisk Manager Canary (then follow XDA guides I gave you above)
zgfg said:
Unlocking Bootloader usually takes to wait 7 days=168 hours, hence you have enough time to read
Unlocking Bootloader:
https://c.mi.com/thread-1857937-1-1.html
Unlocking Bootloader: and Installing TWRP, OP post #1:
https://forum.xda-developers.com/mi-9t/how-to/guide-unlock-bootloader-flash-xiaomi-eu-t3952443
- for step 6, installing TWRP, use TWRP I'm giving you below
- instead of 7, execute this command:
>> fastboot oem reboot-recovery
- step 7, don't Format Data (unless you really go to install custom ROM, otherwise you don't need to)
- stop here for installing TWRP
Suggesting you to use this TWRP, 3.4.0.2 from OP post #1:
https://forum.xda-developers.com/mi-9t/how-to/recovery-unofficial-twrp-3-4-0-1-t4135159
- every time you boot to TWRP, you must type in your Android screen unlock pin, TWRP needs to be able to read/write to Data and Internal memory
Learn about using ADB and Fastboot:
https://www.makeuseof.com/tag/use-adb-fastboot-android/
- you can't do things with ADB that require root, but you can read
- similarly, fastboot commands mostly require unlocked Bootloader, but you can read
- google yourself
About installing Magisk, read in these threads:
https://forum.xda-developers.com/mi-9t/how-to/guide-easiest-to-root-twrp-t4000209
https://forum.xda-developers.com/mi-9t/how-to/root-k20-indian-rom-v10-3-6-0-twrp-t3958566
- if you have time, go through the whole threads, you will see variations
- don't worry if talking about MIUI 11, same applies for MIUI 12, you will just need to download your MIUI 12 recovery/zip firmware, will give you link below
- I'll give you below the link for the latest Magisk
MIUI firmwares, download, etc:
https://androidfilebox.com/tips/how-to-install-miui-recovery-rom/
https://androidfilebox.com/tips/how-to-install-miui-fastboot-rom/
https://xiaomiflashtool.com/tutorial/use-xiaomi-flash-tool
https://xiaomifirmwareupdater.com/miui/davinci/
https://codeexercise.com/xiaomi-all-android-mobile-secret-code-list/amp/
Various methods to extract stock Recovery, Boot, Persist and Persistbak partitions:
https://forum.xda-developers.com/mi-9t/how-to/root-k20-indian-rom-v10-3-6-0-twrp-t3958566
Magisk documentation and download:
https://github.com/topjohnwu/Magisk/blob/master/README.MD
- read the docs
- I would suggest you to use Canary (don't worry, Stable is far behind), hence you will only need to download Magisk Manager Canary (then follow XDA guides I gave you above)
Click to expand...
Click to collapse
bro I can`t really thank u enough for the effort
as I got it:
1- Unlock bootloader
2- Install TWRP (the version u provided)
3- Install Magisk (last link u provided) right?
Is there any step of those that is risky or unsafe that may brick the phone ?
PS: On mi unlock application it says all phone data will be erased !
what should I do ?
By unlocking Xiaomi phone you won't lose anything but previous user data stored in phone, unlike ASUS phone losts OTA permanentry.
So make a backup, also I recommend you first picking your secondaly phone, not your daily using one.
Tsunaimy said:
bro I can`t really thank u enough for the effort
as I got it:
1- Unlock bootloader
2- Install TWRP (the version u provided)
3- Install Magisk (last link u provided) right?
Is there any step of those that is risky or unsafe that may brick the phone ?
PS: On mi unlock application it says all phone data will be erased !
what should I do ?
Click to expand...
Click to collapse
As described, TWRP is optional, not needed for Magisk/root but it would be useful to have, so yes, install TWRP
Instructions for unlocking Bootloader say to do Backup. Copy photos and files from Internal memory to PC.
Export contacts to CVS file and also copy to PC.
Backup to Google your Google accounts, contacts, WhatsApp, etc.
Use Settings, Additional settings, Backup, and cooy to PC.
You can also use Settings, MIUI account to backup things
Installations of Magisk and TWRP will not erase data. Generally, they are not risky unless you make really stupid mistake like flashing TWRP img file to System partition instead of to Recovery partition and so - that's why you have instructions how to use Fastboot command to flash TWRP
It's more risky if you go to use e.g. MiFlash (you don't need for TWRP and Magisk), then people can screw up things and need authorized EDL support

[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