I got my new phone today and as usual the first thing I did was root it before I started copying data over so that I don’t loose data when I unlock the boot loader. The process required a bit of work mainly because I was following instructions for KitKat while my phone was running Lollipop. That caused the phone to go into this funky state where the Play Store API’s went MIA and the entire thing stopped working to the point that I had to do a hard reset to get back to a stable state.
BTW, before you continue please note that this will delete all data on the phone so you need to ensure that you have a proper backup before proceeding. Without further ado, here are the steps I followed to get things to work using my Linux (Debian) desktop:
Unlock the Bootloder
The first thing you have to do is unlock the Boot loader on the phone:
- Install the Android SDK by issuing the following command:
apt-get install android-tools-adb android-tools-fastboot
- Run the following command:
fastboot oem get_unlock_data
- Take the string returned, which would look something like this:
(bootloader) 0A40040192024205#4C4D3556313230 (bootloader) 30373731363031303332323239#BD00 (bootloader) 8A672BA4746C2CE02328A2AC0C39F95 (bootloader) 1A3E5#1F53280002000000000000000 (bootloader) 0000000
and concatenate the 5 lines of output into one continuous string without (bootloader) or ‘INFO’ or white spaces. Your string needs to look like this:
- Visit the Motorola Website.
- Paste the string you got in the previous step on the site, and then click on the ‘Can my Device be Unlocked?’ button and if your device is unlockable, a “REQUEST UNLOCK KEY” button will now appear at the bottom of the page.
- Click on the “REQUEST UNLOCK KEY” Button.
- You will now receive a mail with the unlock key at your registered email address
- Start your device in fastboot mode by pushing and holding the power and volume down at the same time. Then release the power button followed by the volume down button. The device will now power up in fastboot mode.
- Run the following command to unlock the bootloader:
fastboot oem unlock
If the code was correct then you will see a message confirming that your device was unlocked and the phone will reboot.
Enable Developer Options/USB Debugging
In order to proceed further we need to enable USB Debugging and in order to do that we need to enable Developer Options following these steps:
- Pull down the notification drawer and tap on ‘Settings’
- Scroll down to ‘About Phone’
- Now scroll down to ‘Build Number’
- Tap on ‘Build Number’ 7 times.
- Click on ‘Developer Options’
- Check the box next to ‘USB debugging’ and save
It’ll now say that you are a developer. Now press back, You should now see Developer Options above About Phone.
Root the Phone
First we need to download the correct image file for the model of your phone. I had to look up my model on Wikipedia because for some reason my phone decided not to share that information with me. Use the appropriate link for your model in the list below. I have a XT1092 but the XT1097 image worked fine for me.
- Moto X 2nd Gen XT1097: CF-Auto-Root-victara-victararetbr-xt1097.zip
- Moto X 2nd Gen XT1068: CF-Auto-Root-titanumtsds-titanretaildsds-xt1068.zip
After downloading the file, extract it. Run the following command:
adb reboot bootloader
This will restart the phone in the fastboot mode. Then boot using the image you downloaded in the previous step using this command:
fastboot boot /path/to/image/file/CF-Auto-Root-victara-victararetbr-xt1097.img
Once you run the command the Device will boot up, install su and quickly reboot (this is automatic, no user intervention is required). After the phone starts up, you need to install Chainfire’s SuperSU from the Play Store.
After that you are done and your phone is rooted. You can verify the same by installing a ‘Root Verifier’ application from the store.
Well this is all for now, will write more later.