[Moto G4 Plus Questions & Answers] echo92:
Woo, we got your device working :D

If you're still interested in rooting on stock Nougat and flashing a custom kernel (I use ElementalX here for reference, but other custom kernels suitable for Nougat 7.0 stock Motorola athene ROMs should work, like vegito), assuming your bootloader is unlocked:

1)Download ElementalX and your choice of root manager onto your device. ElementalX v1.04 is designed for stock Motorola 7.0 ROMs : https://xdaforums.com/moto-g4-plus/development/kernel-elementalx-g4-0-01-t3424836

2)Flash or boot TWRP. Up to you which TWRP build you use, I prefer shreps' TWRP 3.1.1 athene (https://xdaforums.com/moto-g4-plus/development/recovery-twrp-3-0-2-r3-moto-g4-g4-plus-t3494337 ) but the official builds should suffice.

Boot your device to the bootloader and connect your device to your computer. In the ADB terminal, flash TWRP to your recovery partition if you see yourself using TWRP a lot, remember to boot into recovery after flashing to ensure TWRP is not overwritten by the stock recovery (assuming your device is still in the bootloader mode following the flash, use the volume keys on your device after flashing TWRP to select Recovery on your device, then press Power to boot into recovery). You may boot as normal afterwards.

Alternatively, you can temporarily boot in TWRP, which should keep your recovery partition stock but mean you'll have to require a computer to use TWRP.

To boot into TWRP, boot your device to the bootloader and connect to your computer. Copy the TWRP image to your ADB folder. In the ADB terminal type:

fastboot boot <name of TWRP image>

The <name of TWRP image> should be the full file name (without the greater than/less than signs), you can start typing the first letters of the image name and press Tab on your keyboard to auto-complete if the file is present in the same folder (which it should be if copied to your ADB folder). Ensure that the file name has the correct file name extensions, you may wish to enable file extensions in Windows File Explorer to check, tab auto-complete will do this for you.

3)In TWRP, back up your device using the Backup option (usually everything except cache which should be the default selection).

3a)Also, make a separate backup of the boot partition - this 16 MB partition contains your clean, stock kernel (if you fully flashed the stock firmware).

4)Tap Install in TWRP, and navigate to your Download folder or wherever your ElementalX zip is stored. Flash ElementalX as directed by the installer. After flashing, wipe cache/Dalvik (should appear as an option on screen).

5)After flashing ElementalX, you can choose to flash your choice of root manager or reboot first to check your device is still running. If it's still working, then you can reboot to TWRP (either by rebooting to recovery or using a PC to temporarily boot). Flash your root manager in TWRP (same way as you flashed ElementalX) and then reboot, you should have a stock ROM rooted and booting :)

A few things to note:

As you'd have TWRP and root, OTA stock updates won't work, and taking an OTA update would soft bootloop your device in TWRP. There are ways to get around this, but you may wish to disable the Motorola updater to stop you being nagged/accidentally downloading the OTA update https://xdaforums.com/moto-g4-plus/help/how-disable-notification-update-t3459587

If you want OTA updates, you'd have to revert to stock fully, but we'll get to that when the time comes.

Rooting with SuperSU may mean that SafetyNet fails - this is Google's anti-tamper/anti-rooting detection, and thus some apps may fail to work. You may use SuperSU hide https://xdaforums.com/apps/supersu/suhide-lite-t3653855 or magisk's built-in magiskhide to hide the root manager from detection.

If you have any issues whilst rooting, you may choose to use the backups you made in 3)

If you want to switch custom kernels or change root manager, then I recommend:

a)Uninstall root via your root manager's uninstall procedure. For example, SuperSU has an uninstall function in the SuperSU app, magisk requires a TWRP flashable uninstaller.

b)Reboot into TWRP (if not already in TWRP)

c)Restore the stock kernel backup you made above in 3a). This should remove traces of root from your kernel that may conflict with your new kernel and cause chaos.

d)Flash your new custom kernel of choice followed by your root manager.

e)Wipe cache/Dalvik and reboot.

Good luck :)