[GUIDE] How To Root The Sprint CDMA Hero (Linux)

Search This thread

theresthatguy

Retired Forum Mod
Nov 9, 2009
424
11
If you have any suggestions on making this guide better or to correct any mistakes I may have made please let me know.

This guide is intended for any Linux OS and includes detailed instructions. It should work with another Linux OS although I have only verified these steps using Ubuntu 9.10 aka Karmic. includes detailed instructions. This will work with software versions 1.29.651.1 and 1.56.651.2 (aka Android 1.5). It will cover the steps necessary to root, flash the new recovery image, create a full backup. I am not responsible for any damage done to your phone using this guide. Root at your own risk.

Step 1: Download the Android SDK from http://developer.android.com/sdk/index.html The linux file is called android-sdk_r06-linux_86.tgz. Extract the files to your home user directory so that you now have the folder /home/USERNAME/android-sdk-linux. Please note you must replace USERNAME with your own.

Step 2: Download the asroot2 exploit file from http://xdaforums.com/attachment.php?attachmentid=244212&d=1257621154 Extract asroot2.zip to /home/username/android-sdk-linux/tools folder.

Step 3: Download the Hero recovery image from http://xdaforums.com/showpost.php?p=4898505&postcount=1g DO NOT OPEN. Simply place this file in /home/username/android-sdk-linux/tools as well.

Step 4: USB Debugging should be disable before connecting your phone via the USB cable. Connect your phone and now enable USB Debugging.

Step 5: Open a terminal found under Applications>Accessories>Terminal

Step 6: You will now enter a series of commands which I will place in code boxes to indicate the entire command.
A.
Code:
cd ~/android-sdk-linux/tools
B.
Code:
sudo su
C.
Code:
./adb push asroot2 /data/local/
D.
Code:
./adb shell
E.
Code:
chmod 0755 /data/local/asroot2
F.
Code:
/data/local/asroot2 /system/bin/sh
You should see an output that says:
$ /data/local/asroot2 /system/bin/sh
[+] Using newer pope_inode_info layout
Opening: /proc/857/fd/3
SUCCESS: Enjoy the shell.
#​
Now for a few last commands.
G.
Code:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
H.
Code:
cd /system/bin
I.
Code:
cat sh > su
J.
Code:
chmod 4755 su
You are now officially rooted. A few more steps and you will have flashed the recovery image.
K.
Code:
exit
L.
Code:
exit
This will return the command line to ~/android-sdk-linux/tools.
M.
Code:
./adb push recovery-RA-heroc-v1.6.2.img /sdcard
N.
Code:
./adb shell reboot
This will cause to power off then back on automatically. Wait till the phone is fully booted to continue.
O.
Code:
./adb shell
P.
Code:
su
Q.
Code:
cd /sdcard/
R.
Code:
flash_image recovery recovery-RA-heroc-v1.6.2.img
FLASHING TO THE RECOVERY TAKES SEVERAL SECONDS-- BE PATIENT. ENTER THE NEXT COMMAND ONLY AFTER THE COMMAND PROMPT RETURNS TO THE # (ROOT SYMBOL).
S.
Code:
reboot recovery
Step 8: This is the last command; You may now close the terminal. It will cause your phone to boot into recovery mode; it should take no longer than 30 secs.
The third option on the list is "- Backup/Restore"; select it. Now, select the first option "- Nand backup". The phone will prompt you to press HOME to confirm which is want you want to do. The backup will begin. You will see the screen say, "Performing backup : .........." When done, the bottom of the screen will say "Backup complete!" and you will be given the menu options again. Go back to the main menu and select reboot system.

Step 9: Once your phone is fully booted, mount the sdcard. You will see a folder called "nandroid"; I highly recommend you copy this to your pc in case you lose your sdcard data or reformat it. Your phone is rooted, 100% backed up, and ready to install a custom rom if you wish!
 
Last edited:

lepri13

Member
Dec 6, 2009
22
1
Dublin
root@lepri-laptop:/home/lepri/android-sdk-linux/tools# sudo su lepri
lepri@lepri-laptop:~/android-sdk-linux/tools$ su root
Password:
root@lepri-laptop:/home/lepri/android-sdk-linux/tools# /adb push asroot2 /data/local/
bash: /adb: No such file or directory
root@lepri-laptop:/home/lepri/android-sdk-linux/tools# ./adb push asroot2 /data/local/
828 KB/s (74512 bytes in 0.087s)
root@lepri-laptop:/home/lepri/android-sdk-linux/tools# ./adb shell
$ chmod 0755 /data/local/asroot2


$ /abd shell
/abd: not found


$ /data/local/asroot2 /system/bin/sh
[+] Using newer pipe_inode_info layout
Opening: /proc/493/fd/3
SUCCESS: Enjoy the shell.
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# cd /system/bin
# cat sh > su
# chmod 4755 su
# exit
$ exit
root@lepri-laptop:/home/lepri/android-sdk-linux/tools# ./adb shell
$ su
# cd /sdcard/
# flash_image recovery recovery-RA-heroc-v1.2.3.img


