[OnePlus Nord N100 Guides, News, & Discussion] AesopRock127:
Disclaimer: By attempting this I accept no responsibility for any consequences or repercussions or perceived consequences or repercussions of using this guide or any of the files in it. I'm simply a n00b trying to make things easier for the next guy because this was quite a process and my phone was "bricked" for several days before i found the solution so this is more a "how i did it, maybe it will work for you" guide then most of these guides by guys with a lot more experience than me. If you run into something crazy I didn't run into, ill likely not be able to help you.

With that being said after 3-4 days of struggling, this is what was working TODAY, 6-3-2022

Now that the disclaimer is out of the way, here's a further warning... THIS WILL ONLY WORK FOR THE NORD N100 Metropcs Variant (BE2015) BE82CF. You WILL have issues if you try this on another N100! Furthermore, this will leave you stuck on OOS 10.5.8 (android 10) rooted with no way (that I could find) to update further. If that's not ok with you, well then this guide isn't for you.

PLEASE READ THE WHOLE GUIDE BEFORE BEGINNING TO AVOID MAKING MISTAKES OR MISSING STEPS/NOTES!

So normally we would unlock the bootloader and then install magisk and take our boot.img from the firmware we are on and patch it and flash the patched boot img and then we would be done.... HOWEVER there's not a lot of newer firmware floating around for this phones variant.... so first, a step backwards before we continue.

0) Before you start make sure you have everything you want to keep backed up one way or another because this will wipe your phone several times over and you will lose everything that you don't backup!

1) Flashing OOS 10.5.8 using MSMDownloadtool.exe so that our boot.img will match our current version

So the newest firmware I could find that I could VERIFY belonged to this exact variant was 10.5.8 (android 10). However i was on the newest firmware which was android 11. The boot.img wouldn't match so this could likely brick my device

So first i used the firmware i found to go back to an older firmware that i got from here [OPN100][OOS METRO BE82CF] Unbrick tool to restore your device to OxygenOS

and in case a newer version is posted in the future here's the direct link from this post OOS 10.5.8

I used the included MSMDownloadTool but had trouble connecting until i used my motherboard USB port AND uninstalled the qualcomm driver that was already installed and installed the one i got from this post: Qualcomm HS-USB QDLoader 9008 Drivers: Download & Install

After i finally connected it took me just about 4 minutes to flash the new firmware. Once again you have a fresh clean install. Setup everything really quickly in OFFLINE mode. This is for 2 reasons, one is speed but the other is to stop the auto update of the system firmware! Before enabling internet. enable developer mode and uncheck Automatic System Updates

NOTE: For some people it will make more sense to do this next part first so they aren't stuck on an old firmware for a week while waiting for an unlock token, but regardless if you do these steps first or not they still need to be done here as well since flashing firmware with MSMDownloadTool relocks the bootloader if it was unlocked already.

This is already going to be long so for sake of shortening it im putting these steps here instead

2) Switch the OEM UNLOCK toggle in dev options

We have to flip the OEM Unlocking option in developer options. But it's greyed out! I myself did this the time consuming way but theres two methods, ONLY CHOOSE ONE

2.1a) Its greyed out because you're carried locked. You can get this ungreyed by waiting 6 months and using the stock carrier unlock app named "unlock." You can do this quite easily using this app and following the prompts.

2.1b) There's a way to skip the carrier unlock, after all we dont want to switch carriers just unlock the bootloader. This was found the best way: by accident. Someone made a one plus debloat script and the people that were running it found out that the"unlock bootloader" came unlocked afterwards. It's a neat little script, i ended up running it myself. I found somewhere in my searches the exact command in the script that did it but i can't remember exactly and can't find the post that identified the one command.

I BELIEVE it's one of these three:

com.qualcomm.qti.remoteSimlockAuth

com.qualcomm.qti.uim

com.qualcomm.qti.uimGbaApp

The most obvious one seems to be the remoteSimlockAuth. TBH i only added that because it seemed so obvious. I believe it's actually one of the other two, but i'm just not sure. You could try removing those three only and see if it works. Worse come to worst, run the whole script from this post: One Plus Pure Debloat

NOTE: If you are going to run the whole debloat script make sure to install a keyboard FIRST or you will be stuck without one! Or remove com.google.android.inputmethod.latin from the list.

