Rooting on Android

From Wiki³
Jump to: navigation, search
IconUNDER CONSTRUCTION: The code monkeys are on the loose! Check back for updates!

Why Root?

root [roōt] n., common word associated with giving a user "super user" access to their phones programming and other various aspects that would normally otherwise not be possible.

The most commonly not asked question when it comes to rooting, is why are you rooting your device? If you do not know the answer to this then you might be better of not rooting your Android device. Are you rooting your device due to lack of certain functionality and/or an application in particular that requires root to function, one you possibly cannot live without? Personally I like to have complete control over the devices that I purchase, with that comes a certain comfort zone that I like to operate inside of. If I cannot run certain things or execute certain tasks due to a lack of control I tend to get very frustrated and embark on personal crusades to rip the control from the devices cold dead hands (figuratively of course, we aren't bricking devices here). In a more realistic tone however, I usually root due to one or many of the following reasons...

  • Support for 3rd-party kernel modules
  • Running other distros of Linux via containers and chroot
  • Modifying the /etc/hosts file to block ads
  • System backup apps like Titanium Backup
  • Personally theme your device

Why Not Root?

If you are the type of person who enjoys stock devices with stock OS and stock applications with no deviance and/or chance that you could personally mess anything up on your device then I hate to break it to you but rooting is probably not for you. Rooting leaves your phone wide open security wise, if you do not know how to adapt your personal usage habits accordingly then this is probably not something you should be doing. Also take note that obtaining root gives you full unrestricted access to your device and its filesystem, making changes you perform more hazardous to your device. Typically speaking if you were locked out of said directories before rooting and you are not sure what you are doing, it is a good idea to leave those alone after rooting or risk harming the stability of your device.

  • Please also understand that depending on where and from whom you purchased your device, your warranty is likely to be void upon obtaining root.

This ends up not being a problem with some devices as there are methods for some to perform a removal of root, with some devices a simple reset to factory defaults will perform this, I just would like to point out that this is not a guarantee and you are continuing at your own risk.

ASUS Transformer Prime TF201

The following method is for rooting the Transformer Prime TF201 running ICS 4.0.3 with build number 9.4.2.15. I also have Linux Mint 12 installed on my PC for use in the rooting process. I cannot make any guarantee's as to this method working under any other circumstances. I will in no shape or form take any responsibility for anything done to your device if you are to follow these instructions, I have them here merely as a reference for myself and an educational tool for others.

Disable and Force stop

For this method I am going to be making one general assumption, that you already have adb working on your PC (this involves installing the appropriate drivers if you are on Windows or MAC and installing the android-sdk to obtain adb).

Things to keep in mind:

  • Disable and Force stop (until the button is disabled) com.asus.pcsynclauncher & Splashtop Remote via Settings > Apps > ALL
  • Do NOT attempt to root while docked
  • Do NOT use any type of extension cabling too connect device to PC
  • Do NOT attempt root while multiple android devices are plugged into your PC

Preparation

Let's begin, start by entering Settings on the Prime.

  1. Under Developer options enable USB debugging
  2. Under Accounts & sync disable Launch ASUS Sync
  3. Under Security enable Unknown sources

Rooting

Connect your Prime via USB and open up a terminal to verify that your device is detected via adb.

adb devices

List of devices attached C1234567890Z device

If your Prime's serial number is not listed in adb then you have issues unrelated to this tutorial and should go back and check through the ADB Quick Start.

Next you will need to download the root exploit, superuser and busybox. Superuser can be obtained from ChainsDD's website AndroidSU.com, you are looking for the binary only download.

wget "http://cache.saurik.com/android/armeabi/mempodroid" -q

wget "http://downloads.androidsu.com/superuser/su-bin-3.0.3.2-efghi-signed.zip" -q

Extract the su binary and the Superuser.apk out of the zip file into your current directory. and then push all of these to your device.

adb push mempodroid /data/local

adb push su /data/local

adb push Superuser.apk /data/local

adb push busybox /data/local

Now that the root exploit and the superuser binary are located on your device, shell into the device using adb (the prompt ending in $ indicating a normal user).

adb shell

[email protected]:/ $

Now that we are shelled into the device via adb, change the permissions of the exploit so that it is executable and finally run it to gain root access (which should now be indicated by a # prompt).

chmod 777 /data/local/mempodroid

/data/local/mempodroid.bin 0xd9ec 0xaf47 sh

Motorola Atrix 4G

blah