Development [TWRP][3.5.2-11][dre8t][WIP] Unofficial TWRP for OnePlus Nord N200 5G

Search This thread

Travisholt92

Senior Member
Jun 28, 2012
1,304
1,183
30
Fort Wayne, Indiana
Honor 6X
OnePlus 6T
This is great work, thanks for all of it so far
I got lineageOS to compile, lineageOS recovery seems to be working properly touch and all. It doesn't boot but does give a decent logcat and dmesg (kernel log) on the very first build. Have a few theories I need to test. Had that bit of success and immediately took a 2 day break 😂
 
  • Like
Reactions: darkghost568

Travisholt92

Senior Member
Jun 28, 2012
1,304
1,183
30
Fort Wayne, Indiana
Honor 6X
OnePlus 6T
So, just to clarify: As long as I either A) disable my pin/password or B) disable force-encrypt I will be able to access everything from recovery?
You forgot C) not running Android 12 (including GSI). This is common across all devices for now though. But yeah full data partition including internal storage, no factory reset before hand required for it to work. Unless you haven't unlocked your bootloader yet of course. Unlocking the bootloader wipes data
 
  • Like
Reactions: darkghost568

Travisholt92

Senior Member
Jun 28, 2012
1,304
1,183
30
Fort Wayne, Indiana
Honor 6X
OnePlus 6T
and the stock os is android 12, yes? also, would you happen to know where I can find a way to disable force-encrypt?
Stock on N200 is Android 11
And it's complicated. Doable but complicated. I started at one point and abandoned ship 🤣 you would also have to disable avb and force encryption from multiple different partitions. It's doable but time consuming.
 
  • Like
Reactions: darkghost568
Stock on N200 is Android 11
And it's complicated. Doable but complicated. I started at one point and abandoned ship 🤣 you would also have to disable avb and force encryption from multiple different partitions. It's doable but time consuming.
Ah, ok. So as long as I have my pin/password disabled before booting into recovery, I should be fine and can re-enable my pin when not using recovery
 

drfsupercenter

Senior Member
Aug 21, 2010
84
14


Here are my latest TWRP and OrangeFox recovery builds for N200.

DO NOT FASTBOOT FLASH THESE
You'll have a bad experience and probably won't be able to boot back into your stock ROM until you switch back to a proper boot.img.