Thanks for guide but I dont think it worked for me, HTC logo stays on but thats it... have to pull out battery to start the phone phone works but no joy with recovery image ((
I have HTC hero with sim(If this info any use to you)
 
Last edited:

theresthatguy

Retired Forum Mod
Nov 9, 2009
424
11
root@lepri-laptop:/home/lepri/android-sdk-linux/tools# sudo su lepri
lepri@lepri-laptop:~/android-sdk-linux/tools$ su root
Password:
root@lepri-laptop:/home/lepri/android-sdk-linux/tools# /adb push asroot2 /data/local/
bash: /adb: No such file or directory
root@lepri-laptop:/home/lepri/android-sdk-linux/tools# ./adb push asroot2 /data/local/
828 KB/s (74512 bytes in 0.087s)
root@lepri-laptop:/home/lepri/android-sdk-linux/tools# ./adb shell
$ chmod 0755 /data/local/asroot2


$ /abd shell
/abd: not found


$ /data/local/asroot2 /system/bin/sh
[+] Using newer pipe_inode_info layout
Opening: /proc/493/fd/3
SUCCESS: Enjoy the shell.
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# cd /system/bin
# cat sh > su
# chmod 4755 su
# exit
$ exit
root@lepri-laptop:/home/lepri/android-sdk-linux/tools# ./adb shell
$ su
# cd /sdcard/
# flash_image recovery recovery-RA-heroc-v1.2.3.img


Thanks for guide but I dont think it worked for me, HTC logo stays on but thats it... have to pull out battery to start the phone phone works but no joy with recovery image ((
I have HTC hero with sim(If this info any use to you)

You have a GSM HERO not a CDMA. This guide is intended for CDMA heros only.
 

iamjfarrell

Member
Jan 4, 2008
35
0
I keep getting the same error of insufficient permissions for device. What am I doing wrong? I disable USB debugging before I plug my phone in. Then I plug my phone in and enable USB debugging and then actually connect my mounting the SD card.

Edit: Ok. I found how to fix the insufficient permission problem...

Code:
./adb kill-server
sudo ./adb start-server

That will get your permissions correct but once I did that, I ran across a new error once I did ./adb shell the second time after the "chmod 0755".

Code:
root@justin-laptop:/home/justin/android-sdk-linux_86/tools# ./adb push asroot2 /data/local/
711 KB/s (74512 bytes in 0.102s)
root@justin-laptop:/home/justin/android-sdk-linux_86/tools# ./adb shell
$ chmod 0755 /data/local/asroot2
$ ./adb shell
./adb: not found

Whats wrong now?
 
Last edited:

iamjfarrell

Member
Jan 4, 2008
35
0
I couldn't edit my post anymore but I found that it works if I just skip the second ./adb shell. It just caused problems for me because I was already in shell and was coming up with errors. I skipped it and my root smoothly after that.


Part I skipped...
You must replace username with your own actual username.
C. "./adb push asroot2 /data/local/"
D. "./adb shell"
E. "chmod 0755 /data/local/asroot2"
F. "./adb shell"
G. "/data/local/asroot2 /system/bin/sh"
 

iamjfarrell

Member
Jan 4, 2008
35
0
For some reason the forums are letting me edit my posts. I know I'm wasting space but I would like to give credit to jnwhiteh for the ./adb fix. I searched for it and found it in a different part of the forums.
 

goshi0

New member
Jan 2, 2010
1
0
Problem flashing recovery

Thank you for the Howto.

I have no problem with the howto, until i try to flash recovery. It seems its going ok without error messages, but when i try to boot in recovery mode it does'nt work. Remains with the HERO logo in the screen and nothing happens.



Anyone can help me.
 

theresthatguy

Retired Forum Mod
Nov 9, 2009
424
11
Thank you for the Howto.

I have no problem with the howto, until i try to flash recovery. It seems its going ok without error messages, but when i try to boot in recovery mode it does'nt work. Remains with the HERO logo in the screen and nothing happens.



Anyone can help me.

You're not giving the terminal enough time to flash the image probably. Give it like 10 secs to be on the safe side.
 

goyanks

Member
Dec 30, 2009
15
0
flash image not found

everything works fine up until i get to the part where you actually flash the recovery image, at which point i get an error reading : flash_image: not found
this is my code for the last part.

"root@andrew-desktop:/home/amills/android-sdk-linux/tools# ./adb push recovery-RA-heroc-v1.5.2.img /sdcard
1106 KB/s (3356672 bytes in 2.962s)
root@andrew-desktop:/home/amills/android-sdk-linux/tools# ./adb shell reboot
root@andrew-desktop:/home/amills/android-sdk-linux/tools# ./adb shell
# su
# cd /sdcard/
# flash_image recovery recovery-RA-heroc-v1.5.2.img
flash_image: not found"
 

theresthatguy

Retired Forum Mod
Nov 9, 2009
424
11
everything works fine up until i get to the part where you actually flash the recovery image, at which point i get an error reading : flash_image: not found
this is my code for the last part.

"root@andrew-desktop:/home/amills/android-sdk-linux/tools# ./adb push recovery-RA-heroc-v1.5.2.img /sdcard
1106 KB/s (3356672 bytes in 2.962s)
root@andrew-desktop:/home/amills/android-sdk-linux/tools# ./adb shell reboot
root@andrew-desktop:/home/amills/android-sdk-linux/tools# ./adb shell
# su
# cd /sdcard/
# flash_image recovery recovery-RA-heroc-v1.5.2.img
flash_image: not found"

is the phone fully booted when you run the flash_image command?
 

buck2202

Member
Nov 19, 2009
23
1
If you're going to transfer the recovery image to the sdcard using adb push (as opposed to using usb-storage to drag/drop) you need to make sure that usb storage is turned off and the sdcard is mounted when you push the file.

My guess is that the sdcard wasn't mounted, and the file went to the (empty) /sdcard directory. Then when the sdcard is mounted, you can't see it. If you just reboot and do:
Code:
./adb shell
cd /sdcard
ls
does the recovery image file show up in the list?

I'm assuming that "flash_image: not found" means that the image file isn't where you're telling it to look.
 

goyanks

Member
Dec 30, 2009
15
0
If you're going to transfer the recovery image to the sdcard using adb push (as opposed to using usb-storage to drag/drop) you need to make sure that usb storage is turned off and the sdcard is mounted when you push the file.

My guess is that the sdcard wasn't mounted, and the file went to the (empty) /sdcard directory. Then when the sdcard is mounted, you can't see it. If you just reboot and do:
Code:
./adb shell
cd /sdcard
ls
does the recovery image file show up in the list?

I'm assuming that "flash_image: not found" means that the image file isn't where you're telling it to look.

no, it's there, when i tyle "ls", i get the following list returned.
Code:
# ls
2.1v1.8_heroc_7_signed.zip     flashrec-1.1.3-20091107-2.apk
BetterTerm15.apk               fresh-cdma-hero-1.1.zip
DCIM                           google_maps_navigation
HTC Sync                       media
LOST.DIR                       nandroid
Music                          prettybattery-googlecode-com
PicSay                         recovery-RA-heroc-v1.2.3.img
ToggleSettings                 recovery-RA-heroc-v1.5.2.img
Wallpaper                      rosie_scroll
aHome                          rssreader
albumthumbs                    tmp
aosp_heroc_20091217d.zip       uloops
dolphinbrowser_gestures        waze

furthermore, when i try to flash the recovery image now, i get no such error, instead I get a seemingly infinitely repeating series of "out of memory errors"
Code:
# flash_image recovery recovery-RA-heroc-v1.5.2.img                                       
mtd: read error at 0x00000000 (Out of memory)                                             
mtd: read error at 0x00020000 (Out of memory)                                             
mtd: read error at 0x00040000 (Out of memory)                                             
mtd: read error at 0x00060000 (Out of memory)                                             
mtd: read error at 0x00080000 (Out of memory)                                             
mtd: read error at 0x000a0000 (Out of memory)                                             
mtd: read error at 0x000c0000 (Out of memory)                                             
mtd: read error at 0x000e0000 (Out of memory)                                             
mtd: read error at 0x00100000 (Out of memory)                                             
mtd: read error at 0x00120000 (Out of memory)                                             
mtd: read error at 0x00140000 (Out of memory)                                             
mtd: read error at 0x00160000 (Out of memory)                                             
mtd: read error at 0x00180000 (Out of memory)                                             
mtd: read error at 0x001a0000 (Out of memory)                                             
mtd: read error at 0x001c0000 (Out of memory)                                             
mtd: read error at 0x001e0000 (Out of memory)                                             
mtd: read error at 0x00200000 (Out of memory)                                             
mtd: read error at 0x00220000 (Out of memory)                                             
mtd: read error at 0x00240000 (Out of memory)
 
Last edited:

goyanks

Member
Dec 30, 2009
15
0
errors

I'm going to try rebooting the device and start from there. :|
this is bizzare, the first two times i attempted this (both times in Kubuntu 10.04 Alpha), i was able to flash the image with no trouble whatsoever.

------------------------------------------------------

i dont know what was up, fixed it and 1.5.2 is working great. thanks for the advice everyone. : )
 
Last edited:

theresthatguy

Retired Forum Mod
Nov 9, 2009
424
11
Here's where I get to in the procedure, what's going on?

Code:
$ chmod 0755 /data/local/asroot2
$ /data/local/asroot2 /system/bin/sh
[1]   Killed                  /data/local/asroot2 /system/bin/sh
$

Many thanks
David

Do you have a non-Sprint hero? If say I recommend you check out the rooting a non-sprint hero thread.
 

diordnahero

Senior Member
Feb 2, 2010
72
0
Thanks so much for this great howto!

Looking down the road..... can the phone be unroot/restored from linux?
 
Last edited: