[Moto G7 Guides, News, & Discussion] clcombs262:
This thread contains known working root and custom recovery, along with any other verified working mods for this device

Thanks to anyone who is willing to help out in advance. You are awesome

* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards, fires, rigged elections,
* thermonuclear war, or you getting fired because the alarms failed and you
* could not call in.
*
* Please ensure you have an advanced understanding of this device before
* flashing it! YOU are choosing to make these modifications of your own free will

THIS REQUIRES AN UNLOCKED BOOTLOADER!!! DO NOT ATTEMPT ON A LOCKED BOOTLOADER. YOU ALSO NEED APPROPRIATE DRIVERS AND ADB TOOLS. THIS GUIDE IS ONLY FOR THE MOTO G7 SERIES, DO NOT ATTEMPT ON ANY OTHER DEVICE

Also check under developer options USB debugging and OEM unlock is checked. Tap build number 7x under settings -> about phone to enable developer options. Please note that some carrier locked variants do not permit OEM unlocking and as such currently have no method to unlock the bootloader

Follow the instructions here to unlock your bootloader

Confirmed Magisk working with boot image, patched through Magisk app.

TWRP needs some work but basic functionality is up

Magisk

Download the appropriate firmware from here, making sure to match build number and variant, found under Settings -> System -> About Phone. Even if you use boot images given to you, I recommend you do this just in case something messed up

Extract the boot.img file

Copy it to the internal storage of your device

Install magisk manager app, found here and open it.

Make sure under advance setting both keep dm-verity and keep force encryption are checked, otherwise you may get stuck in a bootloop

Tap install beside "Magisk is not installed" on the first card

Tap patch boot image

Select your boot image

Once magisk creates the image, copy it to the folder that contains the adb tools

The output can be flashed via fastboot on an unlocked bootloader via

adb reboot bootloader
fastboot flash boot boot.img

After initial setup/first boot, reboot your device again. Magisk Manager stub should now show up under apps. If you have previously installed it, you'll still need to reboot after the initial boot with magisk for the app to recognize you have it

The stub will download the actual app (if necessary). Once that's installed, open it and tap yes when it asks you to set up environment. If that failed, just close the app and reopen, tapping yes on the prompt. Do that until it says setup done

We now have twrp so theoretically the magisk zip can be flashed. I personally have experienced a lot of problems with this method so I'd recommend against it, but if you want to here's how:

See below instructions to flash twrp if you haven't already

Download the latest magisk zip here and save it to your SD card if you have one

Reboot to TWRP via volume down + power, which will get you to bootloader. In bootloader, use the volume keys to scroll to recovery mode, then press power to select. I personally prefer adb via

adb reboot recovery

Type in you screen lock if prompted, then hit the check mark on keyboard when done

Tap install

Navigate to where you saved the zip and select it

Swipe to install

Follow the last two steps of the other method

TWRP

A beta version of TWRP is now available here. Credit to [MENTION=4480917]Alberto97[/MENTION]

Download the file and copy to your adb tools folder

Reboot to bootloader

adb reboot bootloader

Boot it with

fastboot boot twrp-version-build-river.img

Put the TWRP image in your external SD Card or, in case you don't have one, push it to /data with adb this way:

adb push twrp-version-build-river.img

Tap Advanced -> Install Recovery Ramdisk -> Navigate to /data or /external_sd and select TWRP -> Swipe to Install

Select Fix Recovery Bootloop from Advanced tab, and swipe to fix

In case of emergency (eg, soft brick), follow these instructions to get back to stock before reattempting. They may say for updating, but they work to get back to stock