[Root for the HTC Magic/Sapphire] (from haykuro) (updated 5/23) - myTouch 3G, Magic Android Development

I was reading the threads in the dream forum and found his progress and instructions. I added them to my wiki so they can be continually edited and updated as new methods are found. I did not have any part in this but I noticed that there was not a formal post here about it yet so I decided to make one.
http://android-dls.com/wiki/index.php?title=Magic_Rooting
Please feel free to thank him with some nesquik if you find this helpful!
I was pasting the new instructions here every time they changed but they seem to change often. Please visit the above url to see the current instructions. They were placed on the the wiki so anyone could make edits and changes to them, which is useless if this post needs to be updated each time. I wish vbulletin had some sort of wiki quote that could auto read that page and insert it here for me

Great!
If would be great if this post were a sticky. It also would be nice it the post was updated to include the instructions here as well.
Thanks,
Anders

Just quoting the solution here..
First of all, everyone owes Haykuro a great big thanks for working on this and helping create the solution without even owning a magic. The following is his method just reworded slightly.
1. To gain root access on your HTC Magic/Sapphire you will need to download the magic-root-boot.img zip file and unzip it so that you have boot-new.img in a location you can find.
2. On your device, enter the bootloader by trying one of the following
* Turn off your device and while it is off hold down home while you press power.
* Turn off your device and while it is off hold down volume down while pressing power
3. Make sure your usb cable is inserted and you have Fastboot installed and ready to use.
4. Type the following commands on your desktop (not on the device):
Code:
fastboot boot boot-new.img
5. wait for the following to flash and the phone to reboot:
Code:
downloading 'boot-new.img'... OKAY
Code:
booting... OKAY
6. make sure you have ADB installed and run the following commands from your desktop (not on the device):
Code:
adb push boot-new.img /sdcard/boot-new.img
Code:
adb shell flash_image boot /sdcard/boot-new.img

anyone tried this?

I was going to post the actual text here but the reason for doing it in the wiki is because the methods seem to change very often (the g1 method changed almost daily for a while). I would still recommend viewing the instructions on the wiki before performing the method to be sure they are the same at the time of use.

Full procedure so far!
1. Download boot-new.img.zip from http://www.droiddeveloper.com/hrbuilds/boot-new.img.zip
2. extract boot-new.img to computer.
3. Download recovery-new.img.zip from http://www.droiddeveloper.com/hrbuilds/recovery-new.img.zip
4. extract recovery-new.img to computer.
5. power off device
6. hold BACK+POWER (or VOLUME_DOWN+POWER) to boot into bootloader.
7.
Code:
[b]fastboot boot boot-new.img[/b]
wait for device to boot.
[b]adb push boot-new.img /sdcard/boot-new.img[/b]
[b]adb push recovery-new.img /sdcard/recovery-new.img[/b]
[b]adb shell flash_image boot /sdcard/boot-new.img[/b]
[b]adb shell flash_image recovery /sdcard/recovery-new.img[/b]
[b]adb shell reboot[/b]
you now have root build, and can flash whatever build you like (test keys and all)

First post and wiki updated to show these changes in more detail.

Hi,
I have a french Magic and I test this solution.
I have a problem, when I use the adb shell, I am "root", but when I use a terminal shell on the phone I'm not "root". I use "id" for my test.
How can I do ?
Thanks.
Edit : Ok I found the problem.
I make these commands after in adb shell:
# mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
# cd system
# cd bin
# cat sh > su
# chmod 4755 su
# sync
# reboot
Thanks

n00b here
can we flash ROMs for dream too or need to wait for magic ROMs ?

it's possible to backup the current firmware of my magic (with or without root), before flashing a new one?
thank you for rooting the magic
thank you for your help

ok i have a big problem when i put (fastboot boot boot-new.img) the phone is restarting every time in htc presentation :S

i put the phone in recovery mode ( fastboot usb ), but then i have the same problem, when i put fastboot boot boot-new.bin, the phone restart always with "boot.bin" , no with "boot-new.bin"...
i try to give the complete path, but always the same result

hello i have a problem.
if i write fastboot boot boot-new.img the console says: the comand "fastboot" is incorrect or bla bla ...
i have a german magic.

sr-ha said:
hello i have a problem.
if i write fastboot boot boot-new.img the console says: the comand "fastboot" is incorrect or bla bla ...
i have a german magic.
Click to expand...
Click to collapse
do you have installed de SDK ¿?

hmm no i dont
should i install it the android sdk 1.5 windows ??
i hve downloadet it but i cant find a icon or sth. to install the sdk

nicola_it said:
it's possible to backup the current firmware of my magic (with or without root), before flashing a new one?
thank you for rooting the magic
thank you for your help
Click to expand...
Click to collapse
nandroid backup 2.1, avaible in recovery mode, doesn't works

sr-ha said:
hmm no i dont
should i install it the android sdk 1.5 windows ??
i hve downloadet it but i cant find a icon or sth. to install the sdk
Click to expand...
Click to collapse
unrar de SDK, and in the "tools" directory you have the ADB and FASTBOOT aplications ( use in the console mode )

Works perfectly with XP, not with vista or win7

sorry but i dont understand what schould i do.
with use in thee console
i think i have to install fastboot or open it. but i cant do nothing of both. if i click on the fastboot exe it blobs open and fast close again.

under windows xp all ok
under windows vista no!!!

Related

problem

