Universal Android Rooting Procedure (Rage Method)

I. Before You Begin

1. This is a generic rooting method that should work on a lot of phones, if you have issues with it simply head to our Android How To’s section, look for your device, and use any of the procedures listed to try to root until one works for you. 2. We are refining this procedure as we go! PLEASE POST YOUR DEVICE, ANDROID VERSION, CARRIER THE PHONE IS LOCKED TO, AND IF IT WORKED OR DIDN’T IN THE COMMENTS BELOW SO WE CAN IMPROVE THIS PROCEDURE! (If it did not work, don’t just say “didn’t work” please post the above information then post what exact line you got an error at etc. Be as specific as possible without writing a novel, thanks!)

If you know how to get it to work on the phones we have listed as NOT working, please share so we can make this a truly universal procedure!

Phones It Does NOT Work On:

Phones it is CONFIRMED To Work on:

  • T-Mobile G2 (Temp root access only) – Even though it works on the G2, this procedure here is a lot easier.
  • T-Mobile MyTouch Slide – Even though it works on the Slide, this procedure here is better.

If you have a NAND locked phone listed below, simply use an Unrevoked Method (click here and find your phone and look for the Unrevoked rooting method in the list) to root you phone instead of this one:

  • Sprint EVO 4G (HTC Supersonic)
  • Droid Incredible (HTC Incredible)
  • HTC Desire GSM
  • HTC Desire CDMA (HTC BravoC)
  • HTC Aria
  • Droid Eris (HTC DesireC)
  • HTC Wildfire (HTC Buzz)
  • HTC Legend

II. Setup ADB

1. Head to our How To Setup ADB procedure and come back to this procedure once you can see your phone’s serial number after typing “adb devices”.

III. Root Using RageAgainsttheCage

1. Download the appropriate rooting files for your version of Android and save them to your computer.

RageAgainsttheCage Rooting Files for Android 2.0/2.0.1/2.1/2.2

2. Extract them to the c:\AndroidSDK\tools\ folder so all the files are in the same folder as the adb program (they must NOT be inside a folder inside the tools folder, they must be in the tools folder itself)

3. On the phone, go to Settings > Applications > Development and make sure USB Debugging is Checked ON.

4. Plug your phone in via USB cable and do NOT mount the sdcard/select charge only for the connection mode if your phone has such an option.

5. Open the command prompt on the computer by going to Start then typing cmd and hitting enter.

6. Type the following commands into the command prompt with hitting enter at the end of each line :

cd c:\androidsdk\tools\
adb devices
adb push Superuser.apk /sdcard/
adb push su /sdcard/
adb push rageagainstthecage-arm5.bin /data/local/tmp/
adb shell chmod 0755 /data/local/tmp/rageagainstthecage-arm5.bin
adb install term.apk     (if this says failed, simply go to the Market and download the latest Terminal Emulator for free and install that instead of doing this line. Then just continue)

7. Now, leaving the phone plugged in to the computer, open the Terminal Emulator App on the phone. Then type the following into the terminal program with hitting enter at the end of each line (remember you can hold down the Menu button to bring up the virtual keyboard if necessary):

cd data/local/tmp
./rageagainstthecage-arm5.bin      (Wait until it shows that it “Forked Childs”. This should take a minute or 2. Once it does, continue).

8. Hit back on your phone to exit the Terminal app. Then reopen it (it will most likely force close). Click force close then open it again. This time it will open the terminal app and you should see a # instead of a $ symbol. If you do, continue. If not, redo step 7.

9. In the terminal with the # symbol, type the following with hitting enter at the end of the line: cat /proc/mounts

8. The above command should display a list in the terminal window. Look in the list for this line:

/dev/block/XXXXXXXXXX /system YYYY  ro 0 0     (the XXXXXXXXX part should be different depending on which device you have. The YYYY part will either be; ext2, ext3 or yaffs2 or something similar. )