2.2) No matter which way you completed it (using step 2.1a or 2.1b), the OEM Unlocking toggle in developer option will be usable now. Enable it. While you're in developer options, make sure usb debugging is on because you will need it for the next part. Make sure to plug your phone in and when the rsa key fingerprint pops up, choose "always allow from this computer"

3) Unlocking the bootloader

This part is pretty standard with no serious deviations. I followed this guide from step number 3 on: How to unlock bootloader for OnePlus smart Phone

When you get to step 5 they don't mention it but it takes about a week to get the unlock token.

The only real thing i changed for all of this pretty straightforward guide was when they say the command is fastboot flash cust-unlock <unlock_token.bin> ... Well the bin is called unlock_code.bin so i ended up using fastboot flash cust-unlock unlock_code.bin instead.

Once you finish and your phone restarts, set up the phone quickly in offline mode just to get through it again. Before enabling internet. enable developer mode and uncheck Automatic System Updates. While you're in developer options, make sure usb debugging is on because you will need it further on. Make sure to plug your phone in and when the rsa key fingerprint pops up, choose "always allow from this computer"

4) Decrypt the .OPS firmware file from step 1 to get the boot.img

The next part seemed very complicated but really wasn't. We need to decrypt the .OPS firmware file to get the boot img out of it. I used Oppo Decrypt

There were some changes I needed to make in this section which ended up working, i don't know if the issue was a newer python version or what but if following the readme from the github doesn't work as-is for you, try this instead.

4.1) install python for windows from the official website Python Official Site

4.2) Navigate to the python install directory. C:\Users\%username%\AppData\Local\Programs\Python\PythonXXX\ is the default directory, with %username% being your account username, and XXX being the current python version without the .'s For me this was C:\Users\Kaladin\AppData\Local\Programs\Python\Python310\

Now launch a command prompt from this location.

4.3) Run the command pip3 install -r requirements.txt and if it complains about anything not being updated run that command next to update everything.

4.4) Move a copy of bengal_14_O.04_201221.ops from step 1 into the python310 folder and then run the command opscrypto.py decrypt bengal_14_O.04_201221.ops and wait for it to finish. You can now close the CMD window. You will find the boot.img we need in the "extract" folder in the same directory. Put your phone in file transfer/MTP and move just the boot.img over to your phone or however you want to get this done, do it.

5) Install magisk and root by patching the boot.img and then flashing the patched boot.img

Now we just follow these steps starting at step 2.3 from this guide How to Root OnePlus Nord N100 using Magisk [No TWRP Required]

The only thing that seemed wrong here is in step 3.4 they say to run the command fastboot devices and not only is this not needed but wont work here. If you want to make sure you're connected, use adb devices here instead or reboot to fastboot first before running fastboot devices (so after step 3.5 before step 3.6 instead of step 3.4).

Then, in step 3.6 we have an A/B partition systems, so we need to use the first command only, fastboot flash boot boot.img ... ignore the second part about non A/B Partition systems. Flashing the wrong command here could probably brick your device.

Follow the rest of the guide.

One additional thing i needed to do to obtain root after rebooting was to again open Magisk Manager and click install and choose "Direct Install (recommended)" this time (instead of select file and patch it). When the process is done, reboot your phone and then once it restarts you will be able to download a root checker app off the play store and verify root.

Yay! It was a long journey, but we are done!

NOTE: Magisk has a way to install OTA updates while keeping root by half uninstalling Magisk and reverting to the stock boot.img before allowing the OTA update, then you would reinstall Magisks patched boot.img to the other partition before restarting but i wasn't able to get this to work myself. I will give you the tutorial here though just in case but for me it auto restarted as soon as the OTA update finished installing and updated me to the newest firmware which removed my root and made it so that i had to start this whole process all over again from step 1 (minus the wait time for the carrier unlock and the unlock token of course). So up to you if you want to try this out.

For now i'm just happy to be rooted on a stock rom even if it is a little old. Hope this helps someone out =)

SPECIAL THANKS FOR ALL THE PEOPLE WHO WROTE THE GUIDES, TUTORIALS, AND PROGRAMS USED THAT I LINKED TO! I WOULD HAVE BEEN LOST WITHOUT THESE AND ALSO WITHOUT GOOGLE TO FIND THEM!