Fastboot boot the image then go to advanced settings and "install this TWRP/OrangeFox" (depending on which you're on)

I'm running 11.0.5.0.DE17AA N/A firmware (on my T-Mobile branded variant)

You must remove your lockscreen security (you can re-enable it when you're done in twrp).
If you don't remove your password,pin,pattern,fingerprint you're not going to be able to access your data within recovery.


I'll upload my device tree later today and get threads made.
For me, I can daily driver this to achieve anything I need custom recovery.

The build flags I set should support metro, T-Mobile, and unbranded/NA variant.

I have flashed the latest NA build from the OnePlus website with this project and it switched me from slot A to slot B in the process without an issue

If you encounter issues (aside from decryption because your have a password set), I'll do my best to resolve them

Awesome, I got it working and was able to install it from the "advanced" menu

One issue, however. As the on-screen logs pointed out, the phone was un-rooted when installing TWRP. It said it put the flash-file in /tmp, but I could not find it there when I opened the file manager. And when I flashed my original Magisk Patched boot .img, it erased TWRP.

How do I get an .img file that has TWRP in it, that I can give to Magisk to patch with the root-boot code?
 

Travisholt92

Senior Member
Jun 28, 2012
1,304
1,183
30
Fort Wayne, Indiana
Honor 6X
OnePlus 6T
Stock on N200 is Android 11
It's
Ah, ok. So as long as I have my pin/password disabled before booting into recovery, I should be fine and can re-enable my pin when not using recovery
This is correct. At least for now. I found a script in stock that backs up the decryption key, pins, patterns, and passwords. If it is triggered automatically by the system and doesn't require a manual trigger, decryption should be much easier to set up with better compatibility. But it's just a theory at the moment. Haven't looked into a way of implementation
 
  • Like
Reactions: darkghost568

Travisholt92

Senior Member
Jun 28, 2012
1,304
1,183
30
Fort Wayne, Indiana
Honor 6X
OnePlus 6T
Awesome, I got it working and was able to install it from the "advanced" menu

One issue, however. As the on-screen logs pointed out, the phone was un-rooted when installing TWRP. It said it put the flash-file in /tmp, but I could not find it there when I opened the file manager. And when I flashed my original Magisk Patched boot .img, it erased TWRP.

How do I get an .img file that has TWRP in it, that I can give to Magisk to patch with the root-boot code?
You install the magisk file (.apk) in twrp and you get root
 

drfsupercenter

Senior Member
Aug 21, 2010
84
14
You install the magisk file (.apk) in twrp and you get root
Ah, thanks. But now I'm noticing this weird thing where instead of popping up a prompt to allow root, it just...opens the Magisk app any time an app requests root. I even tried setting it to auto-approve, and still nope, it just opens the app instead.

And also, do you know if it's possible to mount the partitions as read/write? I wanted to delete some bloatware that's in /product but it was mounted read-only by TWRP.
 

Travisholt92

Senior Member
Jun 28, 2012
1,304
1,183
30
Fort Wayne, Indiana
Honor 6X
OnePlus 6T
Ah, thanks. But now I'm noticing this weird thing where instead of popping up a prompt to allow root, it just...opens the Magisk app any time an app requests root. I even tried setting it to auto-approve, and still nope, it just opens the app instead.

And also, do you know if it's possible to mount the partitions as read/write? I wanted to delete some bloatware that's in /product but it was mounted read-only by TWRP.
Yeaaa I don't have that issue. It pops up as a prompt for me on 24.1. And I don't have an answer for that one
 

drfsupercenter

Senior Member
Aug 21, 2010
84
14
Yeaaa I don't have that issue. It pops up as a prompt for me on 24.1. And I don't have an answer for that one
I figured it out, if I try to hide Magisk by repackaging it, it behaves like that. It shouldn't, and it doesn't on my other phone, but hey whatever.

I thought TWRP had access to the whole filesystem? I remember asking how to get R/W access to system folders in an app like Root Explorer, and people said "you have to make a Magisk patch that gives you R/W access", without telling me how to do such a thing. Since TWRP is loading before the OS boots, I thought it would get more access.
 
  • Like
Reactions: Travisholt92

Travisholt92

Senior Member
Jun 28, 2012
1,304
1,183
30
Fort Wayne, Indiana
Honor 6X
OnePlus 6T
Mod Edit├┤Quote removed├

Do not share my broken builds.
There is a high priority bug with charging from 0% (and charging in recovery) that needs to be addressed before I promote it here again on XDA.

And it's definitely not stolen, the broken builds were made from trees for a moto device that I brought up from information obtained from the latest stock dump that I extracted and staged myself/fastboot commands/adb getprop and a few bits pulled from OnePlus 9 Pro after talking with the 9 Pro TWRP developer (Nebrassy) asking what he would suggest, and he suggested forking his entire tree as a base, which I also did not do for TWRP bringup.

There are sooo many boardconfig flags alone that are set properly in my tree that weren't event touched or present in EnumC's TWRP because he used a script to generate his base for TWRP. I tried the script and didn't like how minimal information was output, so I went the route suggested by ArtiicPanda to fork his personal Moto TWRP tree which is for a device on the same chipset, and use it for a base, upon analysis of the source I deemed this to be the cleanest base that I could use. I then stripped Motorola OEM specific code, substituted with alternatives for either CAF (Qualcomm) source for our specific chipset's CAF tag, or from the OnePlus 9/Pro modified as much as necessary to be meant specifically for N200.

I really shouldn't have to explain my development process to prove myself against these claims that you know damn well to be false. I'm very open about my development process, secrets when it comes to these projects has an overall negative impact on the community and slows progress for everyone.

I keep linking my GitHub in response because I have alot of commit history on there. Albeit quite noobish commit history as I'm not the best with using Git, but I put my time into doing all of this crap not just for myself but in hopes that it gives other people a better user experience with their own devices. Just to have people such as yourself claiming "he steals work" because you don't know how to click a link a look at a few commits yourself?

Just stop man. You're not doing anyone any favors by trying your absolute hardest to push away one of the two ROM developers on a device that has no custom ROM support aside from GSI.
 
Last edited by a moderator:

Travisholt92

Senior Member
Jun 28, 2012
1,304
1,183
30
Fort Wayne, Indiana
Honor 6X
OnePlus 6T
Hey Travisholt92, you may want to start a new thread, since (from what I can tell) you are porting from scratch (basically).

Also, do you have a dedicated progress tracker or should I just keep tabs on your GitHub?
I've gone ghost until my laptop is sold and I order a few desktop parts so I can compile faster. TWRP is on life support in general and I don't feel comfortable wasting the time on it at this point. But custom ROMs will be coming soon. There are already custom builds of Evervolv created by another dev for this N200, he just hasn't released anything yet.
 
  • Like
Reactions: T3CHN0T33N
I've gone ghost until my laptop is sold and I order a few desktop parts so I can compile faster. TWRP is on life support in general and I don't feel comfortable wasting the time on it at this point. But custom ROMs will be coming soon. There are already custom builds of Evervolv created by another dev for this N200, he just hasn't released anything yet.
No problem👍
You are spending your own free time to make something without reimbursement after all.
Do know, I appreciate your contributions to this community, the time and effort you put into it too :)
 
  • Like
Reactions: Travisholt92

Link575

Senior Member
Dec 21, 2015
90
18
Samsung Galaxy S22 Ultra
I've gone ghost until my laptop is sold and I order a few desktop parts so I can compile faster. TWRP is on life support in general and I don't feel comfortable wasting the time on it at this point. But custom ROMs will be coming soon. There are already custom builds of Evervolv created by another dev for this N200, he just hasn't released anything yet.
If you don't mind me asking, why do you say that TWRP is on life support? Do you mean TWRP as a whole, and if so what would you suggest instead? I feel like that's the only thing I've ever seen suggested besides the build of FOX you included.
 

Travisholt92

Senior Member
Jun 28, 2012
1,304
1,183
30
Fort Wayne, Indiana
Honor 6X
OnePlus 6T
If you don't mind me asking, why do you say that TWRP is on life support? Do you mean TWRP as a whole, and if so what would you suggest instead? I feel like that's the only thing I've ever seen suggested besides the build of FOX you included.
The core development of TWRP and OrangeFox, SHRP, is maintained by only 2 or 3 core devs and they are struggling to keep up with the complex changes of each new android update
 

Top Liked Posts

  • There are no posts matching your filters.
  • 9

    Disclaimer:​

    Code:
    * I'm not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed (like it did for me...).
    * YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you.
    * Your warranty will be void if you tamper with any part of your device / software.

    Warning: This build is still WIP in early stages. I posted this version so everyone can at least flash magisk and other standard zips without too much hassle. Expect bugs and possibly other unexpected behaviors, especially if you attempt to use any features not listed below. Currently working on encryption and getting the other TWRP features online.

    =========

    Update (10/14/2021): I am taking a hiatus from this unofficial TWRP build. With that being said, you are welcome to fork the device tree at the bottom of the post or submit PRs. I may continue working on this when I have more time, but I'm sure another experienced developer will be able to pick up and accomplish what I had trouble with before.

    =========


    What Works:

    * Booting to TWRP.
    * Installing ZIPs.
    * System, Product, Vendor, ODM, opluslog, Metadata, Persist, modem.
    * a/b slot
    * sdcard

    What doesn't work:​

    * userdata decryption. Requires forceencrypt disabler.
    * Backup for any partition besides Super.
    * Restore
    * Factory Reset
    * CPU temperature

    Downloads:​

    0.2.0: https://www.androidfilehost.com/?fid=7161016148664790178
    0.1.0: https://www.androidfilehost.com/?fid=7161016148664789523

    Installation:​

    1. Run
    Code:
    fastboot boot twrp-3.5.2-11-holi.img
    . This will not boot you to twrp, but you should see the device boot to system successfully. If it boots properly, run adb reboot bootloader. If it bootloops or freezes, STOP. Leave your model number in the comments and force reboot your device.

    2. Run
    Code:
    fastboot getvar current-slot
    to get your current active partition slot. If it's A, then run
    Code:
    fastboot flash boot_a twrp-3.5.2-11-holi.img
    . If it's B, run
    Code:
    fastboot flash boot_b twrp-3.5.2-11-holi.img

    3. Run
    Code:
    fastboot reboot
    to get back to the system

    This release is built w/ the stock kernel (5.4.61-qgki-gf8e532b).

    Source
    Manifest: https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp
    Device Tree: https://github.com/EnumC/android-OnePlusN200TMO-TWRP
    Pull requests to the device tree are welcome!
    3

    These builds have an issue with being able to charge while in recovery (battery stats are not updated in recovery), and when the device dies, it will only charge via EDL mode) I do not recommend using these builds at this time for that reason. For temporary usage just to achieve a specific task and restore the previous boot image afterwards would be fine. If you need magisk, you need to use the magisk app to modify your stock boot image, and disable verity and verification (fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img) which requires having the stock vbmeta.img

    Here are my latest TWRP and OrangeFox recovery builds for N200.

    DO NOT FASTBOOT FLASH THESE
    You'll have a bad experience and probably won't be able to boot back into your stock ROM until you switch back to a proper boot.img.

    Fastboot boot the image then go to advanced settings and "install this TWRP/OrangeFox" (depending on which you're on)

    I'm running 11.0.5.0.DE17AA N/A firmware (on my T-Mobile branded variant)

    You must remove your lockscreen security (you can re-enable it when you're done in twrp).
    If you don't remove your password,pin,pattern,fingerprint you're not going to be able to access your data within recovery.


    I'll upload my device tree later today and get threads made.
    For me, I can daily driver this to achieve anything I need custom recovery.

    The build flags I set should support metro, T-Mobile, and unbranded/NA variant.

    I have flashed the latest NA build from the OnePlus website with this project and it switched me from slot A to slot B in the process without an issue

    If you encounter issues (aside from decryption because your have a password set), I'll do my best to resolve them
    2
    Mod Edit├┤Quote removed├

    Do not share my broken builds.
    There is a high priority bug with charging from 0% (and charging in recovery) that needs to be addressed before I promote it here again on XDA.

    And it's definitely not stolen, the broken builds were made from trees for a moto device that I brought up from information obtained from the latest stock dump that I extracted and staged myself/fastboot commands/adb getprop and a few bits pulled from OnePlus 9 Pro after talking with the 9 Pro TWRP developer (Nebrassy) asking what he would suggest, and he suggested forking his entire tree as a base, which I also did not do for TWRP bringup.

    There are sooo many boardconfig flags alone that are set properly in my tree that weren't event touched or present in EnumC's TWRP because he used a script to generate his base for TWRP. I tried the script and didn't like how minimal information was output, so I went the route suggested by ArtiicPanda to fork his personal Moto TWRP tree which is for a device on the same chipset, and use it for a base, upon analysis of the source I deemed this to be the cleanest base that I could use. I then stripped Motorola OEM specific code, substituted with alternatives for either CAF (Qualcomm) source for our specific chipset's CAF tag, or from the OnePlus 9/Pro modified as much as necessary to be meant specifically for N200.

    I really shouldn't have to explain my development process to prove myself against these claims that you know damn well to be false. I'm very open about my development process, secrets when it comes to these projects has an overall negative impact on the community and slows progress for everyone.

    I keep linking my GitHub in response because I have alot of commit history on there. Albeit quite noobish commit history as I'm not the best with using Git, but I put my time into doing all of this crap not just for myself but in hopes that it gives other people a better user experience with their own devices. Just to have people such as yourself claiming "he steals work" because you don't know how to click a link a look at a few commits yourself?

    Just stop man. You're not doing anyone any favors by trying your absolute hardest to push away one of the two ROM developers on a device that has no custom ROM support aside from GSI.
    2

    Disclaimer:​

    Code:
    * I'm not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed (like it did for me...).
    * YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you.
    * Your warranty will be void if you tamper with any part of your device / software.

    Warning: This build is still WIP in early stages. I posted this version so everyone can at least flash magisk and other standard zips without too much hassle. Expect bugs and possibly other unexpected behaviors, especially if you attempt to use any features not listed below. Currently working on encryption and getting the other TWRP features online.

    =========

    Update (10/14/2021): I am taking a hiatus from this unofficial TWRP build. With that being said, you are welcome to fork the device tree at the bottom of the post or submit PRs. I may continue working on this when I have more time, but I'm sure another experienced developer will be able to pick up and accomplish what I had trouble with before.

    =========


    What Works:

    * Booting to TWRP.
    * Installing ZIPs.
    * System, Product, Vendor, ODM, opluslog, Metadata, Persist, modem.
    * a/b slot
    * sdcard

    What doesn't work:​

    * userdata decryption. Requires forceencrypt disabler.
    * Backup for any partition besides Super.
    * Restore
    * Factory Reset
    * CPU temperature

    Downloads:​

    0.2.0: https://www.androidfilehost.com/?fid=7161016148664790178
    0.1.0: https://www.androidfilehost.com/?fid=7161016148664789523

    Installation:​







    This release is built w/ the stock kernel (5.4.61-qgki-gf8e532b).

    Source
    Manifest: https://github.com/minimal-manifest-twrp/platform_manifest_twrp_aosp
    Device Tree: https://github.com/EnumC/android-OnePlusN200TMO-TWRP
    Pull requests to the device tree are welcome!

    Ayee soo I'm working on fixing up your twrp. Can you inform me how you linked the kernel modules into the build? I got it "booting" (stays at bootloader is unlocked and can't be trusted screen but with adb recovery commands working. I found a big reason you couldn't get decryption working. Wrong sysfs location listed in the fstab. I'll send a pull request 😎 also most of your "inclusion of fbe" is already included in device/qcom/twrp-common 👍
    1
    i replied to your post in the other thread, perhaps maybe this can help with decryption/encryption .... https://forum.xda-developers.com/t/rooting-stock-firmware-w-magisk.4321575/#post-85504141

    Enumc, thanks for the contribution and your time