9. In the terminal window on the phone, type the following with hitting enter at the end of each line (make sure to replace X’s and Y’s with the actual letters/numbers you saw when typing the cat /proc/mounts command above. For example, if you saw “/dev/block/mmcblock3 /system yaffs2 ro 0 0” then the line below would read “mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system”)

mount -o rw,remount -t YYYY /dev/block/XXXXXXXXXX /system
cat /sdcard/Superuser.apk > /system/app/Superuser.apk
cat /sdcard/su > /system/bin/su
chmod 4755 /system/bin/su
mount -o ro,remount -t YYYY /dev/block/XXXXXXXXXX /system
exit
exit

10. Now, on the phone, open the app drawer and you should see Superuser permissions inside if done correctly.

151 thoughts on “Universal Android Rooting Procedure (Rage Method)”

  1. When i hit enter after the command (adb push Superuser.apk /sdcard/) i get error stat’superuser.apk’ No such file or directory. the downloaded file is extracted on the android sdk folder.Using HTC Legend

    1. It needs to be inside the tools folder in the sdk not the sdk folder. Then you need to type the cd c:\androidsdk\tools\ right before that (androidsdk needs to be what your androidsdk folder is called). Try again and let me know!

  2. After typing ”cat /sdcard/Superuser.apk > /system/app/Superuser.apk”
    i am getting this error:cannot create /system/app/Superuser.apk: read only file system.

    1. Means you didn’t type in the mount -o rw,remount… line correctly retype it and make sure you do the cat /proc/mounts line first and find the line that has the /system in it. Then put the correct things in the correct places when you type the mount line. If you still have trouble, let me know what was written on the /system line when typing the proc/mounts command and then exactly what you typed for the mount command and I’ll correct it.

    1. That has to do with your adb usb drivers. You need to go to the How To Setup ADB procedure as listed in the procedure. Do that procedure and come back to this one once you see a serial number at the end of that procedure then come back to this one.

    1. To be honest, having a rooted phone you can already load 2.2 without having to wait. In my opinion the only reason EVER to unroot your phone is to send it in for warranty, otherwise you’ll get updates faster, have better performance, wifi tethering, themes, custom icons, etc with a rooted custom ROM.

      If you feel the need to have a stock ROM, you can just update with the original firmware 2.2 when it comes out and you’ll just lose root access and have to reroot to get it back.

  3. I appreciate the help and support! I have completed the first step to show the serial number. It appears the links for the rooting files are down? Both links are currently not working?

    Finally, I am attempting to root my Vodaphone HTC Magic (32B) 1.6. I have successfully got my serial showing, but do i still need to downgrade to 1.5 before carrying on with the download links.

    Thanks again,

    Martin

  4. OK so I rooted my phone, I have superuser in my app drawer, but when ever I try to load a rom or anything it tells me I don’t have root permission.

    Any help here?

    1. It might, but we have a much easier method for the legend already so no need. Just click how tos at the top of the site then android then the legend and look for the how to root unrevoked method. Do that method, much easier.

  5. im using HTC Legend 2.1 and when i type adb install term.apk , it shows failure [install_failed_older_sdk] what should i do?

      1. Dear TheUnlockr,

        I have tried to install the term.apk I got in the rage against the cage zip, I have tried installing the terminal emulator from the market, I even downloaded a newer term.apk somebody here recommended. I can not get the “cd” command to work with any of these options, therefore I can not finish the root. Any suggestions????

        soc2661

        1. What phone? Andrew what error are u getting and what exactly did u type before you got the error. 90% of the issues reported about commands are a simply space in the wrong older or forgotten.

          1. I have the T-mobile “My Touch 3G”, but still can’t get passed the ‘term.apk’, using the computer it says the install failed. I tried with the terminal emulator also and it says, “can’t cd data/local…”

      2. Dear TheUnlockr,

        I have tried to install the term.apk I got in the rage against the cage zip, I have tried installing the terminal emulator from the market, I even downloaded a newer term.apk somebody here recommended. I can not get the “cd” command to work with any of these options, therefore I can not finish the root. Any suggestions????

        soc2661

          1. Seem no ROOT or RUU method for HTC Legend 2.1 update 1,
            Hboot 0.43.0003
            software 2.02.178.3 Australia

            🙁 🙁 🙁

  6. when i type cat /proc/mounts im getting /dev/block//void/179:1 and not the X or Y im suppose to be getting (ext3 or mmcblock3)

  7. # export PATH=/data/local/bin:$PATH
    #cat /proc/mounts
    rootfs / rootfs ro 0 0
    tmpfs /dev tmpfs rw,mode=755 0 0
    devpts /dev/pts devpts rw,mode=600 0 0
    proc /proc proc rw 0 0
    sysfs /sys sysfs rw 0 0
    tmpfs /sqlite_stmt_journals tmpfs rw,size=4096k 0 0
    /dev/stl5 /system rfs ro,nosuid,nodev,codepage=utf8,vfat,fcache(blks)=128,xattr,check=no 0 0
    /dev/stl6 /data rfs rw,nosuid,nodev,codepage=utf8,vfat,fcache(blks)=128,xattr,check=no 0 0
    /dev/stl7 /cache rfs rw,nosuid,nodev,codepage=utf8,vfat,fcache(blks)=128,xattr,check=no 0 0
    /dev/block//vold/179:1 /sdcard vfat rw,dirsync,nosuid,nodev,noexec,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0

    This is what I get, I Probably did something wrong because of the no suid and no dev, etc. Thanks

    1. i get this same error. what have we done wrong? ive tried a bunch of times and factory restored my phone…sooooo…any tips?

      btw using samsung intercept. 2.1 blah blah blah. im curious as to how Danny got it on there. help please. also how do i enable live wallpapers after this is done?

  8. when I doing step 9.. cat/sdcard/Superuser.apk >….. line when i hit next its shows dont have enough memory…

    why?? i am using HTC Legend 2.1 update 1… Software number : 2.02.178.2 and Hboot 0.43.0003

  9. Hi, I got up to the point on the terminal where I type

    cat /sdcard/Superuser.apk > /system/app/Superuser.apk

    but when I press enter, it says

    /sdcard/superuser.apk: No such file or directory

    Every step previously went flawlessly. Any idea what the problem might be?

  10. On #9, which i have the # terminal, when i type cat/proc/mounts in the Terminal emulator, it says “not found”.. Im stuck.

  11. On #9, which i have the # terminal, when i type cat/proc/mounts in the Terminal emulator, it says “not found”.. Im stuck.

  12. Don’t work for my tattoo because “cannot create /system/app/Superuser.apk: not enough memory”, but the Androot method did work

  13. help i get to cat/sd/superuser ect. but it says cannot create this is a read only file system? any answers?????
    htc dream (mytouch3g)

  14. hmm…trying to mount my Samsung Epic 4G. I think I have all the drivers installed and everything correctly. When I try to put in ‘push Superuser.apk /sdcard/’ it tells my ‘push’ is not not recognized as an internal or external command, operable program, or batch file.

    Is there any way around this?

  15. i have a problem with the mount syntax.. it shows me the usage when i type

    mount -o rw,remount -t yaffs2 /dev/block/mtdblock2/system

    maybe something in the syntay is wrong? ive allready googld for the mount options but just can find the options for standard linux kernel

  16. hey there.. im really hung at the point where i have to remount the filesystem..

    when i type the command as you’ve listed it, it only shows me the options of the mount command like the syntax where wrong or something.. im really stuck cus i dont find any man pages for the android shell commands.. please help

  17. I’ve been trying for days to root my Transform, and this finally did it. I had seen this method elsewhere, the code was just written incorrectly. For some reason the Transform cannot make a , so I used adb shell through my computer’s command prompt to enter the commands. Now I just need to find a way to make BusyBox install… It says it’s unable to remount. Ideas?

    1. I got it on my transform. It took a few mods. (all from memory, so it may not be exact)
      The remount command is:
      mount -o remount rfs rw /dev/st15 /system

      After that, the Transform does not have a “>” symbol on the keyboard, so I made a script file with the needed commands in it by running (from the PC):
      adb echo “cat /data/local/tmp/Superuser.apk > /system/app/Superuser.apk” > johnnwvs.sh
      adb echo “cat /sdcard/su > /system/bin/su” >> johnnwvs.sh
      (don’t forget the >> on the second command)

      Now, get back into the terminal window in your phone (as shown above, with # prompt)
      Then pick up from the chmod command on, only this time you want to do:
      chmod 755 /data/local/tmp/johnnwvs.sh
      cd /data/local/tmp/
      ./johnnwvs.sh
      Then follow the commands after the two “cat” commands (which were just performed by running the script instead).
      Now whenever I run the terminal window, I get a # prompt. Though I did not see “superuser” settings under apps, but that may vary by phone. Now on to busybox…

    2. I got it on my transform. It took a few mods. (all from memory, so it may not be exact)
      The remount command is:
      mount -o remount rfs rw /dev/st15 /system

      After that, the Transform does not have a “>” symbol on the keyboard, so I made a script file with the needed commands in it by running (from the PC):
      adb echo “cat /data/local/tmp/Superuser.apk > /system/app/Superuser.apk” > johnnwvs.sh
      adb echo “cat /sdcard/su > /system/bin/su” >> johnnwvs.sh
      (don’t forget the >> on the second command)

      Now, get back into the terminal window in your phone (as shown above, with # prompt)
      Then pick up from the chmod command on, only this time you want to do:
      chmod 755 /data/local/tmp/johnnwvs.sh
      cd /data/local/tmp/
      ./johnnwvs.sh
      Then follow the commands after the two “cat” commands (which were just performed by running the script instead).
      Now whenever I run the terminal window, I get a # prompt. Though I did not see “superuser” settings under apps, but that may vary by phone. Now on to busybox…

  18. i got a htc magic (vodafone)
    first i got a error say that the Superuser is a read-only… this is were i got stuck and i tryed it again. than i got the second the error mount-o not found. (is there a space between the mount and -o?)

  19. I have a MyTouch 3G (which I think is HTC Hero under the covers). I got to step 9 (the second step 9; you have two sets of step 8 and step 9 above…) When I try

    cat /sdcard/Superuser.apk > /system/app/Superuser.apk

    I get “/sdcard/Superuser.apk: no such file or directory”

    Help, please! I’ve tried several other methods of rooting, including SuperOneClick, and nothing has worked.

      1. I got the same message as Esthermstrom “/sdcard/Superuser.apk: no such file or directory” for Step 9. I double checked for any typos but I’ve got everything correct. What might the error be?

  20. It didn’t work for me when i use Terminal Emulator.

    I type the cd data/local/tmp
    then
    ./rageagainstthecage-arm5.bin
    next i got this message
    ./rageagainstthecage-arm5.bin: permission denied

    Someone please help me 🙁
    I have been trying a lot of methods since 2 days ago till now.

    My Phone Model: Motorola DEXT MB200
    Country + Telco : Singapore + Singtel
    OS: Android 1.5 Unrooted

    1. Just a guess: if chmod wasn’t done correctly, rageagainstthecage-arm5.bin might not be recognized as an executable.

  21. It didn’t work for me when i use Terminal Emulator.

    I type the cd data/local/tmp
    then
    ./rageagainstthecage-arm5.bin
    next i got this message
    ./rageagainstthecage-arm5.bin: permission denied

    Someone please help me 🙁
    I have been trying a lot of methods since 2 days ago till now.

    My Phone Model: Motorola DEXT MB200
    Country + Telco : Singapore + Singtel
    OS: Android 1.5 Unrooted

  22. It didn’t work for me either. I get the Superuser Permissions in the main menu, but when I open it, all I get is a blank screen. I can’t use any apps that require root either.

  23. I keep getting an error on this command
    mount -o rw,remount -t YYYY /dev/block/XXXXXXXXXX /system
    gives me a usage statement for mount… the one time i got pas that it said remount was an invalid command.

    suggestions?

  24. I keep getting an error on this command
    mount -o rw,remount -t YYYY /dev/block/XXXXXXXXXX /system
    gives me a usage statement for mount… the one time i got pas that it said remount was an invalid command.

    suggestions?

  25. I keep getting an error on this command
    mount -o rw,remount -t YYYY /dev/block/XXXXXXXXXX /system
    gives me a usage statement for mount… the one time i got pas that it said remount was an invalid command.

    suggestions?

  26. The Cliq won’t make the > with that terminal emulator, and that stopped me for now. I see that others who have followed these instructions have developed workarounds for that.

  27. I have the MyTouch 3G Froyo (1st generation) and I am getting stuck at
    abn shell chmod 0755 /data/local/tmp/rageagainstthecage-arm-5.bin getting error: device not found

    Please help!

  28. I have the MyTouch 3G Froyo (1st generation) and I am getting stuck at
    abn shell chmod 0755 /data/local/tmp/rageagainstthecage-arm-5.bin getting error: device not found

    Please help!

  29. I have a MyTouch 1.6 with 3.5 mm headphone jack. The process worked for me however when I try to run Barnacle Wifi program, it says su is not available? I have the superuser program in the apps drawer as a result of completing above steps.

  30. I have a Cliq running with the official 2.1, and may have rooted it. For those with the standard terminal emulator, to get > close the slider, press the button at the lower left of the device, select “toggle soft keyboard” and go two layers down with the keys on the left side of the virtual keyboard. Anyhow, in my case the terminal emulator froze after I typed the first “exit” and would accept no more input. However, I am able to do the
    $su
    #
    thing, after opening it again. I have not yet tried to do other things that require root permission.

  31. This works great on the HTC Legend, except that the system partition is locked – remounting it RW doesn’t actually do anything.
    Pointers to something that can unlock this animal would be appreciated!

  32. I’m having the exact same problem. Did you ever figure it out? Can someone suggest what to do here? I have no idea what to do at this point.

  33. i have done every thing i got the superuser permissions on my phone but when i go and try to use barnacle wifi tether it says ” barnacle requiers “su” to access the hardware! please, make sure you have a root acess.”

  34. i have done every thing i got the superuser permissions on my phone but when i go and try to use barnacle wifi tether it says ” barnacle requiers “su” to access the hardware! please, make sure you have a root acess.”

  35. Managed to “root” the Motorola XT5 using these instructions as a base, but with a few changes.

    Initially, I followed the instructions to the letter, but still couldn’t get it to work.

    From memory, what did work for me was:

    1. Didn’t need to mount/remount /system at all (was already rw).
    2. Needed to copy busybox along with su
    3. Permissions on su were 6755 and permissions on busybox were 755
    4. The term.apk file wouldn’t work – I needed to download a more recent Terminal Emulator

    Barnacle Wifi Tether now works, but I haven’t been prompted as to whether it should be granted Superuser Permissions (via Superuser.apk).

    I have rebooted the phone, and all is still working.

  36. I have a long story and I will keep short. I have a Verizon Samsung S Fascinate. I used the SuperOneClick root about a month ago and it made a big difference being able to freeze the Verizon bloatware. Monday I read article linked by Android forum about the Windows Phone android availible on the market and wanted to test it. Blam smacked in the face with a looping Force Close for the Windows Phone Android Theme. I had to restore to factory to be able to do anything. I wasn’t too scared about that until the OnClick did not work. So I did this procedure and I do not think it worked correctly. I have Superuser permissions in my apps, but Titanium Says “Busybox works but the “su” command does not elevate to root: “whoami” Can anyone help me with this?

  37. Using HTC Desire – I get “Cannot create”….. “not enough memory” when I try to copy the SU to the /system/ directory.

  38. In step 9, when I try to cat the Superuser.apk or su files, I get the “Cannot create … not enough memory” error message.

    My phone is the Sharp IS03, 2.1update-1, the carrier is au KDDI, this method doesn’t work up until the information I noted above.

    1. It seems like the /system partition locks itself out if it’s being manipulated. If I df after i ‘root’, it says there is 0k left available after I try this root method. If I reboot the phone and do df, it will show that there is memory left.

      Seems to be a mechanism against this kind of root method. I hope I’m wrong.

  39. In step 9, when I try to cat the Superuser.apk or su files, I get the “Cannot create … not enough memory” error message.

    My phone is the Sharp IS03, 2.1update-1, the carrier is au KDDI, this method doesn’t work up until the information I noted above.

  40. I have a acer betouch e130 and followed this procedure. However it was impossible to type the second “exit” in step 9. Using this procedure I was able to install the Superuser app on my phone, but I’m not able to use apps that need superuser permissions because it seems to them that my device is not rooted and the Superuser app doesn’t pop up when I try to use them. When I enter the command “su” in the terminal, I just get the date and a number followed by the “>”-symbol instead of the “#”-symbol

    1. oh, update. search superuser in Android Market and install/replace in onto your phone. Superuser will then work normally. Works for me. 😀

  41. hey, i am doing the part on terminal emulator ./rageagainstthecage-arm5.bin and it says permission denied, what am i doing wrong. please help =[

  42. hey david i am on the cat /sdcard/superuser.apk > / blahh.. and says not enough memory please help me out, what can i do? i got a mytouch slide, email me or something for fast response i need it asap. fam1990@live.com

  43. Sony Xperia X10
    Android 2.1
    no carrier lock

    it says “can’t cd to data cd data/local/tmp/rageagainstthecage-arm5.bin”

    p/s; Some how my pc keep on deleting rageagainstthecage-arm5.bin.

  44.  on the command Promt it says [INSTALL-FAILED-OLDER-SDK] when i type the last bit one stp 6, what does that mean? “/ 

  45. I dont know what to do anymore! Stuck at step 7. It wont do anything after waiting for “forking childs”. I’m on a Samsung Transform with 2.2. I’ve tried three versions of Terminal Emulator. Rebooting my phone and still same thing. “adb connection will be reset. restart adb server on desktop and re-login”  Please help me. I’ve tried both the other two methods for rooting my phone. The Zmod does nothing but “loading” after clicking temp or perm root. And the “one click program” freezes and stops every time I try click root, even turning off and on debug. PLEASE HELP ME! 🙁

    1. to restart adb server (in windows) go to the task manager (in windows)
      and end the adb.exe task, then running adb at the cmd prompt should
      start the server again.

  46. Samsung Mesmerize running 2.2

    I am stuck on step 7…I run “cd data/local/tmp” hit enter then type “./rageagainstthecage-arm5.bin” and hit enter.  a list of items starting with [*] run, and at the bottom I get “[+] Forked 2642 childs.” with a cursor after it…

    if I wait, nothing further happens.  If I hit back to close the emulator, it returns to the main screen.  I try to run the terminal app again and it force closes…good so far right?  I try to reopen the terminal app and  nothing happens except my phone vibrates like the software crashes, but no force close comes up…no programs in task manager (although my phone is sluggish like something is running) and the only way I can get the terminal emulator to run again is by restarting the phone.  I must be missing some step, but am not sure what is going on.  I get a similar response when trying to root with software like z4root or visionary. 

    1. LG Optimus V 2.2

      I’m having the same EXACT problem! I make it through step 7, and then I hit back to get out of the app. I open it again, force close. I try to open it again, and NOTHING happens. Absolutely nothing, except my phone acting really, really slow as if I’ve got some huge process running.

      Did you find a solution?

  47. adb push Superuser.apk /sdcard/Superuser.apkadb push su /sdcard/suadb push rageagainstthecage-arm5.bin /data/local/tmp/rageagainstthecage-arm5.bin

    That worked better for me 😀

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.