i have a problem, for some reason i cant go to recovery mode. i have JFv 1.42_RC33... what can i do
What exactly do you mean by that? Have you tried booting into recovery straight from the terminal?
Iceucold said:
Have you tried booting into recovery straight from the terminal?
Click to expand...
Click to collapse
That made even less sense.
forgive me if im mistaken, but doesnt it have something to do with the bootloader as well?
kydcleric said:
forgive me if im mistaken, but doesnt it have something to do with the bootloader as well?
Click to expand...
Click to collapse
i dont know im new to this stuff but what happens is that the g1 boot screen pops up when i press home+power then it just restarts and shows the g1 boot screen again then it goes to the normal home screen
Iceucold said:
What exactly do you mean by that? Have you tried booting into recovery straight from the terminal?
Click to expand...
Click to collapse
i dont know what u mean
Sorry about that. I was referring to going into the terminal emulator and typing in the command:
Code:
# reboot recovery
Iceucold said:
Sorry about that. I was referring to going into the terminal emulator and typing in the command:
Code:
# reboot recovery
Click to expand...
Click to collapse
nothing happens i put that in there and it just shows a money sign under it.. and when i just put reboot it says
reboot: operation not permitted
You are holding down home first right? I.e. press home and hold it down and then press power(I continue to hold home down all the way up until I see recovery mode starting)
Can you check if the recovery image (/system/recovery.img) is intact?
if you're using the haykuro builds, it is known that reboot won't work from terminal emulator. but you should be able to reboot recovery through adb shell.
I remember I read somewhere that certain bootloaders have a different key sequence for recovery mode, but i've never seem any of them.
ooooo crap i just checked it and there is no recovery.img in there ok what do i do??
someone plz help me out
probably best to dl the one from the Rooting Hacking & Flashing... post. They have a link to the file there. Just dl it and, as su, copy it to the folder they say.
what post???
Cosine said:
what post???
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=442480
yea but thats only to get to root and i already did that... and i just tried it and it dosent work
Cosine said:
yea but thats only to get to root and i already did that... and i just tried it and it dosent work
Click to expand...
Click to collapse
The suggestion was to try restoring the recovery image as outlined in that thread: (though you shouldn't need to do the "telnetd" part)
Instructions:
1. Download recovery.img and copy it to your SD card (see the previous instructions on how to copy from your computer to your Phone's SD card).
2. Download the Hard SPL and copy the zip file to the SD card.
3. All files must be on the root of your SD card.
4. Restart your phone. Wait for your phone to start up fully and show the home screen.
5. After your phone starts up, hit the enter key twice, type "telnetd" and press enter. (Yes, it will start up a contact search, don't worry. Just type it.)
6. Download an Android "Telnet" application from the Market and connect to localhost.
7. If you connect successfully, you will have a root prompt "#".
8. Type the following into Telnet (these commands will give you root access easier in the future):
* mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
* cd sdcard
* flash_image recovery recovery.img
* cat recovery.img > /system/recovery.img
Now you have root!
Click to expand...
Click to collapse
so should i just try
8. Type the following into Telnet (these commands will give you root access easier in the future):
* mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
* cd sdcard
* flash_image recovery recovery.img
* cat recovery.img > /system/recovery.img
in the terminal emulator

getting root using MAC OS ??

Is there any step by step tutorial to get my htc magic rooted
I can only find posts where they say it is like on windows but without installing files but i have no idea how to enter that prompts on terminal
it would be much appreciated any help. I know i am not the only one interested
cesardeluxe said:
Is there any step by step tutorial to get my htc magic rooted
I can only find posts where they say it is like on windows but without installing files but i have no idea how to enter that prompts on terminal
it would be much appreciated any help. I know i am not the only one interested
Click to expand...
Click to collapse
The commands are the same. Just like Linux users can follow Windows directions but with some substitutions.
Download the SDK here: http://developer.android.com/sdk/1.5_r3/index.html
Follow the instructions here: http://developer.android.com/sdk/1.5_r3/installing.html
Once you have the SDK setup, you can follow the steps given in the rooting threads/wiki. Any time it says to enter a command you do it in your terminal (which on OSX i think is Terminal.app, use Spotlight to find it).
Hope this helps a bit.
i dont get this:
Code:
On a Mac, look in your home directory for .bash_profile and proceed as for Linux. You can create the .bash_profile if you haven't already set one up on your machine
i don't have that .bash_profile how do i create it?
thanks
Google easy to use and always there for you.
Clinton
yeah but all tutorials are made for xp or even linux.
I have tried to create it using vi command then edited with the path o the sdk tools
but when i type adb it doesn't do anything
i am stuck there
Did you check my link for your bash_profile ? This help at all?
Clinton
cesardeluxe said:
yeah but all tutorials are made for xp or even linux.
I have tried to create it using vi command then edited with the path o the sdk tools
but when i type adb it doesn't do anything
i am stuck there
Click to expand...
Click to collapse
Try reading this:
http://www.tech-recipes.com/rx/2621/os_x_change_path_environment_variable/
Sounds like the Path variable may be in a different file. It is the same on linux, I think it can be in a few places.
Irf you want to use adb without messing with your path you can do the following:
Code:
cd <android-sdk-location>/tools
./adb devices
This is convoluted so get that PATH working and everything should be nice and easy! Good luck.
I use a Mac, and when I was getting started I used the linux tutorials with no problem.
i can push the 2 files using commands to my sd. Adb devices shows my htc ok
but after i enter to fastboot mode the device is no longe shown
i type
Code:
./fastboot boot recovery-new.img
but the only thing i get is
Code:
-bash: fastboot: command not found
i am on tools directory on terminal
i think fastboot is not in the tools directory ...
i'd rather say the error is caused by that then a missing connection.
Does the phone write "FASTBOOT USB" ?
if you type "ls", can you find a file named fastboot in your directory?
cesardeluxe said:
i can push the 2 files using commands to my sd. Adb devices shows my htc ok
but after i enter to fastboot mode the device is no longe shown
i type
Code:
./fastboot boot recovery-new.img
but the only thing i get is
Code:
-bash: fastboot: command not found
i am on tools directory on terminal
Click to expand...
Click to collapse
The files have to be executable. You can do that by running:
Code:
chmod -R +x /path/to/tools
This makes all the files in the tools directory executable with ./
About the .bashrc or .bash_profile if you don't have one in your home directory you can safely make one. With the following command:
Code:
echo "export PATH=$PATH:/path/to/tools/" > ~/.bashrc
or if the file exists just do:
Code:
echo "export PATH=$PATH:/path/to/tools/" >> ~/.bashrc
Remember to restart the shell after you are done with this.
the reason adb work for you is because adb is in tools directory
fastboot does not. You have to get fastboot somewhere else
Whenever you get command not found, you can run another command to check
ls <program you ran>, and see what happened
Example
in your tools directory, where you have no problem running adb push, try doing "ls adb", without the quote
in your tools directory, where you have problem running fastboot, try doing "ls fastboot", without the quote
and you should see what's going on
BTW, this is fairly basic unix environment. If you are having trouble at this stage, you need to get yourself more familiar with unix environment, which is what osx is based on
I am sorry, but i don't really know where's good tutorial on unix
On google, i just search for "mac osx unix shell tutorial:, and come across this site
http://www.osxfaq.com/tutorials/LearningCenter/
Hope this help
Edit 1: btw, here's where you can find fastboot for MAC. Put it in your tools directory. IF you keep the filename as is, you need to type fastboot-mac whenever you see someone mention fastboot
http://www.htc.com/www/support/android/adp.html
yeah you're right fastboot is not on that tools directory. in fact i have looked into the whole sdk folder and i can't find it.
thanks
hey i managed to apply the update thanks to having fastboot-mac on tools folder
but after booting i go to terminal to apply the final step and i get this
Code:
MBdeluxe:tools cesarleon$ ./adb shell flash_image recovery /sdcard/recovery-new.img
error reading /sdcard/recovery-new.img header: Is a directory
what's wrong ?
thank you people
cesardeluxe said:
hey i managed to apply the update thanks to having fastboot-mac on tools folder
but after booting i go to terminal to apply the final step and i get this
Code:
MBdeluxe:tools cesarleon$ ./adb shell flash_image recovery /sdcard/recovery-new.img
error reading /sdcard/recovery-new.img header: Is a directory
what's wrong ?
thank you people
Click to expand...
Click to collapse
Are u sure that recovery.img got transferred properly? Maybe check the rights on it (it not read only or something). What if you mount the sdcard in OS X and copy and paste (vs push)?
If you're trying to flash the recovery image, try
Code:
adb shell mount -a
adb push recovery-new.img /system/recovery.img
adb push recovery-new.img /sdcard/recovery-new.img
adb flash_image recovery /sdcard/recovery-new.img
Hope that helps
adb shell mount -a
Click to expand...
Click to collapse
didn´t work i think the parameter a is not correct
well this is almost the last step! thank you all for your explanations
cesardeluxe said:
hey i managed to apply the update thanks to having fastboot-mac on tools folder
but after booting i go to terminal to apply the final step and i get this
Code:
MBdeluxe:tools cesarleon$ ./adb shell flash_image recovery /sdcard/recovery-new.img
error reading /sdcard/recovery-new.img header: Is a directory
what's wrong ?
thank you people
Click to expand...
Click to collapse
Very odd error message
Do this to check what your phone's sdcard looks like
Code:
adb shell ls -l /sdcard/recovery-new.img
Next, you should grab the file from your phone to your computer. This step assume you are in your tools directory
Code:
adb pull /sdcard/recovery-new.img recovery-new-phone.img
Finally, try to compare the file you have on your computer against the one you got from your phone, and see if they are the same. This assume you have your working recovery-new.img in tools directory
Code:
diff recovery-new.img recovery-new-phone.img
I have not try this diff command, and I assume it'l handle binary diff
If diff can not handle binary file, do ls and check file size. both file should match
Code:
ls -l recovery-new.img recovery-new-phone.img
If your computer and phone recovery-new.img are not the same, download to phone again
cesardeluxe said:
didn´t work i think the parameter a is not correct
well this is almost the last step! thank you all for your explanations
Click to expand...
Click to collapse
You will get Failed Mounts when u run
Code:
adb shell mount -a
You CAN ignore them.
See here: http://forum.xda-developers.com/showthread.php?p=4029461
This may not be the right way to do it but I always just downloaded the recovery to the tools directory of the android sdk. Then fire up the phone in fastboot mode and do:
./fastboot flash recovery recovery-new.img
(replacing recovery-new.img with the name of the downloaded img file.)
I'm sure there is a reason people are doing it the other way, but for myself one command to do the flash is alot easier!

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

I have compiled this guide from the other one posted on this forum, the discussion therein, and my own knowledge. If you have any suggestions on making it better or to correct any mistakes I may have made please let me know.
This guide is intended for Windows and includes detailed instructions. It will cover the steps necessary to root, flash the new recovery image, create a full backup. This will work with software versions 1.29.651.1 and 1.56.651.2 (aka Android 1.5). If you have updated to 2.1 please following this guide here. I am not responsible for any damage done to your phone using this guide. Root at your own risk.
I have put to together a video on YouTube for you to follow along as well. The version numbers of certain files are now outdated in the video so change file names as necessary.
If you own a non-Sprint Hero, you will need to do some extra steps. Follow the guide in the How to Root Non-Sprint CDMA Hero thread.
Step 1: Download the Android SDK from http://developer.android.com/sdk/index.html The Windows file is called android-sdk_r06-windows.zip. Extract the files to your C: drive so that you now have the folder C:\android-sdk-windows
Step 2: Download the asroot2 exploit file from http://forum.xda-developers.com/attachment.php?attachmentid=244212&d=1257621154 Extract asroot2.zip to C:\android-sdk-windows\tools folder.
Step 3: Download the Hero recovery image from http://forum.xda-developers.com/showpost.php?p=4898505&postcount=1g Place this file in C:\android-sdk-windows\tools as well.
Step 4: Make sure USB Debugging is off by going to Settings>Applications>Development. Now connect the phone to your PC via USB cable.
Step 5: Mount your sdcard; Browse to the HTC Sync folder and install HTC Sync on your pc. After it is done installing unmount the sdcard then enable your USB debugging.
Step 6: Open a command prompt by clicking the Start button and typing cmd into the search box and pressing enter or found under All Programs>Accessories.
Step 7: You will now enter a series of commands which I will place inside code boxes to indicate the entire command. You may copy and then paste them into the command prompt window by right clicking. Only enter one command at a time.
1:
Code:
cd C:\android-sdk-windows\tools
2:
Code:
adb devices
If you've been following this guide you will see your phone's serial number. If you get "device not found" error, you either need to make sure you the drivers were properly installed or make sure you enable USB debugging AFTER you connect the USB cable. Continue on once you get the proper phone serial output.
3:
Code:
adb push asroot2 /data/local/
4:
Code:
adb shell
5:
Code:
chmod 0755 /data/local/asroot2
6:
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.
7:
Code:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
8:
Code:
cd /system/bin
9:
Code:
cat sh > su
10:
Code:
chmod 4755 su
You are now officially rooted. A few more steps and you will have flashed the recovery image.
11:
Code:
exit
12:
Code:
exit
13:
Code:
adb push recovery-RA-heroc-v1.6.2.img /sdcard
Pushing is equivalent of copy the file to the root of your sdcard. By the time you finished reading this it should be done. You'll know its done because the ouput will say something like transferred X bytes in X secs.
14:
Code:
adb shell reboot
This will cause the phone to restart automatically. Wait till it is fully booted to continue.
15:
Code:
adb shell
16:
Code:
su
17:
Code:
cd /sdcard/
18:
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).
19:
Code:
reboot recovery
Step 8: This is the last command; you may now close the cmd prompt. This 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. Rebooting your phone after installing the new recovery image may take several minutes.
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!
wow dude,
instructions worked great on Win7
i was able to download the missing usb_drivers by running SDK Setup in C:\android-sdk-windows, and selecting the usb driver from the available packages. I was unable to download the index for the SDK Setup program until I enabled "force http://" in the settings menu.
had to copy over asroot again after i ran SDK Setup (that program deleted it from the directory)
your instructions worked like a charm. total time spent rooting this thing after finding your post: 18 minutes.
(you might want to add a line there in the "mount and copy over the zip file step" to backup the nandroid folder from your SDCard to your comp just as a backup of your stock phone image)
anyway.. cheers!
izanagi said:
wow dude,
i'm about to follow these instructions. thank's for the precise list!
(btw, about to try it on Win7.. may have to change some folder pathing but we'll see)
okay.. typo on the first command in parentheses, and I'm missing the usb_drivers folder (do you have it / can sent it to me) so am unable to install the device in win7.
Click to expand...
Click to collapse
Heh, thanks for the misspell heads up. I did my rooting from Win7 pc; it automatically installed correct drivers for me. To check go to the Control Panel>View devices and printers. You see one device named "Android Phone". Otherwise as far as Ive heard installing HTC Sync installs proper drivers.​
izanagi said:
*** edit had to copy over asroot again after i ran SDK Setup (that program deleted it from the directory)
**** edit: all done.. your instructions worked like a charm. total time spent rooting this thing after finding your post: 18 minutes.
(you might want to add a line there in the "mount and copy over the zip file step" to backup the nandroid folder from your SDCard to your comp just as a backup of your stock phone image)
anyway.. cheers!
Click to expand...
Click to collapse
Thank you for taking the time help make my guide better. I'm very glad to know there are little to no hiccups.
When I do step 5, instead of:
5. "/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.
#
I get:
[1] Killed /data/local/asroot2 /system/bin/sh
Any suggestions? Should I just be quiet until there is an Eris specific way to do this?
When I do step 5, instead of:
5. "/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.
#
I get:
[1] Killed /data/local/asroot2 /system/bin/sh
Any suggestions? Should I just be quiet until there is an Eris specific way to do this?
detox702 said:
When I do step 5, instead of:
5. "/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.
#
I get:
[1] Killed /data/local/asroot2 /system/bin/sh
Any suggestions? Should I just be quiet until there is an Eris specific way to do this?
Click to expand...
Click to collapse
This guide is for the CDMA Hero not the Eris!
When I go to apply the rom I get an white screen with skateboarding androids on the bottom and the prompt to erase data yes/no. I press the home key and the Hero reboots without asking to "Apply sdcard:choose zip". This is done from the boot menu. Does the rom load automatically? Did I do something wrong? I got root with no problem. A tip; to make it easier and to avoid spelling mistakes copy and paste the rooting commands from the instructions. Made it go faster too. Thanks in advance.
Never mind. I held down Home and Power at
the same time instead of Home THEN power! ARRGH! Loading up now as I type. Sorry.
ELIMINATED said:
When I go to apply the rom I get an white screen with skateboarding androids on the bottom and the prompt to erase data yes/no.
I press the home key and the Hero reboots without asking to "Apply sdcard:choose zip".This is done from the boot menu.
Does the rom load automatically? Did I do something wrong? I got root with no problem.
A tip; to make it easier and to avoid spelling mistakes copy and paste the rooting commands from the instructions. Made it go faster too. Thanks in advance.
Click to expand...
Click to collapse
yuck... break up your sentences, that's alot of crap to throw on someone all at once... and the bold doesn't help it any.
check to see if you have the custom recovery installed....
-turn off phone
-hold vol down + power
-should search for some stuff then give three options
-press "home" to enter recovery image
do you see "!" and a phone.... does it just hang or do you see a green/yellow menu?
At the end of his post he says he figured it out. He wasn't holding down home key
None of this is working for me at all... I'm not sure what I'm doing wrong, but every time I enter ANY of the commands into the prompt all I get is "cannot find the path specified".
For reference, i have done everything in this guide to the letter, everything is downloaded, unzipped to the correct location, USB drivers installed, etc etc. Not sure what's wrong.
EDIT: I figured it out.. user error, awesome. Worked great, thanks for this!
awesomeindeed said:
None of this is working for me at all... I'm not sure what I'm doing wrong, but every time I enter ANY of the commands into the prompt all I get is "cannot find the path specified".
For reference, i have done everything in this guide to the letter, everything is downloaded, unzipped to the correct location, USB drivers installed, etc etc. Not sure what's wrong.
EDIT: I figured it out.. user error, awesome. Worked great, thanks for this!
Click to expand...
Click to collapse
"cd C:\android-sdk-windows\tools" is actually "cd C:\android-sdk_r3-windows\tools"
is that where you are stuck?
thank you TS. I've been lurking xda for a couple years now when i had the mogul and tp. First time on an android device. Thank you for your time in helping me.
someone buy this man a drink!!!
Invaluable piece of work right here, helped me get it done in no time at all....real clear concise and very helpful....REQUEST THIS BE A STICKY!!!!!
fenske09 said:
"cd C:\android-sdk-windows\tools" is actually "cd C:\android-sdk_r3-windows\tools"
is that where you are stuck?
Click to expand...
Click to collapse
That was the name of the zip file not the extracted folder.
Please help, I followed all of your instructions, I received no errors however I can't boot the recovery image. I checked and it is in the sd card, but every time it just hangs at the HTC logo
I downloaded a terminal emulator and typed su and it gave me # so I assuming I am rooted?!
newtodroid said:
Please help, I followed all of your instructions, I received no errors however I can't boot the recovery image. I checked and it is in the sd card, but every time it just hangs at the HTC logo
I downloaded a terminal emulator and typed su and it gave me # so I assuming I am rooted?!
Click to expand...
Click to collapse
Redownload the recovery image and reflash it. The one you're using probably became corrupt during DL or something.
theresthatguy said:
Redownload the recovery image and reflash it. The one you're using probably became corrupt during DL or something.
Click to expand...
Click to collapse
also make sure you have the heroc version there's a hero and heroC, i messed that up once and had similar results
new ROM
So i loaded the custom ROM, and i followed all the istructions as listed on this guide. When i rebooted my phone, a bunch of my apps started Force Closing on startup.
did i miss something, or do something wrong?
if i reinstall them on the new ROM will they work right?
thanks for any insight
kristaps said:
So i loaded the custom ROM, and i followed all the istructions as listed on this guide. When i rebooted my phone, a bunch of my apps started Force Closing on startup.
did i miss something, or do something wrong?
if i reinstall them on the new ROM will they work right?
thanks for any insight
Click to expand...
Click to collapse
you converted your sd card to fat32,ext2,swap and now the apps are looking for the program on your sd card,
turn off your phone
take out sd card
turn on phone
uninstall app
turn off phone
put in sd card
turn on phone
reinstall app
this should fix you

Huawei Ideos Super FAQ

This is an FAQ for the Huawei Ideos as there have been many questions on how to do the same things. Hopefully this should help. There are other FAQs but this one tries to compile as many as it can into one FAQ.
Feel free to reply to this if there are any questions or if you want me to make any additions. The FAQ won't be complete to begin with but I will add as I get time.
One thing I will say is that I WON'T TAKE RESPONSIBITY IF YOU DAMAGE YOUR PHONE. I AM PROVIDING THE INFORMATION AND WILL TRY TO HELP YOU IF SOMETHING BAD HAPPENS BUT I CAN'T TAKE ANY RESPONSIBILITY
1. How to root the IDEOS
This can be done quite simply by adapting what quail wrote:
There is a couple away you can go about gaining root access with this phone I have tested all 3 ways but only had success with 2 of them.
a) You can download 'z4root' from here (WORKS)
b) Search the XDA forums for 'SuperOneClick' which requires mono to work on Linux. I have read people that have had success with 'SuperOneClick' but that was not the case for me. (HAVEN'T CHECKED)
c) My preferred method: (HAVEN'T CHECKED)
Prerequisite:
knowledge of Linux and Terminal
knowledge of ADB (guide available in forums)
I did all this using Debian (testing) 64bit, Android SDK.
Creating correct permissions to access the phone via USB:
i) create
Code:
/etc/udev/rules.d/51-android.rules
ii) in the file put
Code:
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"
iii) then
Code:
chmod a+r /etc/udev/rules.d/51-android.rules
iv) restart udev or reboot
Downloading and/or Installing required software:
1) Downloading and installing the android-sdk from: developer.android.com/sdk/index.html
2) Downloading and extracting 'SuperOneClick' (you will only need these 5 files: rageagainstthecage, sqlite3, su, busybox and superuser.apk)
3) Copy rageagainstthecage, sqlite3, su, busybox and superuser.apk into the platform-tools directory of android-sdk. Put phone in debug mode.
4) From a terminal (command line) change to the android/platform-tools directory and carefully do these steps.
Check to see if adb can see your phone properly:
Code:
./adb devices
You should see the serial number of you device, if you see bunch of '?' you have done something wrong.
Now for the fun part rooting the phone: <= no phun intended hehe
Code:
./adb push rageagainstthecage /data/local/tmp/rageagainstthecage
Code:
./adb shell
Code:
cd /data/local/tmp
Code:
chmod 0755 rageagainstthecage
Code:
./rageagainstthecage
5) Now wait until you get kicked out from adb before you do the following:
Code:
./adb shell
If everything worked now you should see a "#" instead of the "$" you saw previously in the adb shell which means you shouldn't get "permission denied" in the following steps:
Code:
mount -o rw,remount /dev/block/mdtblock4 /system
Code:
exit
Code:
./adb push su /system/bin/su
Code:
./adb push busybox /system/bin/busybox
Code:
./adb push sqlite3 /system/bin/sqlite3
Code:
./adb push Superuser.apk /system/app/Superuser.apk
Code:
./adb shell
Code:
cd /system/bin
Code:
chmod 4755 su
Code:
chmod 4755 busybox
Code:
chmod 4755 sqlite3
Code:
./adb reboot
Now you should be able to use apps like 'Cache Cleaner NG', 'Root Explorer', 'SetCPU' etc that require root access to work correctly.
Enjoy​
2. How to flash the Ultrakiller Recovery Image
Now this has been covered many times but there have been a lot of problems with the BSOD on the IDEOS. A few days ago Ultrakiller came up with a solution that works regardless of the LCD type. Now this was distributed as an IMG file so many people were confused so here is a link to one with everything you need included. All I did was remove the amon'ra image and copied the Ultrakiller recovery IMG to the folder and edited the scripts to point to the new file.
After you download the file:
* Put your device in bootloader mode - turn it off, then press the power button while holding the 'Volume Down' and 'End (Red)' keys (Yes, bootloader is just the IDEOS logo) WHILE YOUR DEVICE IS PLUGGED IN
* WINDOWS - double click 'install-recovery-windows.bat'
* MAC - Open a terminal window to the directory containing the files, and type 'chmod +x install-recovery-mac.sh' followed by './install-recovery-mac.sh'
* LINUX - Open a terminal window to the directory containing the files, and type 'chmod +x install-recovery-linux.sh' followed by './install-recovery-linux.sh'​
See Q3 if you have Windows and the prompt hangs on "Waiting for Device"
3. How to solve problems with drivers on Windows in bootloader mode?
1. Unplug your phone
2. Download and install PDANet from here - at the end of the setup it will tell you to plug in your phone - do that
3. Put the phone into bootloader (See Q2 above)
4. Go to device manager and right click on "Android 1.0" and click "Update drivers"
5. Click "No, not this time" and Next
6. When it asks you where to look for drivers point it to PDANet's install location
7. Hopefully it should find the driver and prompt you to install it - it will take some time
8. You can now access your device in bootloader!​
Thanks to the following people:
Quail for the base of the guide and the ROM I'm using - it's amazing BTW
Ultrakiller for the recovery image
Changelog:
21/01/2010: Initial writeup
22/01/2010: Added Q3 and made some minor changes​
i unfortunately deleted a system app and upon restarting my phone it wont boot.....it keeps hanging at the startup and reboots.. help me how to system restore...
Hi - the Ultrakiller recovery IMG in the ZIP from the Link above is "Ultrakiller.img.img". Dunno if it didnt work cause of this - sry didnt test, just downloaded new Ultrakillers "UltraJack-Recovery_v4.6.2.img", saved into that folder and changed the .bat to "fastboot-windows.exe flash recovery UltraJack-Recovery_v4.6.2.img" and it worked for me Even superuser.apk didnt work for usb-root but z4root does it perfect and DroidExplorer showing files now .
Thanks so far to all investing their time here
P.S.: the HUAWEI background of Ultrakillers recovery is very delicious
General guide to Flash ROM
Can you please provide a detailed guide for flashing Huawei Ideos. Because it is super guide. So it must contain this topic also.
I want to flash official ROM on following link:
http://forum.xda-developers.com/wiki/index.php?title=Huawei_U8150_IDEOS
Waiting for your response
yrnehukuht said:
i unfortunately deleted a system app and upon restarting my phone it wont boot.....it keeps hanging at the startup and reboots.. help me how to system restore...
Click to expand...
Click to collapse
Dear have u find out the solution of this problem?? COZ im also suffering from this if u find it then plz tell me [email protected]
I have downloaded a rom from xda-developers wiki from this link
http://forum.xda-developers.com/wiki/index.php?title=Huawei_U8150_IDEOS
then updated my device software by going in to update mode(press vol up + end key + power button) .
This step returned me my original recovery.
But I am not going to recommend it bcoz i am facing problems like my cd drive which is automatically displayed has become inaccessible.
I am having problem to copy files to sd card.
My upgrade mode is not working now.
all these things were working immediately after the above mentioned process but I am now stuck with these things.
I think it is because i have flashed lower version number of rom on phone.
If you want to recover recovery mode only then I have successfully flashed UltraJack-Recovery 5.2.1 from this link
http://forum.xda-developers.com/showthread.php?t=860189&page=24
Inform about your progress
Thanx. Very useful
Hi guys. I am in a lot of trouble with my ideos.
Tried installing a custom ROm using ROM manager and it failed, although the original ROM is still there and its booting up and working perfectly.
However, when i try to boot into recovery, only the lit blackscreen shows.
I have tried everything from running ULTRAjack recovery on windows(which only shows 'waiting for device' on cmd, with the pdanet drivers installed) to ubuntu(which shows 'waiting for device' on Amon-ra recovery and permission denied on ULTRAjack).
Could it be i didnt root the device properly since i used z4 root?
Any more ideas?
900/2100 or 850/1700/1900/2100
Hello, How do I tell which sub-model my U8150 is please? Either HSDPA 900 / 2100 / AWS or HSDPA 850 / 1900 / 2100 / 1700. baseband = 22201003; build no.= U8150V100R001C183B825; IMEC = 355093040562676; IMEC-SV = 39.
Check out your fcc id suffix. I have heard there is a b version and a d version.
hi do flashing many roms affects my ideos mobile?
netskink said:
Check out your fcc id suffix. I have heard there is a b version and a d version.
Click to expand...
Click to collapse
All I got is a U8510-1, no letter... any thoughts?
Unlock u8150
Hello.
i have a T-Mobile Ideos u8150, also known as Comet.
it is locked to T-Mobile and requests a pin code when using another sim card.
is there a way to unlock the phone?
please help me...
thank you.
Enable USB Debugging & One Click Root with Unlock Root Tool

