This guide covers ALL Moto G 2015 models (including the G Turbo) that can be bootloader unlocked and have TWRP available, it doesn't matter if it is the XT1540, XT1541, XT1543, etc., the method is identical. In fact, this method will work on all 2015 and 2016 series Moto phones running Marshmallow, including the Moto E, X, G3, G4, and Z.
Please read completely and make sure you understand each step and how to do it, if you don't get something search the thread or ask an open question.
tl;dr version for advanced users: Skip to "How to do it" section
I am writing this tutorial because there are still lots of failed root attempts using older "standard" methods that do not work on this device. I also do not like the "one click" root methods, because they can and do fail (KingoRoot will brick a Moto G3, regardless of what it's web page says), and when they do people have no idea how to fix it. The manual way is not difficult, and it teaches you how to work on, fix, and use your device on a level above that of the average smartphone user.
I will only cover the details of rooting, the prerequisites are covered elsewhere in detail and I will link to reliable sources for the information. Specifics of the prerequisites are outside of the scope of this tutorial, but are open for discussion in this thread.
1) Device must have an unlocked bootloader. See Moto - Unlocking the Bootloader for more info. NOTE:Performing this prerequisite will give you all the tools (fastboot) and drivers needed to continue, and wipe your device, meaning erase all your information and programs. Make sure to backup any important data first. This step will also permanently void your warranty once an unlock code has been issued by Moto, it doesn't matter if you even use it, your warranty is done.
3) You need a copy of the latest STABLE SuperSU ZIP from Chainfire's site on the internal storage or SD card of your device.
4) Reboot and start TWRP recovery, the method you use to do this doesn't matter (boot or flash).
How to do it:
Now, the procedure is the same whether you are trying to root the first time, or you did it the old way just flashing SuperSU and are now not able to boot...
In TWRP, go to Advanced and open the Terminal, in the terminal type this EXACTLY as shown:
Now press enter (there is no confirmation returned), then exit and press the Home key. Go to Install and select the SuperSU zip file you downloaded from Prerequisite #3 and swipe to flash it and reboot. No need to clear caches or anything else but you are welcome to if you wish. You can install SuperSU updates normally through the app going forward (as of this posting).
Why do I have to do this???
For whatever reason, the install script for SuperSU does not recognize that this device (like many others) requires a systemless root installation. By creating /data/.supersu in the TWRP recovery environment, the SuperSU install script parses the file and sees "SYSTEMLESS=true" and ignores what it auto-detects and forces a systemless root installation.
Hope this is helpful to someone!
As always, if this is the first time you have booted TWRP or attempted root... BACKUP IN TWRP FIRST!!! Once the system is modified, it cannot be undone (easily) and you will always have a known good starting place if the worst happens.
DISCLAIMER: I am not responsible for anything that happens... Your device, your responsibility, no matter what happens... Although all the information here has been tested and is known to work with no issues except where noted, things occasionally can and do go wrong and we cannot foresee every possible scenario or circumstance.
If you need assistance, we need detailed information about what what's going on and what you have tried to do... Please provide details including:
1) Device model number and Android version
2) TWRP version
3) SuperSU version
4) Output of 'cat /data/.supersu' from TWRP terminal
And a copy of recovery.log if possible, and any other pertinent information you can think of. Without specific information there is nothing that I can do to assist you and request for help may be ignored.
Photos added showing what a proper command and flash should look like. Note that in picture 1 the exit command is not needed, you can just back out. In pictures 2 and 3 a proper flash of SuperSU is shown, note that system-less mode is specified and the boot image is patched, this is what should occur. It is normal for it to loop once or twice, but that is it, first boot could take 10 minutes plus.
EDIT: I no longer own or use this device, but will keep this thread open and will check it periodically for assisting the few people left out there who haven't rooted their Moto G 2015 yet.
I have no doubt whatsoever, I did something wrong through the process, that why I wanted to make sure everyone knew regardless the systemless install, and echo command would be needed, also SuperSu updated the binary, from within the apk app to the aforementioned version as soon as I restarted.
So do we not need "Busybox Installer"?
installed as it would not install from the apk app, I also had read elsewhere that if you wanted "Xposed" would have to be flashed within my recovery, rather than installed as I always had with the apk previously
SuperSU should show up in the app drawer after a successful flash.
Make sure you enabled changes to system, did the terminal command, and when you flash the zip for SuperSU watch the recovery log, it should say something about "systemless". If not, please attach a copy of recovery.log file
Hmm... looks like it patched the boot.img successfully. Try installing the SuperSU app from the Play Store and see if it says the binary is properly installed.
I haven't tried this with the 2.77beta yet, I know it had some changes specifically for the Note 7 because Samsung tried to make it unrootable (but failed), I have been using the latest stable build of 2.76