Hi I have the XT1570, running unlocked and with rooted but stock 5.1.1. I have run in to some issues with the recovery part.
Firstly I wanted to go back to the recovery and flash a stock recovery so I could get the OTA for MM, i did that using fastboot, and the flash worked fine according to fastboot, however once i rebooted into recovery it would not load, got an error message, I forget now something about dumping back to bootloader.
Anyway i fixed it got TWRP back on again, then tried a different stock recovery, same thing same error, so i thought I would easily get back to TWRP by the same method, flash again. I was wrong, now fastboot told me , target reported max download size of 536870912 bytes
error: cannot load 'twrp-2.8.7.1-clark': No error
Remember this is the exact same TWRP image i have just flashed not 5 mins before.
So i thought ok then, maybe an old image is in there taking up space or something.
C:\Users\David\Desktop\Mfastboot\Mfastboot>fastboot erase recovery
erasing 'recovery'...
(bootloader) Erase allowed in unlocked state
OKAY [ 0.017s]
finished. total time: 0.019s
Now I get the message:
Invalid boot image header.
Error:failed to load kernel
Boot up failed.
I presume I have deleted everything in the recovery partition, and so messed it up good, but I dont know how to fix it at this point.
I also erased the cache along the way (via fastboot) as I tried to get the OTA update to work anyway just to see what would happen, so I had to erase the cache to cancel updates
I must reiterate, I can boot into Android and use my phone no issues, at all, just I have no recovery at all and this means updates arent going to work, also i cant seem to find a reliable source for a stock recovery.
Some step by step help would be appreciated, as I am not an expert by any means on this.
Thank you.
Also my device was bought in China as that is where I am, it does indeed have the code name XT1570, dual sim, I would assume it is basically the same as the XT1572 asian. I do also have an original backup of the phone after unlocking bootloader, before root, which was my next port of call after changing the recovery back to stock.
fixed it i was just being foolish, someone delete this thread it is of no use.
Can you explain how you fixed it? I too have deleted the recovery in an attempt to flash twrp, but now neither twrp nor the stock recovery are there?
Tapatalk'd from my Twisted, Racing Nexus 5
I was under the impression that fastboot boot twrp.img no longer worked in recent android versions. I recall reading this for a couple of devices. However, out of curiosity, i tried it and it worked today. I am running 7.0 nougat and fastboot booted twrp to back up all partitions using the latest twrp.
If I am wrong mods please delete.
Milly7 said:
I was under the impression that fastboot boot twrp.img no longer worked in recent android versions. I recall reading this for a couple of devices. However, out of curiosity, i tried it and it worked today. I am running 7.0 nougat and fastboot booted twrp to back up all partitions using the latest twrp.
If I am wrong mods please delete.
Click to expand...
Click to collapse
I can confirm that it does indeed work.
Try "adb reboot bootloader" to get into the bootloader. Then make sure that you renamed the image to twrp, then you can do fastboot boot twrp.img and it will work. Just be sure to be using TWRP 3.0.2-1, that one works with Nougat and encryption
I have few questions:
When booted to TWRP using fastboot boot (without flashing), in which partition TWRP is temporarily stored? Is is boot partition? After booting into TWRP (without flashing), if I take backup of boot partition, will it be stock version?
panijsr said:
I have few questions:
When booted to TWRP using fastboot boot (without flashing), in which partition TWRP is temporarily stored? Is is boot partition? After booting into TWRP (without flashing), if I take backup of boot partition, will it be stock version?
Click to expand...
Click to collapse
I don't know the answer to your first question. It just replaces the stock recovery until a reboot.
Assuming that you are using a stock rom, the backup will be the stock boot of the monthly security update that is currently installed.
Sent from my Nexus 5X using Tapatalk
SlimSnoopOS said:
I don't know the answer to your first question. It just replaces the stock recovery until a reboot.
Assuming that you are using a stock rom, the backup will be the stock boot of the monthly security update that is currently installed.
Click to expand...
Click to collapse
It does not modify the recovery partition, even temporarily. That is why, we are able to backup stock recovery, before actually flashing TWRP. It must be residing either in boot or cache partition, until next boot.
fastboot boot recovery.img should work as recovery is a boot image (header, sig, kernel, ramdisk)
Now to know where downloaded data are stored on the device, you'd have to look in fastboot device side code (based on https://source.codeaurora.org/quic/la/kernel/lk/tree/app/aboot) but could be that some code is not published.
fastboot boot involves a download command, followed by a boot command, while fastboot flash involves a download followed by a flash command.
Looks like it's stored in RAM, see https://source.codeaurora.org/quic/la/kernel/lk/tree/app/aboot/aboot.c#n221 and control is then given to this physical address where the kernel and ramdisk (initial rootfs which contains init the first userland program being execed) are.
Downloads can't be stored in cache (100MB), it's too small for a max download size (472MB). From a quick read of the protocol description, it's not clear to me how bigger images are downloaded (system is 1.9GB).
See:
Code:
[email protected]:~$ fastboot getvar all
(bootloader) version:0.01
(bootloader) unlocked:yes
(bootloader) hardware-revision:ANGLER-ROW-VN1
(bootloader) version-baseband:angler-03.81
(bootloader) version-bootloader:angler-03.69
(bootloader) display-panel:
(bootloader) charger-screen-enabled:0
(bootloader) max-download-size: 0x1d800000
(bootloader) partition-type:cache:ext4
(bootloader) partition-size:cache: 0x6400000
(bootloader) partition-type:userdata:ext4
(bootloader) partition-size:userdata: 0x66257ee00
(bootloader) partition-type:system:ext4
(bootloader) partition-size:system: 0xc0000000
(bootloader) serialno:ENU7N15DEADBEEFCAFE
(bootloader) kernel:lk
(bootloader) product:angler
Edit: so I was curious and looked at the code, for IMG bigger than max download size, the file is sent in chunks. And it probably still is uploaded into RAM. Which is Ok as we have 3GB RAM. There's no CRC check though neither for transport nor by rereading written data. For system, that's probably taken care of by dm-verity which kicks in at boot and autocorrects simple mmc error. But it would have been good to see during flash how many inconsistencies were detected.
I've unlocked the bootloader, flashed twrp from pc and I was going to flash the supersu zip. Unfortunately, when I went in recovery (twrp) and flashed the supersu zip(installation process didn't show any problem) I clicked reboot and the phone didn't boot! It just turns off(no led or similar). I have fastboot and twrp access, I tried flashing omnirom using the adb sideload command, everything went fine but still when pressing reboot nothing happens! I even tried to boot manually (after flashing the ROM) with the physical button but still nothing(this time the led blinked twice).
I used the latest version of twrp for Athene, version 2.82 of supersu if this could help.
Edit: was it necessary to flash a different kernel, as it was a nougat rom? The rooting guide I followed didn't mention that.
Edit: Everything worked fine before Supersu, the problem must be related to Supersu but how can I solve?
Generally, on stock Nougat ROMs (not custom ROMs in general), you will need a custom kernel if you want to root. Else, the strict anti rooting protections in the stock Motorola kernel on Nougat devices will trip and stop you from booting your device.
You could try clearing the misc partition as described here (I've not tried it, so be very careful) https://forum.xda-developers.com/moto-g4/help/troubleshooting-twrp-boot-loop-ota-t3714325 to try to reset the boot issue.
If that doesn't work, we may have to repair with a stock ROM flash via fastboot. Can you remember what stock ROM you last had?
I appreciate there are a lot of rooting guides (albeit most are out of date), for future reference, here's a guide that still works: https://forum.xda-developers.com/mo...de-root-moto-g4-plus-supersu-android-t3587918
echo92 said:
Generally, on stock Nougat ROMs (not custom ROMs in general), you will need a custom kernel if you want to root. Else, the strict anti rooting protections in the stock Motorola kernel on Nougat devices will trip and stop you from booting your device.
You could try clearing the misc partition as described here (I've not tried it, so be very careful) https://forum.xda-developers.com/moto-g4/help/troubleshooting-twrp-boot-loop-ota-t3714325 to try to reset the boot issue.
If that doesn't work, we may have to repair with a stock ROM flash via fastboot. Can you remember what stock ROM you last had?
I appreciate there are a lot of rooting guides (albeit most are out of date), for future reference, here's a guide that still works: https://forum.xda-developers.com/mo...de-root-moto-g4-plus-supersu-android-t3587918
Click to expand...
Click to collapse
The stock rom was the stock one with android Nougat 7.0, I don't remember any other information Moreover there is a omni rom now, as i wrote before.
Edit:
The device is Motorola Moto G4 XT1622
Stefano Barbotto said:
The stock rom was the stock one with android Nougat 7.0, I don't remember any other information Moreover there is a omni rom now, as i wrote before
Click to expand...
Click to collapse
When you flashed omnirom via ADB side load, did you erase /system, /data, cache and dalvik before flashing omnirom?
Latest stock ROM for EU is here by the way https://forum.xda-developers.com/moto-g4-plus/how-to/stock-rom-npjs25-93-14-4-march-1-t3608138
echo92 said:
When you flashed omnirom via ADB side load, did you erase /system, /data, cache and dalvik before flashing omnirom?
Latest stock ROM for EU is here by the way https://forum.xda-developers.com/moto-g4-plus/how-to/stock-rom-npjs25-93-14-4-march-1-t3608138
Click to expand...
Click to collapse
No I didn't, I know I should have done this, though
Edit: So, should I try with the partitions or directly flash stock rom? What do you suggest? The xda page related to partitions was related to another issue....
Stefano Barbotto said:
No I didn't, I know I should have done this, though
Edit: So, should I try with the partitions or directly flash stock rom? What do you suggest? The xda page related to partitions was related to another issue....
Click to expand...
Click to collapse
Okay, the partitions page was an idea to get you out of the TWRP boot issues you had.
For now though, the priority is to get your device running, you could try reflashing omnirom after erasing /system, /data, /dalvik and /cache ( so removing your stock system and data, I hope you backed up). Try booting with the custom ROM. Since you've got TWRP access, this would be easiest, you can always copy files to your device whilst in TWRP and connected via USB.
If that doesn't get your device running or you want to revert back to stock, them flash the stock ROM in fastboot.
echo92 said:
Okay, the partitions page was an idea to get you out of the TWRP boot issues you had.
For now though, the priority is to get your device running, you could try reflashing omnirom after erasing /system, /data, /dalvik and /cache ( so removing your stock system and data, I hope you backed up). Try booting with the custom ROM. Since you've got TWRP access, this would be easiest, you can always copy files to your device whilst in TWRP and connected via USB.
If that doesn't get your device running or you want to revert back to stock, them flash the stock ROM in fastboot.
Click to expand...
Click to collapse
I didn't even back up the rom from twrp, I totally forgot. I only have information backed up from the motorola account(which is not the back up of the rom, of course). Anyway, I'll try flashing and tell you, thanks for the help
echo92 said:
Okay, the partitions page was an idea to get you out of the TWRP boot issues you had.
For now though, the priority is to get your device running, you could try reflashing omnirom after erasing /system, /data, /dalvik and /cache ( so removing your stock system and data, I hope you backed up). Try booting with the custom ROM. Since you've got TWRP access, this would be easiest, you can always copy files to your device whilst in TWRP and connected via USB.
If that doesn't get your device running or you want to revert back to stock, them flash the stock ROM in fastboot.
Click to expand...
Click to collapse
Tried to flash the stock rom you seggested in fastboot mode (followed the instructions in the link you provided), everything worked fine but the phone dosn't boot and remains connected and blinks....I don't know what else to do.
Stefano Barbotto said:
Tried to flash the stock rom you seggested in fastboot mode (followed the instructions in the link you provided), everything worked fine but the phone dosn't boot and remains connected and blinks....I don't know what else to do.
Click to expand...
Click to collapse
Hmm, what outputs did you receive from the flashing commands, were they all reporting [OKAY]? How long did you leave your device to boot?
Are you still able to boot to bootloader? If so, can you re-connect your device to your computer, and in the ADB terminal, type 'fastboot getvar all' (without the quotes) and post the output here please? You may wish to omit your IMEI that's included in these device variables.
Can you hold down the power button for 2-3 minutes, try a hard shutdown, then try to reboot?
echo92 said:
Hmm, what outputs did you receive from the flashing commands, were they all reporting [OKAY]? How long did you leave your device to boot?
Are you still able to boot to bootloader? If so, can you re-connect your device to your computer, and in the ADB terminal, type 'fastboot getvar all' (without the quotes) and post the output here please? You may wish to omit your IMEI that's included in these device variables.
Can you hold down the power button for 2-3 minutes, try a hard shutdown, then try to reboot?
Click to expand...
Click to collapse
Here is the output from the command "fastboot getvar all":
C:\Program Files (x86)\Minimal ADB and Fastboot>fastboot getvar all
(bootloader) slot-count: not found
(bootloader) slot-suffixes: not found
(bootloader) slot-suffixes: not found
(bootloader) version: 0.5
(bootloader) version-bootloader: moto-msm8952-B1.06
(bootloader) product: athene_13mp
(bootloader) board: athene_13mp
(bootloader) secure: yes
(bootloader) hwrev: P2A
(bootloader) radio: 3
(bootloader) storage-type: emmc
(bootloader) emmc: 16GB SAMSUNG QE13MB RV=08 PV=07 FV=0000000000000007
(bootloader) ram: 2GB SAMSUNG LP3 DIE=8Gb M5=01 M6=05 M7=00 M8=1F
(bootloader) cpu: MSM8952
(bootloader) serialno: ZY2239WC6B
(bootloader) cid: 0x0032
(bootloader) channelid: 0x40
(bootloader) uid: A40BEC0000000000000000000000
(bootloader) securestate: flashing_unlocked
(bootloader) iswarrantyvoid: yes
(bootloader) max-download-size: 536870912
(bootloader) reason: Volume down key pressed
(bootloader) imei: 354123071313730
(bootloader) meid:
(bootloader) date: 06-02-2016
(bootloader) sku: XT1622
(bootloader) battid: SNN5970A
(bootloader) iccid:
(bootloader) cust_md5:
(bootloader) max-sparse-size: 268435456
(bootloader) current-time: "Thu Apr 21 5:47:54 UTC 2016"
(bootloader) ro.build.fingerprint[0]: motorola/athene/athene:7.0/NPJS25.
(bootloader) ro.build.fingerprint[1]: 93-14-10/10:user/release-keys
(bootloader) ro.build.version.full[0]: Blur_Version.25.221.10.athene.ret
(bootloader) ro.build.version.full[1]: ail.en.US
(bootloader) ro.build.version.qcom: LA.BR.1.3.6-01710-8976.0
(bootloader) version-baseband[0]: M8952_70030.25.03.62.01R ATHENE_EMEA_D
(bootloader) version-baseband[1]: SDS_CUST
(bootloader) kernel.version[0]: Linux version 3.10.84-g9b51918 (hudsoncm
(bootloader) kernel.version[1]: @ilclbld26) (gcc version 4.8 (GCC) ) #1
(bootloader) kernel.version[2]: SMP PREEMPT Mon Aug 28 09:30:48 CDT 2017
(bootloader) sbl1.git: git=MBM-NG-VB1.06-0-g57d1343
(bootloader) rpm.git: git=MBM-NG-VB1.06-0-ga970ead
(bootloader) tz.git: git=69dd24b-dirty
(bootloader) hyp.git: git=69dd24b-dirty
(bootloader) keymaster.git: git=69dd24b-dirty
(bootloader) cmnlib.git: git=69dd24b-dirty
(bootloader) aboot.git: git=MBM-NG-VB1.06-0-g0edfb0d
(bootloader) qe: qe 0/0
(bootloader) frp-state: no protection (77)
(bootloader) ro.carrier: reteu
all: listed above
finished. total time: 0.422s
echo92 said:
Hmm, what outputs did you receive from the flashing commands, were they all reporting [OKAY]? How long did you leave your device to boot?
Are you still able to boot to bootloader? If so, can you re-connect your device to your computer, and in the ADB terminal, type 'fastboot getvar all' (without the quotes) and post the output here please? You may wish to omit your IMEI that's included in these device variables.
Can you hold down the power button for 2-3 minutes, try a hard shutdown, then try to reboot?
Click to expand...
Click to collapse
As for the outputs of the flashing commands, I couldn't copy them, as I used the OEM flash provided by the author of the post(the window opened and closed automatically) rather than manually inputing the commands in the prompt. I'll try manually and tell you
echo92 said:
Hmm, what outputs did you receive from the flashing commands, were they all reporting [OKAY]? How long did you leave your device to boot?
Are you still able to boot to bootloader? If so, can you re-connect your device to your computer, and in the ADB terminal, type 'fastboot getvar all' (without the quotes) and post the output here please? You may wish to omit your IMEI that's included in these device variables.
Can you hold down the power button for 2-3 minutes, try a hard shutdown, then try to reboot?
Click to expand...
Click to collapse
As for the outputs from the flashing commands, I wasn't able to copy them, as I used the "OEM flash" file (from the author of this link :https://forum.xda-developers.com/moto-g4-plus/how-to/stock-rom-npjs25-93-14-4-march-1-t3608138) which automatically opened and closed the prompt
Stefano Barbotto said:
As for the outputs from the flashing commands, I wasn't able to copy them, as I used the "OEM flash" file (from the author of this link : https://forum.xda-developers.com/moto-g4-plus/how-to/stock-rom-npjs25-93-14-4-march-1-t3608138) which automatically opened and closed the prompt
Click to expand...
Click to collapse
Okay, that script should work and looking at the getvar log, it looks like the firmware flashed okay (your bootloader, baseband and system all match), so I'm confused as to why your device is failing to boot...
Can you try manually flashing and reporting back if you get all [OKAY] responses? By manually flashing, I mean copying each command into the ADB terminal in sequence, then executing each command, seeing the [OKAY] before proceeding. That way, we can be sure we have stock fully and no trace of root which might be tripping the checks. I'd like to see the output if possible
echo92 said:
Okay, that script should work and looking at the getvar log, it looks like the firmware flashed okay (your bootloader, baseband and system all match), so I'm confused as to why your device is failing to boot...
Can you try manually flashing and reporting back if you get all [OKAY] responses? By manually flashing, I mean copying each command into the ADB terminal in sequence, then executing each command, seeing the [OKAY] before proceeding. That way, we can be sure we have stock fully and no trace of root which might be tripping the checks. I'd like to see the output if possible
Click to expand...
Click to collapse
I really, extremely apologize for being so dumb : I forgot to unzip the stock rom file, so the files weren't recognised while I was entering the commands. The phone is now perfectly working, thanks again for the great help!
By the way, If I wanted to to root the device, how should I install another kernel?
Stefano Barbotto said:
I really, extremely apologize for being so dumb : I forgot to unzip the stock rom file, so the files weren't recognised while I was entering the commands. The phone is now perfectly working, thanks again for the great help!
By the way, If I wanted to to root the device, how should I install another kernel?
Click to expand...
Click to collapse
If you flashed TWRP you can install the kernel with twrp.
Stefano Barbotto said:
I really, extremely apologize for being so dumb : I forgot to unzip the stock rom file, so the files weren't recognised while I was entering the commands. The phone is now perfectly working, thanks again for the great help!
By the way, If I wanted to to root the device, how should I install another kernel?
Click to expand...
Click to collapse
Woo, we got your device working
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://forum.xda-developers.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://forum.xda-developers.com/mo...covery-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:
Code:
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://forum.xda-developers.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://forum.xda-developers.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
echo92 said:
Woo, we got your device working
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://forum.xda-developers.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://forum.xda-developers.com/mo...covery-twrp-3-0-2-r3-moto-g4-g4-plus-t3494337 ) but the official builds should suffice. 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 (use the volume keys 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:
Code:
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://forum.xda-developers.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://forum.xda-developers.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
Click to expand...
Click to collapse
Just a question: I already have twrp on my device(I normally access by powering off phone, then power+volume down keys, then I select recovery from the menu and I am in twrp), how do I know if it is already flashed to my recovery partition? Should I flash twrp from pc in fastboot mode again and then boot into recovery after flashing, as you wrote? Thanks in advance for the reply
Stefano Barbotto said:
Just a question: I already have twrp on my device(I normally access by powering off phone, then power+volume down keys, then I select recovery from the menu and I am in twrp), how do I know if it is already flashed to my recovery partition? Should I flash twrp from pc in fastboot mode again and then boot into recovery after flashing, as you wrote? Thanks in advance for the reply
Click to expand...
Click to collapse
If you've already got TWRP on your device and can not into it, then it's already flashed to your recovery partition. No need to flash it again.
Just boot into TWRP and follow from step 3 (backing up your device)
echo92 said:
If you've already got TWRP on your device and can not into it, then it's already flashed to your recovery partition. No need to flash it again.
Just boot into TWRP and follow from step 3 (backing up your device)
Click to expand...
Click to collapse
I can into it via the fastboot menu but not directly with the combination of power + volume down buttons(this sends me in fastboot mode). If I haven't misunderstood, this means it's already flashed to my recovery partition, is it right?
Stefano Barbotto said:
I can into it via the fastboot menu but not directly with the combination of power + volume down buttons(this sends me in fastboot mode). If I haven't misunderstood, this means it's already flashed to my recovery partition, is it right?
Click to expand...
Click to collapse
Volume down and power button combinations should always send you to the bootloader/fastboot mode (won't let you boot directly to recovery), then you can select recovery from the fastboot menu. If it's as you described, then yes, you already have TWRP flashed to your recovery partition and you're doing things correctly.
What I wrote in step 2) assumed your device was already booted into the bootloader mode to flash/boot TWRP. Hence, you can use the volume and power keys as you described to boot into TWRP recovery. I'll add that to make the procedure clearer
For clarity's sake:
Powered off device > Pressing the power and volume down keys > Bootloader/fastboot mode.
In bootloader/fastboot mode, select recovery from the fastboot menu with the volume keys. Press Power key to select
If you see:
TWRP logo - you have TWRP flashed to your recovery partition
OR a green Android on its back with No Command - that's stock recovery.