how to i edit twrp recovery to remove fingerprint ota check? - Xiaomi Redmi 3s Questions & Answers

as stated i want to edit twrp recovery to remove the check it does for rom ota fingerprint renaming or whatever it does, flashing ota fails because incorrect fingerprint naming as a user here pointed out so i want to fix it.

Have you managed to figure it out?
In twrp, flashing OTA zip fails with
Code:
Package expects build fingerprint of Redmi/begonia/begonia:11/RP1A.200720.11/V12.5.1.0.RGGMIXM:user/release_keys
This device has Begonia/twrp_begonia/....
Build.prop is ok and when issuing "prop" command from terminal i get the correct fingerprint, it just seems changed in TWRP

Related

ADB Sideload SuperSU on encrpyted phone

According to the following post, I should be able to gain root on my encrypted phone.
wgspoelstra said:
Yes, decryption is broken right now. On all versions of TWRP available, that support Oxygen OS 3.x.x, decryption is non-functional.
I have a workaround for flashing zips with an encrypted phone:
Boot into recovery, flash SuperSU over ADB Sideload, reboot phone.
You now have working root. Any zips you want to flash, place them in /system/media folder.
I use Root Explorer for this. When you boot back into recovery, mount /system and navigate to /system/media folder.
This way you can still flash all zips you want without decryption.
Click to expand...
Click to collapse
But I am having issues. Most notably, ADB does not recognize my phone unless I connect while in the OS or in stock recovery. If I connect while using any custom recovery (I've tried Hybrid and a few versions of TWRP), ADB does not list my phone when I run ADB devices. It's also very wonky trying to get stock recovery back on my phone afterwards, but that's a different issue.
While attempting to flash SuperSU when using stock recovery, the command sends the file and the phone begins the "update". It runs for about a second and then I get a "Installation Failed" message on my phone's screen. I've tried many different versions of SuperSU.
My current setup is the latest OOS (3.0.2) and stock recovery. The device is encrypted. My bootloader is unlocked, but I do not have root.
Could someone please help me out here? I have to have encryption on the phone for my work, but I really want to have root as well. Being able to customize my phone is why I went with OnePlus, but it's not proving to be any better than my Samsung Galaxy S4!!! Please help!

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..?

How to use OTA update after flashing magisk?

I've got an xt1768 RETAIL on npqs26.69-64-2 with bootloader unlocked. I flashed magisk, xposed system-less and the f2fs cache modules a while ago and just got the prompt for the new ota. I thought the update procedure was to disable magisk, reboot and then install the ota normally. After disabling magisk and rebooting the boot process gets stuck at "bad key", i assume because magisk modified one of the images. I'm able to get back into the bootloader and boot twrp and reflash magisk and everything boots up fine after. If anyone has a guide with the steps to actually do the update I'd appreciate it.
xeropressence said:
I've got an xt1768 RETAIL on npqs26.69-64-2 with bootloader unlocked. I flashed magisk, xposed system-less and the f2fs cache modules a while ago and just got the prompt for the new ota. I thought the update procedure was to disable magisk, reboot and then install the ota normally. After disabling magisk and rebooting the boot process gets stuck at "bad key", i assume because magisk modified one of the images. I'm able to get back into the bootloader and boot twrp and reflash magisk and everything boots up fine after. If anyone has a guide with the steps to actually do the update I'd appreciate it.
Click to expand...
Click to collapse
Well the thing is, you've modified your boot.img and unencrypted your device. So ota is not really going to work. Normally, you uninstall magisk and restore your stock boot.img, and if you've only booted twrp, you could take the ota. Did you also flash the no verity opt encrypt zip?
The problem is, when you flash the stock boot.img, your device is going to re encrypt as soon as you boot.
So you'll likely need the full firmware package to update. I do mine with rsdlite and the service file.xml within the full firmware when it becomes available.
Someone else may have better news for you, but I don't.
madbat99 said:
Well the thing is, you've modified your boot.img and unencrypted your device. So ota is not really going to work. Normally, you uninstall magisk and restore your stock boot.img, and if you've only booted twrp, you could take the ota. Did you also flash the no verity opt encrypt zip?
The problem is, when you flash the stock boot.img, your device is going to re encrypt as soon as you boot.
So you'll likely need the full firmware package to update. I do mine with rsdlite and the service file.xml within the full firmware when it becomes available.
Someone else may have better news for you, but I don't.
Click to expand...
Click to collapse
I did not flash the no verity opt encrypt zip, pretty sure magisk sets no verity by default as that setting is unchecked in the magisk manager. Device is still encrypted. It was my understanding that when using the restore image uninstall of magisk boot.img would be restored to its stock state, which leads me to believe that the system partition was modified.
xeropressence said:
I did not flash the no verity opt encrypt zip, pretty sure magisk sets no verity by default as that setting is unchecked in the magisk manager. Device is still encrypted. It was my understanding that when using the restore image uninstall of magisk boot.img would be restored to its stock state, which leads me to believe that the system partition was modified.
Click to expand...
Click to collapse
So you kept encryption too? Then you should be able to restore stock boot.img and take ota. Unless you have modified your system somewhere along the way. Magisk itself doesn't modify it.
Most are not able to get the phone to boot with encryption enabled.
So if you have not modified system at any point, then restoring the stock boot.img should have worked.
You can download the stock firmware that your device is currently on and flash the system.img and boot.img from it to be certain.
Edit:
Oohhh, it's not stuck at bad key, it just takes awhile to pass that. It's because of unlocked bootloader. Without a patched boot.img, it says bad key, but it should proceed after a minute or two. Sorry, just re read your first post.

[Q] Help needed in relocking the bootloader

Hi,
Sometime back I unlocked the boot loader, used magisk to enable the camera2 api. After that I uninstalled magisk and tried to reloack the bootloader. Everything went inorder until I tried to relock the bootloader. But once I typed in the command to relock the bootloader, and restarted, the mobile showed something like, no os found or something like that, I don't remember correctly. Anyway I was not able to boot into the system. So I unlocked the bootloader again and flashed the patched boot image and did it all over again.
So now, my mobile is unlocked, but is working fine. Is there anyway I can reloack it without any issues?
I read something like, if I had changed anything in the system partition this might happen. But that was the reason I used magisk instead of editing the file. Magisk plugin just changes a variable instead of editing the build props file. So until I reset the device, the camera2 api will be enabled without changing any files in the system partition. But still the reloacking fails. So what could be the problem here?
Locking the bootloader will fail if the boot image is not changed back to the original unpatched one. Maybe the uninstall didn't run properly.
You do not need magisk to enable the camera2api attribute, just an adb command is needed. The magisk module method is just easier for noobs.
You can manually add the lines to enable camera2api and eis in build.prop
You can do that and relock the bootloader normally
berezker said:
You can manually add the lines to enable camera2api and eis in build.prop
You can do that and relock the bootloader normally
Click to expand...
Click to collapse
barrack1 said:
Locking the bootloader will fail if the boot image is not changed back to the original unpatched one. Maybe the uninstall didn't run properly.
You do not need magisk to enable the camera2api attribute, just an adb command is needed. The magisk module method is just easier for noobs.
Click to expand...
Click to collapse
What about the OTA updates? Will I be getting that if I changed the build.props file?
Because the way with magisk helps me get all the OTA updates. I just got one yesterday. I don't want to lose this. I read somewhere that editing any files in the system partition will stop receiving the OTA updates.
obscurant1st said:
What about the OTA updates? Will I be getting that if I changed the build.props file?
Because the way with magisk helps me get all the OTA updates. I just got one yesterday. I don't want to lose this. I read somewhere that editing any files in the system partition will stop receiving the OTA updates.
Click to expand...
Click to collapse
OTA will not work if any file on the /system including build.prop is changed.
All that is needed to enable gcam on this particular device is to enable the api through adb commands which does not change the system partition.
obscurant1st said:
What about the OTA updates? Will I be getting that if I changed the build.props file?
Because the way with magisk helps me get all the OTA updates. I just got one yesterday. I don't want to lose this. I read somewhere that editing any files in the system partition will stop receiving the OTA updates.
Click to expand...
Click to collapse
OTA will not work if any file on the /system including build.prop is changed.
All that is needed to enable gcam on this particular device is to enable the api through adb commands which does not change the system partition.

Strange OTA behaviour after installing Magisk

After a long time I finally decided to upgrade to PIE (stock).
The latest official Fastboot ROM I could find is from May (V10.0.9.0) - so this is what I used to install.
Everything went fine, and as expected I was prompted for an OTA upgrade to August which I performed. The Build number become ...V10.0.12.0
Afterwards I installed Magsik (V19.3) via Boot to TWRP - also with no problem.
But surprise: I was prompted for another OTA-upgrade this time to July2019, and the Build number shows V10.0.9.0 !
Ok, I uninstalled Magisk to get this upgrade done, but the upgrade failed..
Went back to re-flash the Fastboot ROM for May and .. and ... and the story repeated.
Any idea what's going on?
I would reflash whole ROM with the latest official Fastboot ROM again (do not forget to remove bootloader lock command from the flashing script or you'll lose your data) and flash Magisk from TWRP. For the OTA update follow this guide, you don't really need to mess up with TWRP more than once https://github.com/topjohnwu/Magisk/blob/master/docs/tutorials.md.
One thing to keep in mind - do NOT allow system modifications in TWRP as it will mount system partition as R/W and prevent future OTA updates to install. If you allowed it somewhere in the past (or you don't remember) - delete TWRP settings from /sdcard/TWRP and pay attention on the first boot of TWRP.

Categories

Resources