Related
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!!!
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!
For anyone having issues with running this in linux.
I used zikronix guide and modified it for use in a linux support thread. The original thread can be found here:
http://forum.xda-developers.com/showthread.php?t=829045
This is my setup:
-I made sure to show my .bashrc profile and path to my tools folder if you needed help getting that setup as well... If not please ignore.
Code:
[email protected]:~$ cat .bashrc | grep adb
alias start-adb='sudo /usr/local/android-sdk/tools/./adb start-server'
alias kill-adb='sudo /usr/local/android-sdk/tools/./adb kill-server'
[email protected]:~$ cat .bashrc | grep android-sdk
export PATH="/usr/local/android-sdk/tools/:${PATH}"
[email protected]:~$ $PATH
bash: /usr/local/android-sdk/tools/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:
Download: http://www.wackynoodle.com/hboot202-s_off-V6.2.zip
Download (Mirror): http://sdx-downloads.com/EVO/devs/jerdog/fixes/hboot202-s_off-V6.2.zip
Now This might make things easier.
-I have this so that you are in the same enviroment that i was in so that the paths will be the same.
Code:
wget http://www.wackynoodle.com/hboot202-s_off-V6.2.zip
mkdir Evo-root
mv hboot202-s_off-V6.2.zip
cd Evo-root
unzip hboot202-s_off-V6.2.zip
- This step I just made sure that adb devices showed my device. If not get it working.
- Once adb devices showed my device properly, I simply ran the following commands.
Code:
adb push root/unrevoked-forever.zip /sdcard/
adb push root/mtd-eng.img /sdcard/
adb push pc36img/PC36IMG-ENG.zip /sdcard/PC36IMG.zip
adb push root/flash_image /data/local/
adb push root/rageagainstthecage /data/local/tmp
adb push root/amon_ra.img /sdcard/
- Then this is just changing permissions. Pretty straight forward.
Code:
adb shell
chmod 0755 /data/local/tmp/rageagainstthecage
chmod 0755 /data/local/flash_image
- Running the script. Should kick you out of adb... If not after 5 min kill the adb server and restart.
Code:
adb shell
./data/local/tmp/rageagainstthecage
- Now you should see a "#", if you do proceed. If not then run the script above again till it works.
Code:
adb shell
- If you saw that "#" run this. This can only be ran as root "#" means root.
Code:
./data/local/flash_image misc /sdcard/mtd-eng.img
Now you are going to want to reboot into the bootloader. Make sure once you do that you selet bootloader and let the PC36IMG.zip load.
Code:
reboot bootloader
After that is done reboot into the new rooted rom. Then make sure adb works again. Then run the following commands. Make sure you terminal is in the same directory this entire time there is no reason to leave the direcory we went into earlier "cd Evo-root" You directory should always be Evo-root. Thanks. The part that I found out was the second command where the entire recovery/ needed the permissions changed to be executable. As you saw in my post on that forum board.
- This will remove the PC36IMG.zip to a different name so that the bootloader won't get confused again. Then the second commands makes the directory executable recursivly. Then the third will reboot you into recovery.
Code:
adb shell mv /sdcard/PC36IMG.zip /sdcard/PC36IMG-ENG.zip
chmod -R +x recovery/
adb reboot recovery
- Now this is going to be done at the recovery screen. As long as you followed the steps above it will work fine. Should only take you about 20 mins to root this phone. Though it took me about 2 hours since no one else has been rooting using linux. I am thinking about writing a script that will root everything and alls you have to do is follow a terminal guide.... But ill see.
- Just run these commands that will allow you to flash the unrevoked-forever.zip. Once you follow the onscreen instructions of the unrevoked-forever.zip you will be able to reboot into the recovery and see the S-Off. Once that is done reboot into the rom, now we need to flash a custom recovery!
Code:
adb push recovery /
adb shell busybox --install /sbin
adb shell nohup /sbin/recovery &
- Again make sure your terminal was never closed and in the same folder. Then simply run these commands to flash the Amon_ra recovery. Since it has wimax capabilities I prefer it.
Code:
adb push root/flash_image /data/local/
adb shell
chmod 0755 /data/local/flash_image
./data/local/flash_image recovery /sdcard/amon_ra.img
reboot recovery
Now you should see the custom recovery and you should be able to flash any rom you desire!
reserved for later use
i see that they are same commands as the pc.., so would this also work with PC?
nickespi said:
i see that they are same commands as the pc.., so would this also work with PC?
Click to expand...
Click to collapse
I am guessing your talking about windows? Sure make sure adb is in your path. Though there are steps in here that are only for linux.
95% success
Well I want to thank you for this thread
It has worked for me I have root I have NAND unlocked
I can flash ROMs
The only issue I have is my radio/baseband and PRI version have been lowered
I have not been able to get thise back where they whould with either update or by using teh wimax.ADDRESS.tree.xml fix (there is no file with that)
If you have any ideas how to fix this would be much appreciated
I am unable to get higher tahn baseband 1.36.00.04.02 in ant rom
when I got teh phone it was 2.15.00.xx.xx
any help would be appreciated
100% Success
THANK YOU
My Evo
Hardware 004
Build 3.30
Hboot 2.02
Baseband 2.15.xx.xx
is now sucessfully rooted.
I did have some problems after being able to flash ROMs of not haveing PRI and Baseband updated.
On thread #787756 there are downloads that can be flashed to fix this problem if anyone else is in that boat.
zikronix sent me there for the fix...I believe he is adding it to the main thread but if it isn't there yet I wanted to add it now for anyone in my boat.
Again this method works and there is success.
Happy rooting
Hey thanx for this Linux guide. Does this steps work with the update 12.25.10 on the windows thread?
Will you update this guide?
With the release of android 4.4 oldest recovery was not able flashing properly ROMs. In my BeanStalk thread i gave you a cwm recovery able to flash these ROMs, but is not enough for me cause you guys like TWRP. As you have seen i found a way to make roms flashable via TWRP. And since here on XDA we are a big family i'm sharing the method. What i ask you all is just putting me in your credit lists.
GUIDE:
1) Open the terminal and cd to your working directory.
Example:
Code:
cd beanstalk
2)Now cd to "build" folder.
Code:
cd build
3)Copy&Paste this one
Code:
git fetch http://review.cyanogenmod.org/CyanogenMod/android_build refs/changes/59/53559/4 && git cherry-pick FETCH_HEAD
4) Now cd to the root of your working directory.
5) Now manually go to device/htc/s4-common folder and open BoardConfigCommon.mk
6) Time to paste this under the recovery "#"
Code:
SKIP_SET_METADATA := true
7) cd to your working directory and "source build/envsetup.sh" and build like usually.Thanks to RockR172 for spotting this.
It's nice to see you involved in development for our device like this. Keep it up mate !!
In this guide a describe how you can easily fix the touchscreen issue in TWRP for Moto G 5G.
Before providing the necessary steps, I would like to express my gratitude to the guys here, especially Andrew Hexen for providing the sources and instructions to build the TWRP for this great device.
Building the TWRP from source might result in a recovery without the touchscreen support. To fix that, you can follow these simple steps.
First, we need to extract the touchscreen drivers from the phone. To do this, you need to boot to TWRP. Connect your phone to your PC, open up the terminal and type:
Bash:
# reboot to bootloader
adb reboot bootloader
# boot to recovery
fastboot boot twrp.img
Wait for the phone to boot to recovery. If your phone uses password/PIN or other forms of protection you might have to decrypt the filesystem before proceeding. You can use OTG mouse to do that.
On your PC, in terminal type:
Bash:
adb pull "/vendor/lib/modules/" <path to where you want the modules folder to be pulled>
This will pull from the phone all the necessary drivers, among those are the drivers for the touchscreen. (Probably you could pull just the touchscreen driver, but to be sure I pulled everything.)
On you PC, use Android Kitchen to unpack the recovey image. I usually use the terminal to go to the Android Kitchen folder and I run:
Bash:
./unpacking.sh <path to your twrp.img>
Then go to ramdisk folder that was created by Android Kitchen
Bash:
cd ramdisk
and manually create the following folder:
Bash:
sudo mkdir -p vendor/lib/modules
Then copy the drivers you previously pulled from your phone to this folder:
Bash:
sudo cp <path to modules folder with drivers>/* vendor/lib/modules/
In the ramdisk folder open the init.rc file. We need to open it as su user. You can use:
Bash:
sudo gedit
and then open the file from the editor.
Find the following lines:
Code:
# Load properties, Android 6.0+, vendor init lives here
on load_persist_props_action
load_persist_props
and add a line after load_persist_props so that you get:
Code:
# Load properties, Android 6.0+, vendor init lives here
on load_persist_props_action
load_persist_props
start load_modules # this is the line you must add
Use Android Kitchen to repack the image:
Bash:
cd .. # to move back to the folder where Android Kitchen is
./repacking.sh
You'll get a file called image-new.img. That's your new recovery with a working touchscreen!
I'm sure there's a better way to do this so feedback is welcome.
I tired your method and completed with a newimage file, and flastboot booted off it. Still had touch problems, files attached. Vendor.zip was placed in ramdisk\vendor\lib\modules. Any ideas?
Thankyou
PS (edit): would anything needed to be added to ramdisk/vendor/manifest.xml?
Lostwon said:
I tired your method and completed with a newimage file, and flastboot booted off it. Still had touch problems, files attached. Vendor.zip was placed in ramdisk\vendor\lib\modules. Any ideas?
Thankyou
Click to expand...
Click to collapse
Lostwon said:
I tired your method and completed with a newimage file, and flastboot booted off it. Still had touch problems, files attached. Vendor.zip was placed in ramdisk\vendor\lib\modules. Any ideas?
Thankyou
PS (edit): would anything needed to be added to ramdisk/vendor/manifest.xml?
Click to expand...
Click to collapse
PPS I am trying this on the Moto G stylus xt2043-4. I just noticed thats not the phone you wrote this for, Im going to pull and umpack my stock recovery and compre that to the Twrp3.4 image and see whats missing .