Related
Ok, so there seems to be some issues with installing the recent 4.2.1 OTA update with custom recoveries (ie: CWM or TWRP). I ran into this issue myself, and I've seen many other posts with similar problems. I've found the solution and explained it in multiple threads, but due to the nature of the issue, I thought it deserved it's own thread to make sure everyone is aware of the problem and the workaround.
Details:
The 4.2.1 OTA update comes in two flavors - nakasi and nakasig. The former is for WiFi devices (8, 16, 32), and the latter is for 3G devices. In turn, they each have their own device types - grouper and talapia, respectively. While the hardware differences between the WiFi and 3G models is negligible, and most things are interchangeable (ie: kernels, recoveries, etc.), the updates are NOT, and you need to pick the correct one for your platform. For the 3G models, this means the 'nakasig' version.
However, the first thing the OTA update does is validate the integrity of the system. In addition to checking about 200 files in the /system partition, it also looks at the device itself. Specifically:
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "google/nakasig/tilapia:4.2/JOP40C/527662:user/release-keys" ||
file_getprop("/system/build.prop", "ro.build.fingerprint") == "google/nakasig/tilapia:4.2.1/JOP40D/533553:user/release-keys");
assert(getprop("ro.product.device") == "talapia" ||
getprop("ro.build.product") == "talapia");
While the first part checks the build.prop file to see what the "ro.build.fingerprint" has defined, the latter (bolded) assert examines what the RECOVERY says the system is. This is where the problem lies. AFAIK, there are no 'talipia' versions of CWM or TWRP. All 3G users running custom recoveries are using the 'grouper' (ie: Wi-Fi only) version. And this is fine 99% of the time. But this is the 1% of the time when they are not compatible. As a result, when the updater script checks recovery, and is told that the system is 'grouper', it aborts the update.
I ran into this issue on both the latest versions of TWRP and CWM. I wasn't sure why, since I thought it just looked at build.prop which was OK. After speaking with oldblue910, he explained that it is getting that information not from build.prop, but from the custom recovery, which is why the update was failing (thanks to oldblue910 for the info!).
SO, I was left with one of two options. I could either restore the stock talipia recovery or modify the update zip to ignore this information. I chose the latter. I'm not sure why Google decided to even but this redundant check in place, since the build.prop fingerprint check should suffice to validate the hardware. Not to mention that the next part of the update is to assert check the majority of files in 'system' anyway, which would fail if it wasn't a 3G device. In any case, by removing the above bolded lines out of the updater-script, my tablet was able to be successfully updated to 4.2.1.
Since many other XDA users run custom recoveries, it is safe to say many other users will run into this issue as well. So I put my custom update online for anyone else to use.
You can download it here:
http://core.routed.com/CUSTOM_RECOVERY-65880f56b1c0.signed-nakasig-JOP40D-from-JOP40C.65880f56.zip
MD5SUM: b0adff6a04ca2ca6234a9678476d329e
A couple notes:
1) This update zip is completely identical to the Google version, outside of the talipia check removed.
2) This update should ONLY BE USED ON 3G NEXUS 7 MODELS. It will NOT work on Wi-Fi only versions.
3) All the other asserts are left in-tact, as they should be. So your 'system' needs to be mostly stock. It checks and patches about 200 files, and if any of them are modified, removed, frozen, etc., the update will fail.
4) The OTA update does NOT check or update the bootloader or kernel, so modifications or non-4.2-stock versions in those areas are fine. However, as stated in #3, mostly everything else should be stock.
5) If the update fails on a specific assert, it will explain what the problem is (ie: the specific apk or odex file). You will need to fix that before proceeding. If you run into an issue and require assistance, you will need to explain the exact error message.
6) As this is almost completely stock OTA update, you WILL lose root/custom recovery unless you take precautions to prevent them from being overwritten. To preserve root, you can use RootKeeper or a similar app to back it up. The latest version of CWM also will warn you if root is lost and apparently restore it for you. For the recovery side of things, the update puts that recovery-recovery file on the system. You can either manually remove it via adb shell (BEFORE REBOOTING AFTER THE UPDATE), or in CWM (and possibly TWRP's case), it should warn you that you might lose custom recovery after the update and ask if you want it to fix it for you (say yes).
Hopefully this helps others who ran into the same error as me. Enjoy!
phonic said:
Ok, so there seems to be some issues with installing the recent 4.2.1 OTA update with custom recoveries (ie: CWM or TWRP). I ran into this issue myself, and I've seen many other posts with similar problems. I've found the solution and explained it in multiple threads, but due to the nature of the issue, I thought it deserved it's own thread to make sure everyone is aware of the problem and the workaround.
Details:
The 4.2.1 OTA update comes in two flavors - nakasi and nakasig. The former is for WiFi devices (8, 16, 32), and the latter is for 3G devices. In turn, they each have their own device types - grouper and talapia, respectively. While the hardware differences between the WiFi and 3G models is negligible, and most things are interchangeable (ie: kernels, recoveries, etc.), the updates are NOT, and you need to pick the correct one for your platform. For the 3G models, this means the 'nakasig' version.
However, the first thing the OTA update does is validate the integrity of the system. In addition to checking about 200 files in the /system partition, it also looks at the device itself. Specifically:
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "google/nakasig/tilapia:4.2/JOP40C/527662:user/release-keys" ||
file_getprop("/system/build.prop", "ro.build.fingerprint") == "google/nakasig/tilapia:4.2.1/JOP40D/533553:user/release-keys");
assert(getprop("ro.product.device") == "talapia" ||
getprop("ro.build.product") == "talapia");
While the first part checks the build.prop file to see what the "ro.build.fingerprint" has defined, the latter (bolded) assert examines what the RECOVERY says the system is. This is where the problem lies. AFAIK, there are no 'talipia' versions of CWM or TWRP. All 3G users running custom recoveries are using the 'grouper' (ie: Wi-Fi only) version. And this is fine 99% of the time. But this is the 1% of the time when they are not compatible. As a result, when the updater script checks recovery, and is told that the system is 'grouper', it aborts the update.
I ran into this issue on both the latest versions of TWRP and CWM. I wasn't sure why, since I thought it just looked at build.prop which was OK. After speaking with oldblue910, he explained that it is getting that information not from build.prop, but from the custom recovery, which is why the update was failing (thanks to oldblue910 for the info!).
SO, I was left with one of two options. I could either restore the stock talipia recovery or modify the update zip to ignore this information. I chose the latter. I'm not sure why Google decided to even but this redundant check in place, since the build.prop fingerprint check should suffice to validate the hardware. Not to mention that the next part of the update is to assert check the majority of files in 'system' anyway, which would fail if it wasn't a 3G device. In any case, by removing the above bolded lines out of the updater-script, my tablet was able to be successfully updated to 4.2.1.
Since many other XDA users run custom recoveries, it is safe to say many other users will run into this issue as well. So I put my custom update online for anyone else to use.
You can download it here:
http://core.routed.com/CUSTOM_RECOVERY-65880f56b1c0.signed-nakasig-JOP40D-from-JOP40C.65880f56.zip
MD5SUM: b0adff6a04ca2ca6234a9678476d329e
A couple notes:
1) This update zip is completely identical to the Google version, outside of the talipia check removed.
2) This update should ONLY BE USED ON 3G NEXUS 7 MODELS. It will NOT work on Wi-Fi only versions.
3) All the other asserts are left in-tact, as they should be. So your 'system' needs to be mostly stock. It checks and patches about 200 files, and if any of them are modified, removed, frozen, etc., the update will fail.
4) The OTA update does NOT check or update the bootloader or kernel, so modifications or non-4.2-stock versions in those areas are fine. However, as stated in #3, mostly everything else should be stock.
5) If the update fails on a specific assert, it will explain what the problem is (ie: the specific apk or odex file). You will need to fix that before proceeding. If you run into an issue and require assistance, you will need to explain the exact error message.
6) As this is almost completely stock OTA update, you WILL lose root/custom recovery unless you take precautions to prevent them from being overwritten. To preserve root, you can use RootKeeper or a similar app to back it up. The latest version of CWM also will warn you if root is lost and apparently restore it for you. For the recovery side of things, the update puts that recovery-recovery file on the system. You can either manually remove it via adb shell (BEFORE REBOOTING AFTER THE UPDATE), or in CWM (and possibly TWRP's case), it should warn you that you might lose custom recovery after the update and ask if you want it to fix it for you (say yes).
Hopefully this helps others who ran into the same error as me. Enjoy!
Click to expand...
Click to collapse
I compiled a CWM image for tilapia, so now users can flash updates and roms for their device without trying to by-pass the safety checks. With everyone recommending flashing grouper recovery, people are going to keep flashing grouper roms and wonder why things aren't working correctly.
The two devices differ in more respects than a simple assert check, including having different recovery.fstab files, which are used to make and configure recovery.
Better to have proper recovery for our (unique) device instead of a grouper port. The CWM image is not touch, the touch sources are not open source and koush's online builder is not producing a working image at this time. I ported one by hand, but it is too buggy to release.
I'll add twrp to the post sometime later.
mateorod said:
I compiled a CWM image for tilapia, so now users can flash updates and roms for their device without trying to by-pass the safety checks. With everyone recommending flashing grouper recovery, people are going to keep flashing grouper roms and wonder why things aren't working correctly.
Better to have proper recovery for our (unique) device instead of a grouper port. The CWM image is not touch, the touch sources are not open source and koush's online builder is not producing a working image at this time. I ported one by hand, but it is too buggy to release.
I'll add twrp to the post sometime later.
Click to expand...
Click to collapse
Thanks, that's definitely a better solution versus a work around.
Though the safety check bypassed in the OP wouldn't cause any issues since it was redundant and unnecessary. The OTA update already checks build.prop for the model info and all the apks/odexes it updates, so it would be impossible to flash it on a non-compatible device. But you raise a very valid point about incorrect ROMs and other things. The 3G unit probably needs it's own forum.
Did you have to make any real modifications to CWM outside of changing grouper to talapia?
The 3G unit probably needs it's own forum.
Click to expand...
Click to collapse
Its already done here; http://forum.xda-developers.com/forumdisplay.php?f=2022
Ather said:
Its already done here; http://forum.xda-developers.com/forumdisplay.php?f=2022
Click to expand...
Click to collapse
Woohoo! Thanks.
I had some issues when I did the update. It gave me some errors, and aborted, but then I found a link that had the update and I got it to update. This happened on my n4 and n73g. Well, for some reason, the recoveries got deleted so I had to reinstall them. I was able to use the goo manager to restore TWRP on my N4, but it wasn't working on my N7 so I had to side load it. After this, I noticed that google now wasn't working on my n4, and the volume rocker on my n7 had some issues. I went in and wiped the cache and dalvik cache and rebooted. Google now works on my N4, and while the volume gets adjusted on my N7, it won't make the beep every time I push up or down on the rocker indicating the volume level. I haven't noticed any other issues, but I haven't really delved into my devices. I may try to do a factory wipe and return everything to stock just to see what went wrong in the first place and to see if I can do anything different I still can't figure out how to get ADB running on my computer, so yes I used one of the tool kits to load everything. I know the OP's position on tool kits, but I just can't figure out how to get ADB running manually, AND it takes so long to download and install everything unless I am installing things I don't even need.
Nexus 7 takju firmware update
Hi, while this is a very detailed description, I am still in need of help.
I just got a Google Nexus 7 from Google play store and it came with JVP15S firmware.
I understand that this is takju version of th edevice - I would like to upgrade it with the latest firmware but going through all the posts, I am totally lost.
I see upgrade files to upgrade from JOP40C to JOP40D - and see al ldifferent update combinations - but cannot fined one for JVP15S to JOP40D.
Also, all the updates are for different version "tilapia" and other fishes -- but none for takju (whatever that means)
Can someone direct me to right place to get the right updates/
Also I see a lot of posts and articles stating that Google is "pushing" the 4.2.1 Firmware JOP40D to Nexus 7 devices - how is this "pushing" manifest itself? What is the procedure for OTA update? Do I need to go to a place on Google to get it? Is it supposed to be downloaded automatically?
Hope someone can help.
Do you have the Galaxy Nexus or Nexus 7? If Galaxy Nexus, you of course would want to check those forums. As for the updates, you should normally see a notification alerting you of the update, but you can also check for it in settings/about phone/system updates. Otherwise the appropriate forum for your device will have links to the update files. Good luck!
lil help please
I updated to 4.2.1 with the OTA zip file using TWRP and voodoo root keeper installed. It flashed just fine. Rebooted with update. My root access is funky though. SuperSU is still there and I can access root file threw root explorer but I can't mount it as writable and when I install a new app that needs root access it never asks for it. Does superSU need to be updated? There is no update available for it.
Vlad7777 said:
Hi, while this is a very detailed description, I am still in need of help.
I just got a Google Nexus 7 from Google play store and it came with JVP15S firmware.
I understand that this is takju version of th edevice - I would like to upgrade it with the latest firmware but going through all the posts, I am totally lost.
I see upgrade files to upgrade from JOP40C to JOP40D - and see al ldifferent update combinations - but cannot fined one for JVP15S to JOP40D.
Also, all the updates are for different version "tilapia" and other fishes -- but none for takju (whatever that means)
Can someone direct me to right place to get the right updates/
Also I see a lot of posts and articles stating that Google is "pushing" the 4.2.1 Firmware JOP40D to Nexus 7 devices - how is this "pushing" manifest itself? What is the procedure for OTA update? Do I need to go to a place on Google to get it? Is it supposed to be downloaded automatically?
Hope someone can help.
Click to expand...
Click to collapse
Is your device rooted? Is this your first android device? You will get a little notification in the notification bar at the top saying your deivce has an update.. If you have not rooted, you will receive the first OTA in a day or two that will go from JVP15S to JOP40C. Then later, you will receive the update for JOP40D. Some people have had success at forcing the update by going to settings, apps, all, google framework services, and selecting force stop then clearing the data. You then go back into settings, about device, check for updates and check for update.
Vlad7777 said:
Hi, while this is a very detailed description, I am still in need of help.
I just got a Google Nexus 7 from Google play store and it came with JVP15S firmware.
I understand that this is takju version of th edevice - I would like to upgrade it with the latest firmware but going through all the posts, I am totally lost.
I see upgrade files to upgrade from JOP40C to JOP40D - and see al ldifferent update combinations - but cannot fined one for JVP15S to JOP40D.
Also, all the updates are for different version "tilapia" and other fishes -- but none for takju (whatever that means)
Can someone direct me to right place to get the right updates/
Also I see a lot of posts and articles stating that Google is "pushing" the 4.2.1 Firmware JOP40D to Nexus 7 devices - how is this "pushing" manifest itself? What is the procedure for OTA update? Do I need to go to a place on Google to get it? Is it supposed to be downloaded automatically?
Hope someone can help.
Click to expand...
Click to collapse
The N73G ships with an interim 4.2 build, which is JVP15S. There are some significant differences between this and JOP40C, which is the first update you will get out of the box. I imagine 4.2 wasn't fully finalized prior to hardware production, and they didn't want to hold it up until they were ready (wise choise!). In my case, within an hour after opening my N73G and turning it on, I had the 40C update notification. I applied this prior to rooting/modding/etc. ONLY after you are on 40C can you get the upgrade to 40D (4.2.1). Google pushes out incremental patch updates, so you can't skip a version.
So you have two options:
1) Apply update #1 and wait for #2 and then root/etc.
2) If you don't want to wait, and your device is still basically brand new and not setup (too much), AND assuming you want to root, customize, etc., just download the 4.2.1 system image from Google and fastboot flash it. You'll need to unlock the bootloader anyway, which will wipe your system, so now's a perfectly good time to do everything at once. Unlock bootloader, flash 4.2.1 stock (40D FULL IMAGE), flash custom recovery, install su zip, install any other mods (which is limited really to basic stuff and a custom kernel right now), enjoy.
Andoid 4.2.1 update
adamhlj said:
Is your device rooted? Is this your first android device? You will get a little notification in the notification bar at the top saying your deivce has an update.. If you have not rooted, you will receive the first OTA in a day or two that will go from JVP15S to JOP40C. Then later, you will receive the update for JOP40D. Some people have had success at forcing the update by going to settings, apps, all, google framework services, and selecting force stop then clearing the data. You then go back into settings, about device, check for updates and check for update.
Click to expand...
Click to collapse
Thanks!
It is my first Android device.
I am trying to root it (unsuccessfully).
I was able to get the FASTBOOT unlock - but cannot root because of the drivers interface...
I did update the firmware by forcing via framework system. Had to do in two steps as it only upgrades one generation at a time.
By the way - I had the "takju" - now it is "tilapia" after "official OTA update.
I hope to get the rooting problem resolved - all instructions on the net are for older ROMs and I already screwed up my work laptop installing obsolete PDANET drivers which replaced the original drivers - so my device manager which originally saw my Nexus 7 as "Nexus 7" now sees it as "Android Phone Device". I do not know how to recvert back.
So now I am going to try my other laptop for rooting.
Hopefully I could find just a "professional step by step procedure - unlike many that I found on the net. Many people just happy to get on YouTube to show themselves off but the advice is half ass.
Thanks again for your help though I am half way through.
Best regards
Vlad7777 said:
Thanks!
It is my first Android device.
I am trying to root it (unsuccessfully).
I was able to get the FASTBOOT unlock - but cannot root because of the drivers interface...
I did update the firmware by forcing via framework system. Had to do in two steps as it only upgrades one generation at a time.
By the way - I had the "takju" - now it is "tilapia" after "official OTA update.
I hope to get the rooting problem resolved - all instructions on the net are for older ROMs and I already screwed up my work laptop installing obsolete PDANET drivers which replaced the original drivers - so my device manager which originally saw my Nexus 7 as "Nexus 7" now sees it as "Android Phone Device". I do not know how to recvert back.
So now I am going to try my other laptop for rooting.
Hopefully I could find just a "professional step by step procedure - unlike many that I found on the net. Many people just happy to get on YouTube to show themselves off but the advice is half ass.
Thanks again for your help though I am half way through.
Best regards
Click to expand...
Click to collapse
I think you are either looking at really bad guides or simply making the rooting process much harder on yourself.
While some Android devices have more complicated unlocking/rooting/etc. requirements, that is not the case with Nexus devices - certainly not the Nexus7. The process couldn't be more simple. If you've already unlocked the bootloader, you are 1/3 of the way there. All you need to do is copy over a compatible "su" app zip to the device, install or run a custom recovery, install the su zip and voila - rooted.
If you already have fastboot running, that's the only tool you need. Download a custom recovery (CWM or TWRP) from a thread in this forum that is compatible, reboot into bootloader mode and install it:
fastboot flash recovery <recovery.img>
Then reboot into recovery mode (you can do this from bootloader), and you should be in CWM/TWRP. Then you simply install the SU zip using the menu on the screen.
It's a very simple process and does not require a special toolkit or anything like that.
phonic said:
I think you are either looking at really bad guides or simply making the rooting process much harder on yourself.
While some Android devices have more complicated unlocking/rooting/etc. requirements, that is not the case with Nexus devices - certainly not the Nexus7. The process couldn't be more simple. If you've already unlocked the bootloader, you are 1/3 of the way there. All you need to do is copy over a compatible "su" app zip to the device, install or run a custom recovery, install the su zip and voila - rooted.
If you already have fastboot running, that's the only tool you need. Download a custom recovery (CWM or TWRP) from a thread in this forum that is compatible, reboot into bootloader mode and install it:
fastboot flash recovery <recovery.img>
Then reboot into recovery mode (you can do this from bootloader), and you should be in CWM/TWRP. Then you simply install the SU zip using the menu on the screen.
It's a very simple process and does not require a special toolkit or anything like that.
Click to expand...
Click to collapse
Thank you for your reply and advice.
How do I place the "su zip" in the device and into which directory - I can try download directly to Nexus but needs to know where to place it.
Also what are "CWM" or "TWRP" And where do I place them for custom recovery procedure.
I apologize for my ignorance but Android is a complete new experience for me.
Vlad7777 said:
Thank you for your reply and advice.
How do I place the "su zip" in the device and into which directory - I can try download directly to Nexus but needs to know where to place it.
Also what are "CWM" or "TWRP" And where do I place them for custom recovery procedure.
I apologize for my ignorance but Android is a complete new experience for me.
Click to expand...
Click to collapse
You can place the "su zip" anywhere you like on the internal storage. When you get into custom recovery (CWM or TWRP), you can select "Install ZIP" (or something along those lines) and it will bring up a file system explorer that will let you select the one you want to install.
CWM and TWRP are both custom recoveries. They replace the stock, and very useless, recovery and give you many more advanced features. Things like flashing zip files, making nandroid backups, etc. You need to flash them to your "recovery" partition. It's a very easy process, but will require some specialized software. There are many guides and toolkits (if that's what you want to use) online. Just make sure you use the Talipia recovery (which exists now in the 3G forum).
Hi, I hope this is the right place to get help with this issue, if not I apologize, I'm new, this forum is huge, I'm not sure where I'd go for this.
Regarding my issue/background. I'm mildly savvy, I managed to successfully unlock my boot loader and install the Twrp boot recovery (version 3.0.2), and have installed SU. I have a couple app disablers and have disabled some what seem to be useless and, however they are system apps, I'm wondering if this may be the cause of the issue.
I've spent about 8 hours in total trying multiple different versions of the arm64, with basically this same error. At this point, and after much digging, I haven't been able to find a solution to my error anywhere.
Likely this is my own fault, but we will see. As stated above I'm trying to install the arm64 version on an HTC One m9 with twrp v3.0.2
The error I'm getting is E: Error executing updater binary in zip '/sdcard/xposed-v82-sdk22-arm64.zip
Any help is appreciated, I'm pretty sure it's something I'm missing. I'm going to keep trying to do this on my own but hey, if anyone has any advice,it is greatly appreciated!
AndroidWin said:
Hi, I hope this is the right place to get help with this issue, if not I apologize, I'm new, this forum is huge, I'm not sure where I'd go for this.
Regarding my issue/background. I'm mildly savvy, I managed to successfully unlock my boot loader and install the Twrp boot recovery (version 3.0.2), and have installed SU. I have a couple app disablers and have disabled some what seem to be useless and, however they are system apps, I'm wondering if this may be the cause of the issue.
I've spent about 8 hours in total trying multiple different versions of the arm64, with basically this same error. At this point, and after much digging, I haven't been able to find a solution to my error anywhere.
Likely this is my own fault, but we will see. As stated above I'm trying to install the arm64 version on an HTC One m9 with twrp v3.0.2
The error I'm getting is E: Error executing updater binary in zip '/sdcard/xposed-v82-sdk22-arm64.zip
Any help is appreciated, I'm pretty sure it's something I'm missing. I'm going to keep trying to do this on my own but hey, if anyone has any advice,it is greatly appreciated!
Click to expand...
Click to collapse
This error arises mostly due to two reasons:
you tried to flash a wrong .zip file that isn't designed for your system OR your recovery does not support it.
SDK21 is for Android 5.0.x
SDK22 is for Android 5.1.x
SDK23 is for Android 6.0.x
Maybe you could change your recovery (if you don't use the official one from TWRP's webpage.
You could also try to flash Xposed framework v80, which is known to work on most devices.
For further discussion and help, please use the official Xposed threads for Lollipop or Marshmallow, depending on your Android version.
This is an early release, but just like the other it's fully functional as a daily driver.
Note:
Still no root method for our device on Nougat
Features:
Pixel 2 emoji
Pixel 2 fonts
Pixel 2 wallpapers (live and still)
Pixel 2 sounds and notifications
Google Assistant
Google Lens
Unlimited Google photo storage (Pixel feature)
Round icons (uses apps native icons, not masks)
Daydreams enabled on battery power (screensaver can be used like always on display, until 15% battery)
360° rotation, everywhere
Power menu from sleep
All quick settings enabled (including mobile data toggle)
Hotspot activation bypass
System menu translated into every language
To do:
Lower the 15% screensaver limit
Add Pixel 2 logo and startup animation
Lockscreen background
Lockscreen default widgets (phone & camera)
What else do you want?
Bugs:
Selfie video doesn't record (prolly not fixable until we get an updated app)
Anything else?
Installation:
From 6.0.1:
Flash with Flashfire and do full wipe
From 7.1.1:
*Must use PC*
Method A
1. Unzip ROM.
2. Flash the included eng_root kernel with Odin.
3. Double click the included "Install.bat"
The script will wipe your data for you (and not touch the internal sd)
Method B
Use Odin to downgrade to 6.0.1 then flash zip with flashfire.
Download
I'll add more screenshots tomorrow
As of right now, even with the custom ROM, there is no root, correct?
I installed it, and every time I boot, I get a System UI has stopped error.
@NateDogg1232
Did you wipe?
... Correct no root yet, until we get a permissive kernel
DamienMc said:
@NateDogg1232
Did you wipe?
... Correct no root yet, until we get a permissive kernel
Click to expand...
Click to collapse
Yes, I did wipe.
I even did it again using the default recovery just to make sure.
More screenshots
Please, upload more screenshots, I would like to install this rom but I do not know if I really have any problems when using it, as it is in terms of speed, can it really be used now?
@RaghebAlama
Sorry I am having problems uploading more screenshots (used all my data this month)
I'll be sure to do it this evening when I'm on wifi.
I've been running this for a week now and haven't had any issues yet
But after the above comment you might want to grab full Odin updates as well, just in case you need to recover
@NateDogg1232
What method did you use to install?
What device do you have?
I would recommend going back to stock and giving it another try.
I apologise tho, I tried to get a few testers this time but never find any. It's hard to test every scenario with just one device
I used FlashFire from actually your first GPE ROM.
I have the J320A
I will reset from stock and try again as soon as I can and try again.
Whether it works or not, though. Thank you for your work on this phone
I bet that's it, I'm not sure I tried to install from v1.
Can't think of why it would fail except maybe if goodlock has files on your sd and this systemui is trying to use them... If you want to test that just pull your sd, because wipe already did your internal sd
I'll test it later this evening
[EDIT]
Nah wasn't that, it was a mistake by me. Two actually.
Testing a quick fix now. And I'll upload a full fixed Rom while I sleep
[/EDIT]
DamienMc said:
@RaghebAlama
Sorry I am having problems uploading more screenshots (used all my data this month)
I'll be sure to do it this evening when I'm on wifi.
try to explain in detail the installation process since 7.1.1 the eng_root does not detect it ODIN if it is not in .tar format, after installing the Eng_root, you have to start the normal cell phone and then the second.pass with the Install.bat ?
Click to expand...
Click to collapse
I fixed the systemui error and another popped up, sigh... ill let you know when it's fixed.
The only way to install this currently is from 7.1.1
@RaghebAlama
Eng_root is a tar. Flash it with Odin.
Your phone will stay on the logo the entire time.
Then just run the bat...The script waits for your phone, copies the required files, then it flashes the original kernel back and reboots.
easy peasy
... and it really does work installing this way
Sorry for the delay. Uploaded fixed version, OP updated
Alright, this looks AWESOME. Will try it when I get time. But about the root problem: I don't know if nobody's thought of this, or if I don't know something you do, but to get root for this, couldn't you add Magisk-14.zip (or another root method) to the queue in Flashfire, or include it in the install.bat? Flash the ROM then root, then reboot to system? I've tried to install Magisk before on stock Nougat with its new way of installing, which is flashing a boot.img that Magisk Manager patched, but Odin always failed on Operation: Write. I was going to go back to Marshmallow to try flashing a ROM and Magisk with Flashfire.
Hello. Can I get permission to make a version for j320fn/f/g
DJJosephJumper said:
Alright, this looks AWESOME. Will try it when I get time. But about the root problem: I don't know if nobody's thought of this, or if I don't know something you do, but to get root for this, couldn't you add Magisk-14.zip (or another root method) to the queue in Flashfire, or include it in the install.bat? Flash the ROM then root, then reboot to system? I've tried to install Magisk before on stock Nougat with its new way of installing, which is flashing a boot.img that Magisk Manager patched, but Odin always failed on Operation: Write. I was going to go back to Marshmallow to try flashing a ROM and Magisk with Flashfire.
Click to expand...
Click to collapse
Odin will not install a custom boot image on our device.
There are other ways to install the custom kernel, but our bootloader will not allow it to boot.
I can install SuperSU, but our selinux policy will not let the system load. The way I know it's rooted tho is that I can get a root shell thru adb, but that's useless since the system will not fully load... We need a new permissive boot image (engboot)
borksek said:
Hello. Can I get permission to make a version for j320fn/f/g
Click to expand...
Click to collapse
All yours bud
DamienMc said:
Odin will not install a custom boot image on our device.
There are other ways to install the custom kernel, but our bootloader will not allow it to boot.
I can install SuperSU, but our selinux policy will not let the system load. The way I know it's rooted tho is that I can get a root shell thru adb, but that's useless since the system will not fully load... We need a new permissive boot image (engboot)
Click to expand...
Click to collapse
Got it. Again, I was without the experience. Thanks for clearing it up.
Can i use this rom on my j320f
Does it work on the SM-J320m?
@aR_aNiK & @lithoy
Sorry guys, no.
For me, pwning my new phone was a 7-hour process that required incredible learning capacity. Not everyone is prepared to go through a process like that, and it can easily take multiple days or weeks. This is a guide outlining a version of the exact process that got me to this point. It should be easy for anyone to follow, even people without much technical knowledge. (although, do be careful with the resulting root access)
I started with a GM1915, which is the T-Mobile model. You'd think it would require an unlock key from T-Mobile in order to work, but actually it doesn't. That's what they don't want you to know.
A well-known method for bypassing that requirement is to install an international OS and then upgrade it to a certain developer preview, causing the phone to update the bootloader to a non-crippled version that doesn't require an unlock key. So that's what I did.
However, the process is easier said than done. For someone like me who's done it, it's not too hard, but for a beginner it's intensely confusing. I was a beginner just yesterday and struggled with dumb error messages like "packed image not exist".
The guide is below. Sections starting with "T-MOBILE ONLY" and ending with "END OF T-MOBILE ONLY" are only to be performed on T-Mobile phones with T-Mobile firmware and a locked bootloader. If you have an unlocked bootloader then you can skip those steps.
Make sure you have a Windows machine. The Qualcomm drivers are only available for Windows, the programs are only available for Windows, people on this forum only know Windows. I have a Mac, personally, because Unix is awesome, but unfortunately nobody has thought about us and all the tools are Windows-only. I am just as disappointed as you, trust me. I used a virtual machine, but YMMV, depending on how good your hypervisor's USB passthrough is. You may want to use bare metal if you only have VirtualBox; it's not worth the effort. You will be hot plugging A LOT, and your phone will show up as many different types of USB devices.
You must have fastboot installed, but ADB is not required.
--- T-MOBILE ONLY ---
Install the "L2 drivers" for the phone. You can find them here. Just install as many of them as you can by right-clicking every `.inf` file you find and clicking Install on each one of them. Some of them will have missing files. Some of them won't have a signature. It doesn't matter, as long as you try every one of them, something will work. For me it was the 64-bit driver, in the 64 folder. All the others are 32-bit.
--- END OF T-MOBILE ONLY ---
You should probably plug the phone into your computer now and install the official OnePlus drivers as well. This is so that you can easily access the phone storage, which will become very important soon. Reboot your computer to apply the driver updates.
--- T-MOBILE ONLY ---
Download the "MSM Download Tool" from here (same link as above). Place it in its own folder. This is crucial because you must now download the guacamole-whatever.7z file and extract the .ots file into the same folder as the MSM Download Tool.
MSM Download Tool always looks in its folder for the image and pops up a cryptic error message if it's not found ("packed image not exist"). This is not very widely documented because MSM Download Tool is often distributed in the same folder as the image anyway. That's not the case when you are forced to download them as separate files.
Note that this is the only time you will have to use MSM Download Tool and all other updates can be installed by the phone itself. On international variants you don't have to do this because the bootloader will already be unlockable, which is why this is T-Mobile only.
You need to start downloading three updates. This patched version of international OOS is where you will start, the developer beta will upgrade the bootloader, and the full downgrade will roll you back so you can start updating. Start the downloads now, but you do not have to wait for them to finish yet; it will be a few steps before you have to use them.
Now is about the time to back up any data you want to keep. Everything on your phone will be wiped by the next step, including bootloader unlock status, all your data, the entire operating system and so on.
Now it's time to install international OOS. Place it inside the folder with MSM Download Tool and then start it up. Uncheck the SHA-256 checkbox!
Unplug your USB cable and THEN turn off your phone completely. If the USB cable is plugged in while it's turned off, it will automatically boot into the charging mode which is not what you want. Have your USB cable, and computer mouse, on the ready. You don't want to waste any time, because this may be physically painful: Hold down both volume buttons at the same time for at least 5 seconds, and then plug the USB cable into your phone. Make sure some COM port appears in the tool, then click the "Start" button in MSM Download Tool WHILE STILL HOLDING THEM DOWN. You can only let the volume buttons go AFTER you click "Start", or else the phone will drop out of EDL mode into fastboot.
The process will take a few minutes depending on how fast your USB connection is. Leave the phone plugged in until it is complete. This also gives time to download those two updates, which are together about four gigabytes in size.
Once MSM Download Tool is done flashing, you can reboot the phone and set it up using the setup wizard. Feel free to move fast and enable nothing. You don't need internet, you don't need a correct clock, you don't need accounts or telemetry or anything like that. All data will be wiped again later.
Use your computer to copy the developer preview update to the phone. Don't copy it to the Download folder or anything, copy it into the root (just inside the internal storage). Go to settings > local updates > settings icon in the top right > local update and update to the developer preview.
Once you're in the developer preview, enable OEM unlocking in developer options, reboot into fastboot mode (I do this by also enabling advanced reboot in developer options) and use fastboot oem unlock. Your bootloader is now unlocked! But we're not nearly done yet, there's still lots to do.
After rebooting, since the unlock wiped the phone, you'll have to set it up again. Just breeze through like before, then copy the rollback zip to the phone just like you did for the developer preview.
Go to local update again and use the rollback. This is required in order to go back to a stable OS that can accept OTAs. After this your data will be wiped. This is the real setup wizard. You can set it up with real data; your data will not be wiped again for the rest of this guide.
--- END OF T-MOBILE ONLY ---
If your bootloader is not already unlocked, enable OEM unlocking in developer options and then run `fastboot oem unlock` in Fastboot mode.
Next, you will want to install Magisk. This is a slightly complex process but once it's done your phone will become fully untethered.
First download a tool called Payload Dumper. Extract the entire archive into its own folder. Get an OTA update for your version of OxygenOS (if your phone is T-Mobile, that is the rollback update you just installed; if you aren't following the T-Mobile guide, you may have to download an OTA update from Google), and use WinRAR or similar to extract the `payload.bin` inside into the payload dumper's input folder.
Run the payload dumper. You don't need to run all of it; wait for "boot" to show up in the console window, then wait until something else shows up and then close the window. Inside the output folder there should be a `boot.img`; there may be other img files but the boot is what we're interested in.
Transfer this boot.img to your device and use Magisk Manager to patch it. Transfer the magisk_patched.img to your computer, reboot the phone into fastboot mode and use `fastboot flash boot magisk_patched.img`. Reboot the phone into Android.
If you start Magisk Manager you should see that Magisk is installed. Great. Next step is to install TWRP.
In my experience, flashing TWRP or using `fastboot boot twrp.img` didn't work. You're not clever if you try installing OxygenOS 9.5.4 which adds `fastboot boot` support to the bootloader; it still won't work. In my experience the only correct way to install TWRP on the OnePlus 7 Pro is to use Magisk.
(Someone in the replies below stated that you need to upgrade all the way to OOS 10 in order to boot TWRP using fastboot. This guide details the easier method using Magisk Manager.)
On the phone, go to the TWRP downloads page for the OnePlus 7 Pro, and download the latest installer. Then flash the zip using Magisk.
Crucially, at the end of the installer log it says "you are now unrooted". DO NOT IGNORE THIS MESSAGE! If you reboot now, Magisk will be gone and the stock ROM will immediately overwrite TWRP. You must use Magisk Manager to reinstall Magisk using a "Direct Install". That way, your boot.img will be patched again and your Magisk (and TWRP) will persist across reboots.
Go ahead and try it out. Reboot a few times, sometimes into recovery, sometimes into Android to test Magisk.
We're still not done yet. Wouldn't you love to stay rooted and still be running the latest version of OxygenOS? I sure would. Next I'll describe the process of applying an OTA update while keeping your root and everything. Thanks to A/B you can stay untethered.
Please note that, if you'd like to proceed with the EU version of OxygenOS, you should go grab 9.5.4 before proceeding to the next step, for example from here (MD5 fcec14e2ec053d67c793a27bfdef17d0), and use local update to install it. (note GM21BA instead of GM21AA) The EU version is supposed to have better privacy options and less bloatware, so that's what I personally went with. Converting your OxygenOS from GM21AA to GM21BA has no harmful side effects and should work on any phone. It affects the OTA you'll receive in the next step, and this is possibly the only chance you'll get to switch (or not). So choose wisely.
You can find other versions of OOS in this XDA post.
Remember to turn off all auto-updating in the OxygenOS settings. You don't want your phone suddenly losing Magisk and TWRP after any old reboot. Then you can use the OxygenOS updater to accept an official OTA update. It will recognize you're rooted and install an entire fresh new system to your inactive slot, which is exactly what we want.
There are two steps you need to perform before rebooting. The first is TWRP persistence and the second is Magisk persistence. For TWRP persistence you need to go into Magisk Manager and flash a module called "TWRP A/B retention script". Then for Magisk persistence you need to go install Magisk again, but this time to the inactive slot. You must do TWRP persistence first.
After this you should be good to go back to the update screen and hit reboot. You should still have TWRP and Magisk, but now on the very latest version of OxygenOS. Customize your phone to your heart's content now; it's all yours.
Recommended tweaks:
- install a Magisk module called "Debloater (Terminal Emulator)". Install a terminal emulator like Termux and use `su` to enter a root shell. Then you can run `debloat` and go through the list of apps, removing things you don't want. Certain services need to be watched out for, like PlayAutoInstallConfig (lets your carrier silently install apps without your consent). You can find tidbits online explaining what certain things do, like this pastebin, or this one. Houdini is the kernel driver which is very important.
- enable MagiskHide and hide yourself from Netflix and other DRM-enabled apps. Also hide yourself from Google Play's snet service.
- there is a Magisk module called F-Droid Privileged Extension, it's quite nice.
- use MagiskHide Props Config to set `net.tethering.noprovisioning=true`. This will prevent the carrier from knowing when you are using hotspot features, so they will not immediately cut your connection
- don't install a custom ROM. OxygenOS is high quality and everything you could ever want from a phone honestly. It has all the drivers and stuff for the phone and all of that cool stuff.
Small curiosities:
- SMT download mode is a special flashing mode used by the factory and it can overwrite things like the IMEI. Don't mess with it, you do not know what you're doing.
- Now that you have the software, you can literally just install a Dual SIM tray and have dual SIMs. Your phone is essentially the same as the international OP7P
- Feel free to post if you have any issues or need help with something.
Thank you mate. This will help out a lot of people coming to one plus such as myself. Only wonder I have about it all is the dual sim. I have 2 imei now but obviously both are the same. So I'm trying to figure out how that would work.
TheMadScientist said:
Thank you mate. This will help out a lot of people coming to one plus such as myself. Only wonder I have about it all is the dual sim. I have 2 imei now but obviously both are the same. So I'm trying to figure out how that would work.
Click to expand...
Click to collapse
Yeah, same here. Dual SIM phones are required to have two IMEI numbers since they technically have two transceivers, one for each SIM. Maybe one day someone will post a guide on how to change your IMEI numbers? You could keep one and change the other.
Today I had a little incident with SafetyNet.
{
"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"
}
I had installed the magisk modules Riru and Riru - EdXposed. Big mistake. Uninstalling them didn't fix it. Reinstalling the OS didn't fix it. I thought I was totally ****ed. However, toggling MagiskHide off and back on again and clearing Google Play Services' data seems to have fixed it:
Phew. This SafetyNet guide really helped
EDIT: Also make sure to clear Play Store's data so it re-checks your device for certification.
LoganDark said:
Yeah, same here. Dual SIM phones are required to have two IMEI numbers since they technically have two transceivers, one for each SIM. Maybe one day someone will post a guide on how to change your IMEI numbers? You could keep one and change the other.
Click to expand...
Click to collapse
Unfortunately we can't discuss that on xda.
TheMadScientist said:
Unfortunately we can't discuss that on xda.
Click to expand...
Click to collapse
Software spoofing is allowed. EMS flashing is not.
Riru - EdXposed seems to pass SafetyNet if you use HiddenCore module (and DO NOT BLACKLIST GOOGLE SERVICES or else they will not get patched and they will fail you). I haven't checked to see how deep this goes. Perhaps third party apps which do their own SafetyNet check will see through it. Anyone here with experience?
Edit: BAD ADVICE DO NOT USE HIDDENCORE IT WILL BREAK SAFETYNET EVEN MORE
Well I got to say your guide it's good. But the part where you can only install twrp with magisk I got to say no there. All you have to do is use the roll back package and then update your phone with the first update it allows in system update. That should put you on Oxygen os android 10. Then fastboot will work. Did it myself so I know. Best regards
LokifiedMee said:
Well I got to say your guide it's good. But the part where you can only install twrp with magisk I got to say no there. All you have to do is use the roll back package and then update your phone with the first update it allows in system update. That should put you on Oxygen os android 10. Then fastboot will work. Did it myself so I know. Best regards
Click to expand...
Click to collapse
People seem to have mixed luck regarding using fastboot to boot TWRP. I understand upgrading the bootloader can enable additional fastboot capabilities which is why I tried it myself. It didn't work for me so that's why this guide takes the safer/guaranteed approach.
I did only upgrade to a later version of OOS 9, though. It added `fastboot boot` but trying it softlocked the phone.
Note that in either case, the OnePlus 7 Pro's recovery is stored in the boot partition, and flashing a zip using Magisk is easier than flashing one with TWRP.
I have revised the post to acknowledge the alternative method.
(Also, it's worth mentioning that I know anyone following this guide probably knows how to flash a zip in TWRP. I'm not saying that's too complicated, but the guide details the process I followed specifically. There are many other guides online detailing alternative methods, but they did not work for me, which is why I made this one.)
LoganDark said:
People seem to have mixed luck regarding using fastboot to boot TWRP. I understand upgrading the bootloader can enable additional fastboot capabilities which is why I tried it myself. It didn't work for me so that's why this guide takes the safer/guaranteed approach.
I did only upgrade to a later version of OOS 9, though. It added `fastboot boot` but trying it softlocked the phone.
Note that in either case, the OnePlus 7 Pro's recovery is stored in the boot partition, and flashing a zip using Magisk is easier than flashing one with TWRP.
I have revised the post to acknowledge the alternative method.
(Also, it's worth mentioning that I know anyone following this guide probably knows how to flash a zip in TWRP. I'm not saying that's too complicated, but the guide details the process I followed specifically. There are many other guides online detailing alternative methods, but they did not work for me, which is why I made this one.)
Click to expand...
Click to collapse
No worries mate. Just giving you the heads up. Cheers
I'm unsure how to flash twrp using magisk. I used a friend's machine to flash magisk last night but don't have access now. I'm waiting on asusurion to send mine back. I stayed on the beta and updated to the latest. Would flashing or booting into twrp be possible? Thanks for the guide, btw
Leskanic said:
I'm unsure how to flash twrp using magisk. I used a friend's machine to flash magisk last night but don't have access now. I'm waiting on asusurion to send mine back. I stayed on the beta and updated to the latest. Would flashing or booting into twrp be possible? Thanks for the guide, btw
Click to expand...
Click to collapse
Apologies for the late reply.
Download the "twrp-installer" zip file and use Magisk to flash it.
After that, you have to "direct install" Magisk again.
I guess my question is which option do i use in magisk to flash the twrp installer zip file? Do I use the install module from storage option or in the section where you patch files? Could i just use terminal emulator to boot into twrp then flash twrp and magisk while I'm in twrp? Sorry for my ignorance it's been a couple years since I've had Android with an unlocked bootloader and not having my laptop doesn't help
Leskanic said:
I guess my question is which option do i use in magisk to flash the twrp installer zip file? Do I use the install module from storage option or in the section where you patch files? Could i just use terminal emulator to boot into twrp then flash twrp and magisk while I'm in twrp? Sorry for my ignorance it's been a couple years since I've had Android with an unlocked bootloader and not having my laptop doesn't help
Click to expand...
Click to collapse
The TWRP installer zip is just a Magisk module that you can flash by going to the modules section and tapping "install from storage".
Basically, step 1: go into this section and install the twrp-installer zip this way
Step 2: go here
and direct install Magisk like this
Yes, you are installing Magisk again. That is because the TWRP installer overwrote it, and if you rebooted, you would lose root (and the stock ROM would immediately overwrite TWRP, leaving your device completely stock)
As for flashing both things via TWRP, you would probably flash TWRP first and then Magisk. If you can get the phone to boot into TWRP in the first place, yeah it's probably possible and many others have probably installed their TWRP+Magisk that way.
Thanks i didn't realize the twrp installer zip could be flashed as a module. Sorry it's been a while and I'm trying to get back up to speed
I have a few XPrivacyLua hooks that can be used to change your model number to GM1917 (at least to Java apps). It doesn't have any side effects except peace of mind.
Add these using the XPrivacyLua Pro companion app (you don't need to buy Pro to edit hooks), MAKE SURE to enter GM1917 in the model text box and save, enable them for every app including system apps in XPrivacyLua, and reboot.
Enjoy
LoganDark said:
For me, pwning my new phone was a 7-hour process that required incredible learning capacity. Not everyone is prepared to go through a process like that, and it can easily take multiple days or weeks. This is a guide outlining a version of the exact process that got me to this point. It should be easy for anyone to follow, even people without much technical knowledge. (although, do be careful with the resulting root access)
I started with a GM1915, which is the T-Mobile model. You'd think it would require an unlock key from T-Mobile in order to work, but actually it doesn't. That's what they don't want you to know.
A well-known method for bypassing that requirement is to install an international OS and then upgrade it to a certain developer preview, causing the phone to update the bootloader to a non-crippled version that doesn't require an unlock key. So that's what I did.
However, the process is easier said than done. For someone like me who's done it, it's not too hard, but for a beginner it's intensely confusing. I was a beginner just yesterday and struggled with dumb error messages like "packed image not exist".
The guide is below. Sections starting with "T-MOBILE ONLY" and ending with "END OF T-MOBILE ONLY" are only to be performed on T-Mobile phones with T-Mobile firmware and a locked bootloader. If you have an unlocked bootloader then you can skip those steps.
Make sure you have a Windows machine. The Qualcomm drivers are only available for Windows, the programs are only available for Windows, people on this forum only know Windows. I have a Mac, personally, because Unix is awesome, but unfortunately nobody has thought about us and all the tools are Windows-only. I am just as disappointed as you, trust me. I used a virtual machine, but YMMV, depending on how good your hypervisor's USB passthrough is. You may want to use bare metal if you only have VirtualBox; it's not worth the effort. You will be hot plugging A LOT, and your phone will show up as many different types of USB devices.
You must have fastboot installed, but ADB is not required.
--- T-MOBILE ONLY ---
Install the "L2 drivers" for the phone. You can find them here. Just install as many of them as you can by right-clicking every `.inf` file you find and clicking Install on each one of them. Some of them will have missing files. Some of them won't have a signature. It doesn't matter, as long as you try every one of them, something will work. For me it was the 64-bit driver, in the 64 folder. All the others are 32-bit.
--- END OF T-MOBILE ONLY ---
You should probably plug the phone into your computer now and install the official OnePlus drivers as well. This is so that you can easily access the phone storage, which will become very important soon. Reboot your computer to apply the driver updates.
--- T-MOBILE ONLY ---
Download the "MSM Download Tool" from here (same link as above). Place it in its own folder. This is crucial because you must now download the guacamole-whatever.7z file and extract the .ots file into the same folder as the MSM Download Tool.
MSM Download Tool always looks in its folder for the image and pops up a cryptic error message if it's not found ("packed image not exist"). This is not very widely documented because MSM Download Tool is often distributed in the same folder as the image anyway. That's not the case when you are forced to download them as separate files.
Note that this is the only time you will have to use MSM Download Tool and all other updates can be installed by the phone itself. On international variants you don't have to do this because the bootloader will already be unlockable, which is why this is T-Mobile only.
Start the MSM Downloader tool and make sure that it's open and ready. Uncheck the SHA-256 checkbox!
You need to start downloading two updates. The developer beta will upgrade the bootloader, and the full downgrade will give you a reference boot.img to use for Magisk. Start the downloads now, but you do not have to wait for them to finish yet; it will be a few steps before you have to use them.
Now is about the time to back up any data you want to keep. Everything on your phone will be wiped by the next step, including bootloader unlock status, all your data, the entire operating system and so on.
Unplug your USB cable and THEN turn off your phone completely. If the USB cable is plugged in while it's turned off, it will automatically boot into the charging mode which is not what you want. Have your USB cable, and computer mouse, on the ready. You don't want to waste any time, because this may be physically painful: Hold down both volume buttons at the same time for at least 5 seconds, and then plug the USB cable into your phone. Make sure some COM port appears in the tool, then click the "Start" button in MSM Download Tool WHILE STILL HOLDING THEM DOWN. You can only let the volume buttons go AFTER you click "Start", or else the phone will drop out of MSM mode.
The process will take a few minutes depending on how fast your USB connection is. Leave the phone plugged in until it is complete. This also gives time to download those two updates, which are together about four gigabytes in size.
Once MSM Download Tool is done flashing, you can reboot the phone and set it up using the setup wizard. This one will be overwritten, so feel free to move fast and enable nothing. You don't need internet, you don't need a correct clock, you don't need accounts or telemetry or anything like that. All data will be wiped again later.
Use your computer to copy both updates (developer preview & rollback) to the phone. Don't copy them to the Download folder or anything, copy them into the root. Go to settings > local updates > settings icon in the top right > local update and update to the developer preview.
Once you're in the developer preview, enable OEM unlocking in developer options, reboot into fastboot mode (I do this by also enabling advanced reboot in developer options) and use `fastboot oem unlock`. Your bootloader is now unlocked! But we're not nearly done yet, there's still lots to do.
Go to local update again and use the rollback. This is required in order to go back to a stable OS that can accept OTAs. After this your data will be wiped. This is the real setup wizard. You can set it up with real data; your data will not be wiped again for the rest of this guide.
--- END OF T-MOBILE ONLY ---
If your bootloader is not already unlocked, enable OEM unlocking in developer options and then run `fastboot oem unlock` in Fastboot mode.
Next, you will want to install Magisk. This is a slightly complex process but once it's done your phone will become fully untethered.
First download a tool called Payload Dumper. Extract the entire archive into its own folder. Get an OTA update for your version of OxygenOS (if your phone is T-Mobile, that is the rollback update you just installed; if you aren't following the T-Mobile guide, you may have to download an OTA update from Google), and use WinRAR or similar to extract the `payload.bin` inside into the payload dumper's input folder.
Run the payload dumper. You don't need to run all of it; wait for "boot" to show up in the console window, then wait until something else shows up and then close the window. Inside the output folder there should be a `boot.img`; there may be other img files but the boot is what we're interested in.
Transfer this boot.img to your device and use Magisk Manager to patch it. Transfer the magisk_patched.img to your computer, reboot the phone into fastboot mode and use `fastboot flash boot magisk_patched.img`. Reboot the phone into Android.
If you start Magisk Manager you should see that Magisk is installed. Great. Next step is to install TWRP.
In my experience, flashing TWRP or using `fastboot boot twrp.img` didn't work. You're not clever if you try installing OxygenOS 9.5.4 which adds `fastboot boot` support to the bootloader; it still won't work. In my experience the only correct way to install TWRP on the OnePlus 7 Pro is to use Magisk.
(Someone in the replies below stated that you need to upgrade all the way to OOS 10 in order to boot TWRP using fastboot. This guide details the easier method using Magisk Manager.)
On the phone, go to the TWRP downloads page for the OnePlus 7 Pro, and download the latest installer. Then flash the zip using Magisk.
Crucially, at the end of the installer log it says "you are now unrooted". DO NOT IGNORE THIS MESSAGE! If you reboot now, Magisk will be gone and the stock ROM will immediately overwrite TWRP. You must use Magisk Manager to reinstall Magisk using a "Direct Install". That way, your boot.img will be patched again and your Magisk (and TWRP) will persist across reboots.
Go ahead and try it out. Reboot a few times, sometimes into recovery, sometimes into Android to test Magisk.
We're still not done yet. Wouldn't you love to stay rooted and still be running the latest version of OxygenOS? I sure would. Next I'll describe the process of applying an OTA update while keeping your root and everything. Thanks to A/B you can stay untethered.
Please note that, if you'd like to proceed with the EU version of OxygenOS, you should go grab 9.5.4 before proceeding to the next step, for example from here, and use local update to install it. (note GM27BA instead of GM27AA) The EU version is supposed to have better privacy options and less bloatware, so that's what I personally went with. Converting your OxygenOS from GM27AA to GM27BA has no harmful side effects and should work on any phone. It affects the OTA you'll receive in the next step, and this is possibly the only chance you'll get to switch (or not). So choose wisely.
Remember to turn off all auto-updating in the OxygenOS settings. You don't want your phone suddenly losing Magisk and TWRP after any old reboot. Then you can use the OxygenOS updater to accept an official OTA update. It will recognize you're rooted and install an entire fresh new system to your inactive slot, which is exactly what we want.
There are two steps you need to perform before rebooting. The first is TWRP persistence and the second is Magisk persistence. For TWRP persistence you need to go into Magisk Manager and flash a module called "TWRP A/B retention script". Then for Magisk persistence you need to go install Magisk again, but this time to the inactive slot. You must do TWRP persistence first.
After this you should be good to go back to the update screen and hit reboot. You should still have TWRP and Magisk, but now on the very latest version of OxygenOS. Customize your phone to your heart's content now; it's all yours.
Recommended tweaks:
- install a Magisk module called "Debloater (Terminal Emulator)". Install a terminal emulator like Termux and use `su` to enter a root shell. Then you can run `debloat` and go through the list of apps, removing things you don't want. Certain services need to be watched out for, like PlayAutoInstallConfig (lets your carrier silently install apps without your consent). You can find tidbits online explaining what certain things do, like this pastebin, or this one. Houdini is the kernel driver which is very important.
- enable MagiskHide and hide yourself from Netflix and other DRM-enabled apps. Also hide yourself from Google Play's snet service.
- there is a Magisk module called F-Droid Privileged Extension, it's quite nice.
- use MagiskHide Props Config to set `net.tethering.noprovisioning=true`. This will prevent the carrier from knowing when you are using hotspot features, so they will not immediately cut your connection
- don't install a custom ROM. OxygenOS is high quality and everything you could ever want from a phone honestly. It has all the drivers and stuff for the phone and all of that cool stuff.
Small curiosities:
- SMT download mode is a special flashing mode used by the factory and it can overwrite things like the IMEI. Don't mess with it, you do not know what you're doing.
- Now that you have the software, you can literally just install a Dual SIM tray and have dual SIMs. Your phone is essentially the same as the international OP7P
- Feel free to post if you have any issues or need help with something.
Click to expand...
Click to collapse
It isn't very clear what version of OOS you started on. If I'm running OOS10 on stock this should still (in theory) work right?
r4w0ne said:
It isn't very clear what version of OOS you started on. If I'm running OOS10 on stock this should still (in theory) work right?
Click to expand...
Click to collapse
OOPS, fuck, I missed a step. You have to use MSM Download Tool to clean install this patched OOS before installing the developer preview. I'll update the post ASAP
Edit: Post has been updated
LoganDark said:
OOPS, ****, I missed a step. You have to use MSM Download Tool to clean install this patched OOS before installing the developer preview. I'll update the post ASAP
Click to expand...
Click to collapse
Glad I asked lol.
r4w0ne said:
Glad I asked lol.
Click to expand...
Click to collapse
I actually mentioned installing international OOS in the post but for some reason I didn't link it or provide instructions. Silly me...
Edit: Post has been updated
LoganDark said:
I actually mentioned installing international OOS in the post but for some reason I didn't link it or provide instructions. Silly me...
Edit: Post has been updated
Click to expand...
Click to collapse
New problem, OEM unlocking is greyed out in the options on the developer preview...
EDIT: I'm a retard and didn't follow instructions. Ignore.
I installed Magisk with a patched image on a Pixel 4. This process appears to always patch boot.img with the latest version of Magisk. Is there any way to patch an image with an old version of Magisk? Specifically I'd like to install 21.2 (coming from 21.4).
If not, I assume I need to install a custom recovery to downgrade to an older version?
I'm assuming you mean that you want to downgrade from 21.4 to 21.2. You have a couple of possibilities actually.
You could setup your own custom update channel with the Magisk zip of your choice. I've described that here:
https://forum.xda-developers.com/t/magisk-general-support-discussion.3432382/post-84290797
But since you want to use the stable releases you can find the old update channel in Github's commit history. It takes a little bit of insight into how Github works though... I've had plans to write down the steps required in my Magisk guide for ages, but somehow I never get around to it.
Using this as your custom update channel would give you Magisk v21.2:
https://raw.githubusercontent.com/topjohnwu/magisk_files/d10a630a4d4a3c54cf57abc7411f698f0ff79161/stable.json
If you want to use TWRP you do not need to install it though. It's perfectly possible to boot TWRP without having to install it:
fastboot boot twrp.img
Keep in mind that no official support is given for old releases...
Excellent. That worked!
I ask as the instructions seem to imply that installing from recovery is a thing of the past. Is that just for certain devices?
Any difference with using the custom channel to do a direct install vs patch for downgrades?
amw2320 said:
Excellent. That worked!
I ask as the instructions seem to imply that installing from recovery is a thing of the past. Is that just for certain devices?
Any difference with using the custom channel to do a direct install vs patch for downgrades?
Click to expand...
Click to collapse
If there is a custom recovery available for your device it's very often a viable option for installation. But, as it says in the instructions, it may fail and patching the image may be your only option. Boot image patching or the direct install option are the recommended methods (since there it's possible for @topjohnwu to control exactly what's going on).
Once you have Magisk installed already it's generally recommended to use the direct install option, but since Android is Android and there are way too many different setups out there to even count there is going to be instances where the direct install fails and patching a boot image is needed, or even that installing through recovery is the only option.
There's no practical difference between direct install and patching the image manually. The only difference is in who's doing the flashing of the image (you or the Manager).
You've got a Pixel device, so you should be good on all accounts. @topjohnwu uses his Pixel devices to test a lot of stuff with Magisk and they'll pretty much always be fully supported.
Thanks, super useful