[GUIDE] Make your android device True Root! - by Napalm

[GUIDE] Make your android device True Root! - by Napalm​
I did this on my Nexus 7 but it should all still apply to most devices. You might need to follow different driver advice for other devices.
Pre-requirements:
Installation of the SDK platform-tools.
Have platform-tools directory of the SDK in your PATH environment variable (Google this if your unsure).
This was all done a Windows installation, but access to Linux will be required later on. Mac users might be able to get away with doing the Linux portions directly on there computer. Please let me know if your a Mac user and have had success with this and I will update the guide with details.
Step 1: Driver Installation (READ THIS, do not skip)
First I needed to update to the usb_driver from SDK and then modify the installation inf with the IDs for Nexus 7.
Browse to your SDK directory and futher into <SDK>\extras\google\usb_driver
Open android_winusb.inf in your favorite text editor.
Find the appropriate section Google.NTx86 if your on 32bit or Google.NTamd64 if your on 64bit (doesnt matter that your using intel chip). Now find the ";Google Nexus 7" line inside that section and you'll see a series of settings below. Add the following lines at the end of that block.
Code:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_D001
These are the identifiers for the Nexus 7 recovery and bootloader usb connections.
Step 2: Standard Root
Next you'll need access to the bootloader and recovery mode so follow this guide to unlock and "root" your device. http://forum.xda-developers.com/showthread.php?t=1741395
Here I've laid out the steps I did instead of the above. Remember this wipes your device and its internal memory completely, so backup your data.
All local work is done from the desktop, so when you first open a command prompt or if you close it and reopen it enter the following.
Code:
cd Desktop
Download CWM recovery image to Desktop. http://goo.im/devs/birdman/CWM-grouper-recovery.img
Download SuperSU CWM update zip to Desktop. http://forum.xda-developers.com/showthread.php?t=1538053
Go to Start or Start>Run and type in: cmd
Code:
cd Desktop
fastboot oem unlock
fastboot flash recovery CWM-grouper-recovery.img
adb reboot recovery
Now the device will reboot into recovery mode. If windows asks for drivers for the "new" usb connection direct the wizard to your <SDK>\extras\google\usb_driver. And the earlier modifications made in Step 1 should mean it installs the device and adb link.
Once drivers are installed and every is good go back to the command prompt, and type
Code:
adb devices
It should list your device with the word "recovery" next to it. If it doesn't then your device is not in recovery mode. Now enter in the following commands into the command prompt and it will make your devices CWM installation permanent.
Code:
adb shell
mount /system
cd /system
mv recovery-from-boot.p recovery-from-boot.bak
umount /system
exit
Now to install SuperSU. Tap "reboot system now" on the screen (if you dont see CWM, press the power button to show/hide it). Wait for the reboot. And then enter the following into the command prompt.
Code:
adb push CWM-SuperSU-v0.94.zip /sdcard
adb reboot recovery
Wait for reboot. You should see an image in the center of the screen. You might have to press the power button to toggle the visibility of the CWM menu. If you miss-tap on the screen, the power button acts like a back button and will return you to the previous menu screen.
Tap "install zip from sdcard" and then "choose zip from sdcard". Then select the CWM-SuperSU-v0.94.zip file (You may have to use the vol-up/down keys to highlight this if the file is listed off the bottom of the screen)
Let that install and then go back on the menus and choose "reboot system now".
Now if all is well after the reboot, if you run the following commands in command prompt.
Code:
adb shell
su
SuperSU might now prompt you on your devices screen to accept the root access, and then hopefully your command prompt should end in a # (this means you are root user 0). Now type exit twice to get back to the windows command prompt.
Now if you were to type "adb root" you will notice it tells you adbd is not able to go "full root". This will be solved in the next step. This is going to get complicated. You have been warned.
Step 3: True Rooting!
Now your device is "rooted". This is true, you now have a "su" binary installed and a visible app in the OS to manage super user privileges, but as a developer I want to be able to use things like "hierarchy viewer" on my live device. And have the room to do what I need to debug complex situations. So this is where True Root comes in. This essentially turns the device into a debug device that you would get direct from the manufacturer.
You may be able to get away with doing the following in a different way and you may not need to compile anything since fastboot has a boot flash option, but since I've never used this I've done it this way. If you prefer you can explore things in that direction, but be warned I've not tried it and so I have no idea if it would work.
Now for this step you will need access to a Linux installation. If you've never used Linux before don't be too afraid. But I am going to have to gloss over a few things. If you need further help on this step you will need to post in the topic and allow the community to advise on best pratices.
If you dont have access to a Linux installation or your newb to Linux then go here and follow the steps. It will add Linux to your PCs boot options and then you can go in and out of Linux when you need it. http://www.ubuntu.com/download/help/install-ubuntu-with-windows
Remember if your working on this step from a fresh Linux install like the above then you will probably want to install the android sdk for linux, at least enough to use adb from linux. This topic might help with this: http://forum.xda-developers.com/showthread.php?t=537508
Ok now from Linux follow along. You'll need git installed for this "apt-get install git".
We now need to compile the apps needed to modify our boot image. Details can be found here https://gist.github.com/1087757 but you might just want to follow my specific instructions.
Open a console window and type.
Code:
git clone https://android.googlesource.com/platform/system/core
cd core/libmincrypt
gcc -c *.c -I../include
ar rcs libmincrypt.a *.o
cd ../mkbootimg
gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a
cd ../cpio
gcc mkbootfs.c -o mkbootfs -I../include
cd ../..
git clone https://github.com/beide/Bootimg-scripts.git
cd Bootimg-scripts
cp ../core/mkbootimg/mkbootimg ./
cp ../core/cpio/mkbootfs ./
Ok that has prapared the a Bootimg-scripts directory with the perl scripts we need and compiled binaries they use. Now make sure you have perl installed "apt-get install perl".
This is where things are going to split and it becomes your best guess as to how to proceed. I will show you the method I used from Windows. But if you have a installation of the SDK in Linux then you should be able to just open a new console and continue from here and ignore the bits I used to transfer files between Linux and Windows.
Back to the command console on Windows. We use adb to identify our boot partition and extract it.
Code:
adb shell cat /proc/partitions
You will now be presented with a list of paritions on your Nexus 7. Each block here for my device is 1K. So I'm looking down the list and I see one thats 8192 blocks, called "mmcblk0p2". Thats 8MB and I'm taking a educated guess that this is the boot partition, and for my Nexus 7 it is. (Note: if anyone has a better way of determining the boot parition please let me know).
Now we need to take a image of the partition. From here on out replace my partition device name in the commands below with yours if it differs.
Code:
adb shell
cat /dev/block/mmcblk0p2 > /sdcard/boot.img
exit
adb pull /sdcard/boot.img
Now if you want to confirm that this is the boot partition you will need to open the image file in your favorite hex editor and confirm the first bytes of the file are "ANDROID!" in ascii.
Now I FTP'd this image file over to my Linux box and into the Bootimg-scripts directory we created previously. If your following these steps from Linux then you should be able to open up the file manager and move the file into the folder.
Now back to Linux. We'll need to modify repack-bootimg.pl with a text editor of your choice. I leave this up to the reader. We need to modify line 19 the system call so that it starts with "./mkbootimg" rather than "mkbootimg". This is so perl fines mkbootimg in the local directory rather than anywhere else.
Now type in the linux console we had open in the Bootimg-scripts directory the following command.
Code:
perl ./unpack-bootimg.pl boot.img
ls -l
You should see boot.img-kernel.gz and boot.img-ramdisk.cpio.gz and a directory boot.img-ramdisk.
Open boot.img-ramdisk/default.prop in your favorite text editor and make the following adjustments.
ro.secure=1 should be edited to ro.secure=0 and ro.debuggable=0 should be ro.debuggable=1 and if you want ro.allow.mock.location can also be changed to 1 if you like.
Now we've made the required changes to our initrd (initial ramdisk) files we need to repack them to put back on the device.
Code:
perl ./repack-bootimg.pl boot.img-kernel.gz boot.img-ramdisk boot-debug.img
You will now have a new file called boot-debug.img. This contains our modified initial ramdisk. It will probably be smaller than the original. This is no concern as the original we copied was an image of the entire disk including the unused areas, where as the new image is only the data we need.
I now FTP'd this file back to my Windows machine, but as before if your doing this from Linux then you can just carry on.
We now need to flash this image file back onto the Nexus 7 replacing our current boot image. To do this we need to put the device into bootloader mode.
Back to your console/command window, and enter in.
Code:
adb reboot bootloader
Windows might want to install drivers and as before direct the wizard to <SDK>\extras\google\usb_driver.
Once your device is in bootloader mode. Go back to the console/command and enter in.
Code:
fastboot flash boot boot-debug.img
fastboot reboot
Now cross your fingers and hopefully you will get the boot loading animation and your device will get back to the Android launcher.
Now finally from your console/command window type in:
Code:
adb root
Hopefully if all is well it should reply with "adbd is already running as root". Now if you type in:
Code:
adb shell getprop ro.debuggable
It should tell you that its set to 1, meaning it is switched on.
Congratulations!! You have now True Rooted your device!.
You can now debug even system level apps, see log messages from all processes and logcat will now resolve all app names. Use Hierarchy Viewer on a live device instead of the horrible emulator. Do absolutely everything with your device that you want.
Happy hacking,
Napalm :good:
better late than never.....a thorough quide
Thanks for this guide.
Sent from my Nexus 7
Thanks.
Napalm2 said:
[GUIDE] Make your android device True Root! - by Napalm​
I did this on my Nexus 7 but it should all still apply to most devices. You might need to follow different driver advice for other devices.
Pre-requirements:
Installation of the SDK platform-tools.
Have platform-tools directory of the SDK in your PATH environment variable (Google this if your unsure).
This was all done a Windows installation, but access to Linux will be required later on. Mac users might be able to get away with doing the Linux portions directly on there computer. Please let me know if your a Mac user and have had success with this and I will update the guide with details.
Step 1: Driver Installation (READ THIS, do not skip)
First I needed to update to the usb_driver from SDK and then modify the installation inf with the IDs for Nexus 7.
Browse to your SDK directory and futher into <SDK>\extras\google\usb_driver
Open android_winusb.inf in your favorite text editor.
Find the appropriate section Google.NTx86 if your on 32bit or Google.NTamd64 if your on 64bit (doesnt matter that your using intel chip). Now find the ";Google Nexus 7" line inside that section and you'll see a series of settings below. Add the following lines at the end of that block.
Code:
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_4E44&MI_01
%CompositeAdbInterface% = USB_Install, USB\VID_18D1&PID_D001
These are the identifiers for the Nexus 7 recovery and bootloader usb connections.
Step 2: Standard Root
Next you'll need access to the bootloader and recovery mode so follow this guide to unlock and "root" your device. http://forum.xda-developers.com/showthread.php?t=1741395
Here I've laid out the steps I did instead of the above. Remember this wipes your device and its internal memory completely, so backup your data.
All local work is done from the desktop, so when you first open a command prompt or if you close it and reopen it enter the following.
Code:
cd Desktop
Download CWM recovery image to Desktop. http://goo.im/devs/birdman/CWM-grouper-recovery.img
Download SuperSU CWM update zip to Desktop. http://forum.xda-developers.com/showthread.php?t=1538053
Go to Start or Start>Run and type in: cmd
Code:
cd Desktop
fastboot oem unlock
fastboot flash recovery CWM-grouper-recovery.img
adb reboot recovery
Now the device will reboot into recovery mode. If windows asks for drivers for the "new" usb connection direct the wizard to your <SDK>\extras\google\usb_driver. And the earlier modifications made in Step 1 should mean it installs the device and adb link.
Once drivers are installed and every is good go back to the command prompt, and type
Code:
adb devices
It should list your device with the word "recovery" next to it. If it doesn't then your device is not in recovery mode. Now enter in the following commands into the command prompt and it will make your devices CWM installation permanent.
Code:
adb shell
mount /system
cd /system
mv recovery-from-boot.p recovery-from-boot.bak
umount /system
exit
Now to install SuperSU. Tap "reboot system now" on the screen (if you dont see CWM, press the power button to show/hide it). Wait for the reboot. And then enter the following into the command prompt.
Code:
adb push CWM-SuperSU-v0.94.zip /sdcard
adb reboot recovery
Wait for reboot. You should see an image in the center of the screen. You might have to press the power button to toggle the visibility of the CWM menu. If you miss-tap on the screen, the power button acts like a back button and will return you to the previous menu screen.
Tap "install zip from sdcard" and then "choose zip from sdcard". Then select the CWM-SuperSU-v0.94.zip file (You may have to use the vol-up/down keys to highlight this if the file is listed off the bottom of the screen)
Let that install and then go back on the menus and choose "reboot system now".
Now if all is well after the reboot, if you run the following commands in command prompt.
Code:
adb shell
su
SuperSU might now prompt you on your devices screen to accept the root access, and then hopefully your command prompt should end in a # (this means you are root user 0). Now type exit twice to get back to the windows command prompt.
Now if you were to type "adb root" you will notice it tells you adbd is not able to go "full root". This will be solved in the next step. This is going to get complicated. You have been warned.
Step 3: True Rooting!
Now your device is "rooted". This is true, you now have a "su" binary installed and a visible app in the OS to manage super user privileges, but as a developer I want to be able to use things like "hierarchy viewer" on my live device. And have the room to do what I need to debug complex situations. So this is where True Root comes in. This essentially turns the device into a debug device that you would get direct from the manufacturer.
You may be able to get away with doing the following in a different way and you may not need to compile anything since fastboot has a boot flash option, but since I've never used this I've done it this way. If you prefer you can explore things in that direction, but be warned I've not tried it and so I have no idea if it would work.
Now for this step you will need access to a Linux installation. If you've never used Linux before don't be too afraid. But I am going to have to gloss over a few things. If you need further help on this step you will need to post in the topic and allow the community to advise on best pratices.
If you dont have access to a Linux installation or your newb to Linux then go here and follow the steps. It will add Linux to your PCs boot options and then you can go in and out of Linux when you need it. http://www.ubuntu.com/download/help/install-ubuntu-with-windows
Remember if your working on this step from a fresh Linux install like the above then you will probably want to install the android sdk for linux, at least enough to use adb from linux. This topic might help with this: http://forum.xda-developers.com/showthread.php?t=537508
Ok now from Linux follow along. You'll need git installed for this "apt-get install git".
We now need to compile the apps needed to modify our boot image. Details can be found here https://gist.github.com/1087757 but you might just want to follow my specific instructions.
Open a console window and type.
Code:
git clone https://android.googlesource.com/platform/system/core
cd core/libmincrypt
gcc -c *.c -I../include
ar rcs libmincrypt.a *.o
cd ../mkbootimg
gcc mkbootimg.c -o mkbootimg -I../include ../libmincrypt/libmincrypt.a
cd ../cpio
gcc mkbootfs.c -o mkbootfs -I../include
cd ../..
git clone https://github.com/beide/Bootimg-scripts.git
cd Bootimg-scripts
cp ../core/mkbootimg/mkbootimg ./
cp ../core/cpio/mkbootfs ./
Ok that has prapared the a Bootimg-scripts directory with the perl scripts we need and compiled binaries they use. Now make sure you have perl installed "apt-get install perl".
This is where things are going to split and it becomes your best guess as to how to proceed. I will show you the method I used from Windows. But if you have a installation of the SDK in Linux then you should be able to just open a new console and continue from here and ignore the bits I used to transfer files between Linux and Windows.
Back to the command console on Windows. We use adb to identify our boot partition and extract it.
Code:
adb shell cat /proc/partitions
You will now be presented with a list of paritions on your Nexus 7. Each block here for my device is 1K. So I'm looking down the list and I see one thats 8192 blocks, called "mmcblk0p2". Thats 8MB and I'm taking a educated guess that this is the boot partition, and for my Nexus 7 it is. (Note: if anyone has a better way of determining the boot parition please let me know).
Now we need to take a image of the partition. From here on out replace my partition device name in the commands below with yours if it differs.
Code:
adb shell
cat /dev/block/mmcblk0p2 > /sdcard/boot.img
exit
adb pull /sdcard/boot.img
Now if you want to confirm that this is the boot partition you will need to open the image file in your favorite hex editor and confirm the first bytes of the file are "ANDROID!" in ascii.
Now I FTP'd this image file over to my Linux box and into the Bootimg-scripts directory we created previously. If your following these steps from Linux then you should be able to open up the file manager and move the file into the folder.
Now back to Linux. We'll need to modify repack-bootimg.pl with a text editor of your choice. I leave this up to the reader. We need to modify line 19 the system call so that it starts with "./mkbootimg" rather than "mkbootimg". This is so perl fines mkbootimg in the local directory rather than anywhere else.
Now type in the linux console we had open in the Bootimg-scripts directory the following command.
Code:
perl ./unpack-bootimg.pl boot.img
ls -l
You should see boot.img-kernel.gz and boot.img-ramdisk.cpio.gz and a directory boot.img-ramdisk.
Open boot.img-ramdisk/default.prop in your favorite text editor and make the following adjustments.
ro.secure=1 should be edited to ro.secure=0 and ro.debuggable=0 should be ro.debuggable=1 and if you want ro.allow.mock.location can also be changed to 1 if you like.
Now we've made the required changes to our initrd (initial ramdisk) files we need to repack them to put back on the device.
Code:
perl ./repack-bootimg.pl boot.img-kernel.gz boot.img-ramdisk boot-debug.img
You will now have a new file called boot-debug.img. This contains our modified initial ramdisk. It will probably be smaller than the original. This is no concern as the original we copied was an image of the entire disk including the unused areas, where as the new image is only the data we need.
I now FTP'd this file back to my Windows machine, but as before if your doing this from Linux then you can just carry on.
We now need to flash this image file back onto the Nexus 7 replacing our current boot image. To do this we need to put the device into bootloader mode.
Back to your console/command window, and enter in.
Code:
adb reboot bootloader
Windows might want to install drivers and as before direct the wizard to <SDK>\extras\google\usb_driver.
Once your device is in bootloader mode. Go back to the console/command and enter in.
Code:
fastboot flash boot boot-debug.img
fastboot reboot
Now cross your fingers and hopefully you will get the boot loading animation and your device will get back to the Android launcher.
Now finally from your console/command window type in:
Code:
adb root
Hopefully if all is well it should reply with "adbd is already running as root". Now if you type in:
Code:
adb shell getprop ro.debuggable
It should tell you that its set to 1, meaning it is switched on.
Congratulations!! You have now True Rooted your device!.
You can now debug even system level apps, see log messages from all processes and logcat will now resolve all app names. Use Hierarchy Viewer on a live device instead of the horrible emulator. Do absolutely everything with your device that you want.
Happy hacking,
Napalm :good:
Click to expand...
Click to collapse
can't find recovery-from-boot.p. Y?
5implelove said:
can't find recovery-from-boot.p. Y?
Click to expand...
Click to collapse
Try not to quote a post that big mate, makes navigation a pain
5implelove said:
can't find recovery-from-boot.p. Y?
Click to expand...
Click to collapse
That part is only for the Nexus 7, and if you are using a Nexus 7 with custom ROM then this file may not exist. If you are using stock on a Nexus 7 then the only other question is whether you have renamed/moved/deleted it before. Once you
Code:
cd /system
type
Code:
ls -l recovery*
and see if anything is listed.
Napalm
Where did you find the info for step one?
Sent from my Nexus 7 using Tapatalk 2
I worked it out. You can find your VID and PID from your unknown device in Device Manager. You have to right click the device > Properties > Details > Choose Hardware Ids from the list. Since the driver from Google supports the same interfaces for other devices we can assume it works with the Nexus 7. I made the modifications and it works. Below is a full list of IDs if anyone wants them.
Napalm
Code:
Nexus 7
USB\VID_18D1&PID_4E40 : fastboot
USB\VID_18D1&PID_D001 : adb-recovery
USB\VID_18D1&PID_4E42 : composite-adb-interface (with mtp)
USB\VID_18D1&PID_4E42&MI_00: mtp-composite
USB\VID_18D1&PID_4E42&MI_01: adb-composite
USB\VID_18D1&PID_4E44 : composite-adb-interface (with ptp)
USB\VID_18D1&PID_4E44&MI_00: mtp-composite
USB\VID_18D1&PID_4E44&MI_01: adb-composite
USB\VID_18D1&PID_4E41 : mtp-only
USB\VID_18D1&PID_4E43 : ptp-only
Galaxy Nexus
USB\VID_18D1&PID_4E30 : fastboot
USB\VID_18D1&PID_D001 : adb-recovery
USB\VID_04E8&PID_6860 : composite-adb-interface (with mtp)
USB\VID_04E8&PID_6860&MI_00: mtp-composite
USB\VID_04E8&PID_6860&MI_01: adb-composite
USB\VID_04E8&PID_6866 : composite-adb-interface (with ptp)
USB\VID_04E8&PID_6866&MI_00: ptp-composite
USB\VID_04E8&PID_6866&MI_01: adb-composite
USB\VID_04E8&PID_685C : mtp-only
USB\VID_04E8&PID_6865 : ptp-only
Great guide, but why not just post up the new initrd for people that don't want to do this? It looks as if its the same for all devices.
As requested. Attached are the compiled tools and modified scripts used and the original and modified boot partition image files for the Nexus 7 running Android 4.1.2.
Napalm
Update for Android 4.2
Attached is the original and modified boot partition image files for the Nexus 7 running Android 4.2.
You can update yours with the following:
Code:
adb reboot-bootloader
fastboot flash boot nakasi-jop40c-android42-boot-new.img
Napalm
Attached is the original and modified boot partition image files for the Nexus 7 GSM/HSPA+ running Android 4.2.1
You can update yours with the following:
Code:
adb reboot-bootloader
fastboot flash boot nakasig-jop40d-android421-boot-new.img
Napalm
Amazing !
Is it possible to post the same file for N7 4.2.1 Wifi version?
Thanks
JulienDev said:
Amazing !
Is it possible to post the same file for N7 4.2.1 Wifi version?
Thanks
Click to expand...
Click to collapse
If I'm not mistaken, they are the same for wifi and 3g versions?
Same as before.. just an update for Android 4.2.2... as per the previous posts.. no idea if the non-GSM variant has the same boot partition. If anyone can test please post.
Attached is the original and modified boot partition image files for the Nexus 7 GSM/HSPA+ running Android 4.2.2
You can update yours with the following:
Code:
adb reboot-bootloader
fastboot flash boot nakasig-jdq39-android422-boot-mod.img
Getting a No_Command error
Hi, I am trying to true root Android M on my Nexus 7 2012 Wifi edition. I followed the steps here and was able to create the boot.img with the ro.debuggable=1 and ro.secure=0. however if i flash this boot.img the device boots and gets stuck in a android bot with a Red ! (bang) triangle. and says No command.
Any idea how to get ro.debuggable on for Android M?

Categories

Resources