[OnePlus Nord N20 5G] ctschrodinger88:
I used the info provided and referenced here as a guide and some external pieces and have things working.

I'll caveat the following, I don't remember the current firmware version I started with, but I'll try to remember to update.

I have the Nord N20 5g, but not the T-mo branded one, though in looking at this, the concepts should be the same.

Base assumptions:

- If you haven't done these beforehand, stop and take care of it. Research if you need, but please DO NOT just keep going or copy, paste, and run, without understanding to some extent what you're doing. If you just run commands it can be much harder to fix later.

a. Your phones bootloader is unlocked. (If you haven't already done it, when you do, your data will be gone, so if you care,

back it up

NOW)

b. You have access to an Android terminal of some sort (adb or on-device terminal) and you know how to use it. Unless you absolutely can't use a computer for some reason, I would use adb, it makes data backup easier (IMO).

c. You have somewhere to store your backed up partitions (THIS IS IMPORTANT)

Step 0: Download a pre-rooted Generic System Image (GSI) to use. Put it in a good working directory. This page links to several. https://github.com/phhusson/treble_experimentations/wiki/Generic-System-Image-(GSI)-list

I used the LineageOS image by @AndyYan

If you are wondering about the various file endings this is the basic version

<ARCH>_xyZ

<ARCH> can either be arm, a64 (arm32_binder64) or arm64
x can either be a or b
y can either be v, o, g or f
Z can be N or S

b = a/b
a = a-only

g = gapps
o = gapps-go
v = vanilla (no gapps included)
f = floss (free & open source apps instead gapps)

N = no superuser
S = superuser included

From: https://xdaforums.com/t/teclast-t30-t1px-suitable-gsi-roms.4211427/

Step 1: Enable the Dynamic System Update (DSU) feature flag, you can follow the exact steps for this in this section https://developer.android.com/topic/dsu#feature-flag

If you are unsure, just run the `adb shell` command.

Step 2:

If the image you downloaded needs to be in ".gz" format. Some of the tools will handle alternate types, but that's because it rebundles it at ".gz", you can save some effort doing it yourself.

gzip -c [IMG_NAME]..img> [IMG_NAME].gz

Step 3: Push the image to the device

`adb push [IMG_NAME].gz /storage/emulated/0/`

This is where I switched from ADB to on-the-device.

Step 4: Download the DSU Sideloader: https://github.com/VegaBobo/DSU-Sideloader

You can do this with adb but I wasn't able to get it to run, so I went with the DSU Sideloader app above which made it much simpler.

Step 5: Run DSU Sideloader. You can follow the instruction there in the README. You will need to run a command that the app provides, either via adb or an emulator. Then you will reboot via the notification.

Step 6: [Once you reboot] Enable Developer tools in phone settings.

Step 7: BACKUP, BACKUP, BACKUP (Please do this now. It will help make life much, much better if you ever have an issue and need to reset.)

This was my process:

adb shell
su
mkdir /sdcard/partitions
cd /dev/block/by-name/
for x in *; do dd if=/dev/block/by-name/$x of=/sdcard/partitions/$x ; done
# Note the collective size will be greater than the default space on the GSI boot, so you will want to separate things

# Back on local machine
mkdir [working_dir]
cd [working_dir]
adb pull /sdcard/partitions
# Your files from the adb command should populate the folder
mv [working_dir]/partitions/* [working_dir]/

# On device
rm /sdcard/partitions/*
# repeat the commands above as often as needed.

I don't know for sure all the files you will want to backup, but I pulled everything just to be safe. Keep them safe, because it is your safety net if you fall.

Step 8: Get boot_a or boot_b back on the device along with Magisk.apk (Please only download from here: https://github.com/topjohnwu/Magisk/releases)

Step 9: Install Magisk.apk (you can do this via

adb install ./magisk.apk

)

Step 10: Launch Magisk and install it to the book image stored on your sdcard.

Step 11: Pull the patched image to your local machine.

adb pull /sdcard/Download/magisk_patched-[stuff].img

Step 12: Boot phone to fastboot

adb reboot bootloader

Step 13: This is where there is an ideal and a real.

Ideal command

fastboot boot magisk_patched.img

where fastboot transfers the files and things just work, and if you reboot the system the regular boot.img is used. I haven't been able to get that to with this device.

I instead just ran

fastboot flash boot magisk_patched.img

which replaced the existing boot image, which is good, if it works, but if it doesn't, this is why you have backups!!!! Reboot the phone.

Step 14: When you boot, finish installing Magisk and you'll be ready to go.

If I remember other steps I'll add, or if you have questions I will try to help answer.