Update: One click root has been using this "simple" method since version 2.2.7. If you're rooting your phone for the first time, please try that first. Consider this thread to be purely informational for those who want step-by-step details of how the process works.
I've been suspicious of the joeykrim root method since it was first posted at SDX. I finally got my Epic yesterday and confirmed that is, indeed unnecessary. I don't fault joeykrim though, he ported the working root method from the Moment to the Epic without actually having access to an Epic himself.
Anyways, the joeykrim root method is unnecessarilly complex becuase it works around an RFS permissions bug which loses the setuid bit on the Moment. It appears the Galaxy S phones have this bug fixed, which is why the root methods on the I9000, Vibrant, Captivate, Fascinate, etc., are much simpler.
So, for the simple root:
First, make sure joeykrim root is not installed.
Upgrade to DI18 (not strictly necessary, but you'll want to do it).
Setup a working adb from the Android SDK and whatever drivers are necessary for your platform.
Download rageagainstthecage-arm5.bin from the C skills blog (link removed due to my newbieness) or from any of the one-click root packages.
Download su-2.3.6.1-ef-signed.zip and extract "system/bin/su" and "system/app/Superuser.apk" to a temporary directory you'll be working from.
Enable USB debugging on your phone and connect it to your computer.
Now, open a command prompt/shell on your computer and cd to the appropriate temporary directory. Run:
Code:
adb push rageagainstthecage-arm5.bin /data/local/tmp
adb shell chmod 755 /data/local/tmp/rageagainstthecage-arm5.bin
adb shell /data/local/tmp/rageagainstthecage-arm5.bin
and confirm you have a working root shell. Then continue with:
Code:
adb push su /system/xbin
adb shell chmod 4755 /system/xbin/su
adb install Superuser.apk
That's it! You should have a working root via su & the Superuser package. At least, I did.
Note that the preceeding steps installs Superuser.apk to /data, which is what I prefer to do. This means if you do a "Factory data reset" su will be temporarilly broken until you reinstall the Superuser.apk package. Since installing the package itself doesn't require root, this is easily done after a /data reset.
Also note that I did not perform a /system remount-rw anywhere. At least on my Epic, /system appears to always be mounted read-write so it's an unnecessary step. It's actually the "joeykrim-root.sh" script that remounts /system read-only during the boot process, which is why folks who don't use root kernels have run into this problem before. I'm not sure why joeykrim's script does that, I guess he probably assumed /system is mounted read-only by default. There's arguments that /system should be read-only, but I didn't touch it in case some Samsung stuff depends on it being read-write.
Finally, if you're already rooted via joeykrim or are running a root kernel, there's nothing really to be gained by doing this. I'm just throwing this out there as I perfer to make the minimum invasive changes possible to obtain root.
Wow, that was really informative. To check for Super user you:
Type: adb shell
then type: SU
You should get a # sign if you have root. Correct?
In the original Noobln post method would the Epic keep root even after a wipe therefore not needing to re-apply the superuser apk again? That might be a reason why folks would want to go the more invasive route (considering rooters seems to change ROMS fairly often which requires wipes sometimes). Either way, keeping a copy of the apk file on your SD card is no big deal.
mkasick said:
Also note that I did not perform a /system remount-rw anywhere. At least on my Epic, /system appears to always be mounted read-write so it's an unnecessary step. It's actually the "joeykrim-root.sh" script that remounts /system read-only during the boot process, which is why folks who don't use root kernels have run into this problem before. I'm not sure why joeykrim's script does that, I guess he probably assumed /system is mounted read-only by default. There's arguments that /system should be read-only, but I didn't touch it in case some Samsung stuff depends on it being read-write.
Click to expand...
Click to collapse
This explains a lot of problems! thanks
EDIT- another noob question- why do you prefer to have superuser installed to /system/data- why not put it in /system/app? Also if I want to install busybox where is the best location to put it?
ZenInsight said:
Wow, that was really informative. To check for Super user you:
Type: adb shell
then type: SU
You should get a # sign if you have root. Correct?
Click to expand...
Click to collapse
Once you run rageagainstthecage-arm5.bin, you should get a root-shell automatically every time you run "adb shell" after until you reboot the phone. Yes, you can tell it's a root shell since it uses the "#" prompt. This is the important part to check, since if the exploit doesn't work, you'll have to run it again. But I haven't seen it not work.
After su is installed and you reboot, your steps are correct: run "adb shell", run "su", then you'll be prompted on the phone scren to authorize access and once you allow it you'll end up with a "#" prompt.
ZenInsight said:
In the original Noobln post method would the Epic keep root even after a wipe therefore not needing to re-apply the superuser apk again?
Click to expand...
Click to collapse
noobnl installs Superuser.apk to /system, you can do that here too. Just replace the "adb install Superuser.apk" step with "adb push Superuser.apk /system/app". It's independent of the joeykrim scripts.
With my captivate we have many update.zip root methods to choose from. Any chance this will be coming to the epic? Have a friend with an epic and command lines would be too much and one click didn't work.
Sent from my SAMSUNG-SGH-I897 using XDA App
jimmyz said:
why do you prefer to have superuser installed to /system/data- why not put it in /system/app?
Click to expand...
Click to collapse
I prefer to keep consistent with the idea that user-installed applications go in /data, and stock-installed-and-unmodified applications remain in /system/app. This way, upgrading Superuser.apk doesn't require a root-shell/root-explorer, you can remove it or upgrade it the way you do with any user installed application--adb install, side-loading via an sdcard, or downloading it from the market.
Plus, in general I prefer to keep my /system as untouched as possible. For example, I don't remove stock apps either. The "su" binary has to be installed in /system to persist after a /data wipe, and busybox is best installed to /system so it's in PATH (haven't looked into modifying the default PATH yet). Otherwise I try to keep /system alone.
jimmyz said:
Also if I want to install busybox where is the best location to put it?
Click to expand...
Click to collapse
Android's default PATH provides four places for busybox to be installed: /sbin, /system/bin, /system/sbin, and /system/xbin. /sbin is part of the initramfs, in other words it's controlled by the kernel you're running. You can install busybox to any of the three /system/*bin directories, but I prefer /system/xbin.
In the traditional Unix conventions, "/usr/bin" is for user-runnable stock-installed programs, and "/usr/sbin" is for root-requiring (superuser-runnable) stock-installed programs. "xbin" isn't part of the standard convention, but I'd guess it's intended for "extra binaries" that are not part of the stock installation (much like /usr/local/bin), thus it seems like an appropriate location for a user-added "su" and "busybox" programs.
The second reason is that "xbin" is relatively empty, so if you want to create the applet symlinks (i.e., so that you can call "cp" instead of "buybox cp") it won't overwrite the stock toolbox symlinks. Also, since "xbin" is last on the default PATH, any programs provided by both toolbox and busybox will default to the toolbox version--which would be important for stock system scripts that might run into compatibility issues if they were to use the busybox versions instead.
To install busybox, grab a copy of the binary from somewhere (one click packages, a copy of stericson.busybox.apk, etc.). Then, once rooted run:
Code:
adb push busybox /data/local/tmp
adb shell
su # Authorize on phone screen
cat /data/local/tmp/busybox > /system/xbin/busybox
chown root.shell /system/xbin/busybox
chmod 755 /system/xbin/busybox
rm /data/local/tmp/busybox
/system/xbin/busybox --install -s /system/xbin
jhnstn00 said:
With my captivate we have many update.zip root methods to choose from. Any chance this will be coming to the epic?
Click to expand...
Click to collapse
I don't believe so. The I9000/Vibrant/Captivate have recoveries that don't check the signature of update.zip (as I understand, or maybe they do but only require test keys) which makes rooting-via-recovery possible. Unfortuntaely the Epic and Fascinate do perform signature checks, so we can't enable root via stock-recovery.
That said, the Fascinate one-click methods should also work on the Epic. Although depending on why your friend couldn't get the Epic one-click to work, the Fascinate one may not work either.
mkasick said:
I prefer to keep consistent with the idea that user-installed applications go in /data, and stock-installed-and-unmodified applications remain in /system/app. This way, upgrading Superuser.apk doesn't require a root-shell/root-explorer, you can remove it or upgrade it the way you do with any user installed application--adb install, side-loading via an sdcard, or downloading it from the market.
Plus, in general I prefer to keep my /system as untouched as possible. For example, I don't remove stock apps either. The "su" binary has to be installed in /system to persist after a /data wipe, and busybox is best installed to /system so it's in PATH (haven't looked into modifying the default PATH yet). Otherwise I try to keep /system alone.
Android's default PATH provides four places for busybox to be installed: /sbin, /system/bin, /system/sbin, and /system/xbin. /sbin is part of the initramfs, in other words it's controlled by the kernel you're running. You can install busybox to any of the three /system/*bin directories, but I prefer /system/xbin.
In the traditional Unix conventions, "/usr/bin" is for user-runnable stock-installed programs, and "/usr/sbin" is for root-requiring (superuser-runnable) stock-installed programs. "xbin" isn't part of the standard convention, but I'd guess it's intended for "extra binaries" that are not part of the stock installation (much like /usr/local/bin), thus it seems like an appropriate location for a user-added "su" and "busybox" programs.
The second reason is that "xbin" is relatively empty, so if you want to create the applet symlinks (i.e., so that you can call "cp" instead of "buybox cp") it won't overwrite the stock toolbox symlinks. Also, since "xbin" is last on the default PATH, any programs provided by both toolbox and busybox will default to the toolbox version--which would be important for stock system scripts that might run into compatibility issues if they were to use the busybox versions instead.
To install busybox, grab a copy of the binary from somewhere (one click packages, a copy of stericson.busybox.apk, etc.). Then, once rooted run:
Code:
adb push busybox /data/local/tmp
adb shell
su # Authorize on phone screen
cat /data/local/tmp/busybox > /system/xbin/busybox
chown root.shell /system/xbin/busybox
chmod 755 /system/xbin/busybox
rm /data/local/tmp/busybox
/system/xbin/busybox --install -s /system/xbin
Click to expand...
Click to collapse
You sir are a true gentleman! Thank you for the informative answers- its great to have you over here! I have one more question- why can't I usually push directly to /system ?
jimmyz said:
why can't I usually push directly to /system ?
Click to expand...
Click to collapse
Pushing directly to /system requires running the adb service on the phone as the root user, so that it has permissions to write to that directory. Usually adb runs on the phone unprivileged, so you can only push to world-writable directories.
Running rageagainstthecage-arm5.bin actually changes this. The exploit forces the adb service to run as the root user, which is why "adb shell" gives you a root shell and "adb push" to /system does work, until the phone is restarted.
Interesting enough, the adb service also runs as root by default in the Android emulator. So there's probably a configuration setting, somewhere, to make it do that. In general it's safer to run adb unprivileged though, and "su" to move files to /system once uploaded elsewhere on the phoe.
mkasick said:
Pushing directly to /system requires running the adb service on the phone as the root user, so that it has permissions to write to that directory. Usually adb runs on the phone unprivileged, so you can only push to world-writable directories.
Running rageagainstthecage-arm5.bin actually changes this. The exploit forces the adb service to run as the root user, which is why "adb shell" gives you a root shell and "adb push" to /system does work, until the phone is restarted.
Interesting enough, the adb service also runs as root by default in the Android emulator. So there's probably a configuration setting, somewhere, to make it do that. In general it's safer to run adb unprivileged though, and "su" to move files to /system once uploaded elsewhere on the phoe.
Click to expand...
Click to collapse
I am learning a lot!!! Could you take a look at koush's kernel here, with it I noticed that when using adb I got the # prompt right away and was able to push to /system- maybe he was able to figure out the config settings? Once again thanks!!!
one more ? (feel free to ignore this one) what actually happens when you do
Code:
adb shell /data/local/tmp/rageagainstthecage-arm5.bin
and how does that give you permanent root?
mkasick said:
Pushing directly to /system requires running the adb service on the phone as the root user, so that it has permissions to write to that directory. Usually adb runs on the phone unprivileged, so you can only push to world-writable directories.
Running rageagainstthecage-arm5.bin actually changes this. The exploit forces the adb service to run as the root user, which is why "adb shell" gives you a root shell and "adb push" to /system does work, until the phone is restarted.
Interesting enough, the adb service also runs as root by default in the Android emulator. So there's probably a configuration setting, somewhere, to make it do that. In general it's safer to run adb unprivileged though, and "su" to move files to /system once uploaded elsewhere on the phoe.
Click to expand...
Click to collapse
It is indeed a config option in default.prop. However, this is in the initramfs and you can't change it on the fly, so you need to rebuild the kernel to change it. With some work you can modify the stock kernel to do it, but I personally haven't tried it.
Sent from my Epic 4G using XDA App
Thank you, this worked perfectly for me, running stock DI18 ROM that I flashed tonight!!! I confirmed by installing the wireless tethering pre-9 apk, and successfully ran the wireless tethering without any errors.
Quick question: do we need to do this after root or is it not needed?
NEEDED?? ===> SuperUser App to help with Security Concerns for the Epic - h**p://forum.sdx-developers.com/epic-development/superuser-app-to-help-with-security-concerns/
Also, Titanium Backup failed to work - it gave an error of denied root access, and said busybox was not installed. What needs to be done to make it work? Do I need to install clockwork mod (not exactly sure what it does though) or a custom ROM?
AndroidSPCS said:
Quick question: do we need to do this after root or is it not needed?
Click to expand...
Click to collapse
Not sure exactly what you're asking. This is an alternative to the joeykrim-based one-click roots and rooted kernels. If you already have one of those this isn't really necessary.
AndroidSPCS said:
NEEDED?? ===> SuperUser App
Click to expand...
Click to collapse
Yes, the su binary used here requires the Supruser appto be installed to authorize su requests. Otherwise they'll always be denied. Other su binaries might not require it, but then all apps have root access which isn't really a good thing.
AndroidSPCS said:
Also, Titanium Backup failed to work - it gave an error of denied root access, and said busybox was not installed. What needs to be done to make it work?
Click to expand...
Click to collapse
Did you authorize Titanium Backup when the Superuser prompt came up (requies the Superuser app to be instald too)?
Titanium Backup has an option to download and install it's preferred version of busybox. Follow the prompts to do that.
mkasick said:
Not sure exactly what you're asking. This is an alternative to the joeykrim-based one-click roots and rooted kernels. If you already have one of those this isn't really necessary.
Click to expand...
Click to collapse
Thanks, actually this was referring to the thread where the instructions for going to adb shell or terminal and typing in the following commands:
adb shell
su
mount -t rfs -o remount,rw /dev/block/stl9 /system
cp /system/bin/su /system/bin/jk-su
exit
Yes, the su binary used here requires the Supruser appto be installed to authorize su requests. Otherwise they'll always be denied. Other su binaries might not require it, but then all apps have root access which isn't really a good thing.
Click to expand...
Click to collapse
Yes same as above, the question is not whether we need SU app (I know we do), but whether we needed to type the additional commands:
adb shell
su
mount -t rfs -o remount,rw /dev/block/stl9 /system
cp /system/bin/su /system/bin/jk-su
exit
What do these commands do? It seems to me my Superuser app is working fine with wifi tether - popping up with allow / disable permission boxes, etc. Do these commands add something else to Superuser?
Did you authorize Titanium Backup when the Superuser prompt came up (requies the Superuser app to be instald too)?
Titanium Backup has an option to download and install it's preferred version of busybox. Follow the prompts to do that.
Click to expand...
Click to collapse
There was no Superuser prompt during the install of the app, nor anytime when it said it had a failure with root access. However there is an option to install BusyBox, which I have not done yet, because I am not sure what busybox is, or what it does. I'd like to find out why I need it and what it does, so I can feel comfortable with installing it.
Thanks again.
echo "root::0:0:root:/data/local:/system/bin/sh" > /etc/passwd
echo "root::0:" > /etc/group
you need to do that in a shell to make sure su works properly.
I'm updating the one click root right now to be less silly.
http://forum.xda-developers.com/showpost.php?p=8543226&postcount=455
I just cleaned up the one click root to not do many of the silly things joeykrim's root does. It also means your system will be mounted as rw after a reboot and it won't overwrite your su with jk-su every boot (no more modified playlogo).
Cleaned up all the old stuff from the root so it should work fine even if you were using one of the older one clicks. I made sure su works, incl titanium backup.
I'm still installing superuser.apk to /system/app because I think it belongs there.
Thanks for doing the footwork, mkasick!
Firon said:
http://forum.xda-developers.com/showpost.php?p=8543226&postcount=455
I just cleaned up the one click root to not do many of the silly things joeykrim's root does. It also means your system will be mounted as rw after a reboot and it won't overwrite your su with jk-su every boot (no more modified playlogo).
Cleaned up all the old stuff from the root so it should work fine even if you were using one of the older one clicks. I made sure su works, incl titanium backup.
I'm still installing superuser.apk to /system/app because I think it belongs there.
Thanks for doing the footwork, mkasick!
Click to expand...
Click to collapse
Firon- why are these lines still needed?
Code:
adb push playlogo /system/bin/playlogo
what is playlogo? Does this just put the stock one back in case you used the joeykrim method in the past?
Code:
adb push remount /system/xbin/remount
Are the remount scripts still needed?
Code:
adb shell ln -s /system/xbin/su /system/bin/su
why is this link needed? why cant su just be in xbin
thanks in advance!
Code:
jimmyz said:
Firon- why are these lines still needed?
Code:
adb push playlogo /system/bin/playlogo
what is playlogo? Does this just put the stock one back in case you used the joeykrim method in the past?
Click to expand...
Click to collapse
This is just pushing the stock playlogo, since joeykrim's method overwrites it with some custom script.
Code:
adb push remount /system/xbin/remount
Are the remount scripts still needed?
Click to expand...
Click to collapse
The script allows you to easily remount system as ro or rw at will. Why not?
Code:
adb shell ln -s /system/xbin/su /system/bin/su
why is this link needed? why cant su just be in xbin
Click to expand...
Click to collapse
I don't know if any apps depend on it being in a particular location. It is in xbin, but I'm also linking it to /system/bin to be safe.
AndroidSPCS said:
What do these commands do? It seems to me my Superuser app is working fine with wifi tether - popping up with allow / disable permission boxes, etc. Do these commands add something else to Superuser?
Click to expand...
Click to collapse
These commands were necessary to get Superuser working with the old joeykrim root method. They're not necessary with this method (or the newly released one-click). In other words, if wifi-tethering is already working for you, nothing further is needed to be done.
AndroidSPCS said:
There was no Superuser prompt during the install of the app, nor anytime when it said it had a failure with root access.
Click to expand...
Click to collapse
I don't actually use TitaniumBackup. I'm not sure why its superuser-requirements would be different from other apps, but I guess it is. The new one-click appears to address this.
AndroidSPCS said:
However there is an option to install BusyBox, which I have not done yet, because I am not sure what busybox is, or what it does. I'd like to find out why I need it and what it does, so I can feel comfortable with installing it.
Click to expand...
Click to collapse
Busybox is a suite of "familar" Unix command-line utilites (things like cp (copy), mv (move), ls (list), etc.). It targets embedded platforms by being very featureful, yet relatively small. It's installed and used on a wide variety of embedded devices including wireless routers, print servers, phones, even televisions.
Oddly enough, Android does not include busybox by default. Instead it comes with it's own utility-programs-package called "toolbox" that isn't nearly as featureful, and quickly becomes a pain to use. Some programs, like TitaniumBackup depend on busybox programs/features, and thus require it's installation. It's safe.
The only problem with busybox is that there's not one single version of it. There's multiple builds of it from the same source code with different sets of features turned on and off. In the past, some folks had a version of busybox installed that didn't contain all the features necessary to support TitaniumBackup, so they added the option to install their own version. It's installed in a separate location, so it won't overwrite any version you do have installed, and it's safe to do. But if you've already installed another version of busybox that does work, then it may be unnecessary.
I did the Jokeyrim method a few days ago. I installed a new kernal and now a new ROM. All seems ok, but ow when I do the "whoami" command in adb shell I get whoami not found. I don't think I'm really rooted anymore. Any attempt to reinstall the Jokeyrim root script results in failure (mostly "device not found" errors). When in adb shell, most commands I type now are either "not found" or "permission denied", so I'm not confident that I'm really rooted now.
Since I have / had Jokeyrim installed, how can I "uninstall" it so that I can use this method of rooting instead? BTW, the newest Clockworkmod is installed and working.
Do I need to flash to stock first? Sorry, but I'm a VERY STOOPID NOOB.
I am thinking about rooting my Nexus S I love Stock google and I love how I can get OTA updates instead of waiting for carriers to update them then waiting ..... If I root my phone can I get the OTA updates still or can I reverse it so my phone is like it never had anything ever on it so I can update it fine as if Ive just bought it from a store.
thanks.
You can still receive OTAs with root as long as you're not on a custom rom that has the update script disabled (which most do). If youre on stock rom rooted then you will receive the update when it comes. Should you choose to update through the OTA, you will lose root. Most likely you could re-root it again thereafter.
Sent from my Nexus S using XDA App
aww thanks so lets say I root tommorow I can get updates aslong as i dont install something like Cyogen or what ever it is called is the clockwork recovery just something for restoring and doesnt involve updating?
Also updates always get incorporated into custom rims so if you're on one you don't really have to worry about it.
Rooting the version of android you have won't keep you from getting updates. If you change the recovery image the update will download, but the install will fail.
Rooting a Nexus is pretty easy if you have the android SDK installed.
Just type in the following commands (you'd have to download superuser.apk and su and place them in the platform-tools folder of the SDK)
adb remount
adb push su /system/bin/
adb push Superuser.apk /system/app/
adb shell chmod 6755 /system/bin/su
adb shell exit
adb reboot
If you type in adb remount and it fails to mount type in "adb root" then do the steps above.
hawaiian said:
Rooting the version of android you have won't keep you from getting updates. If you change the recovery image the update will download, but the install will fail.
Rooting a Nexus is pretty easy if you have the android SDK installed.
Just type in the following commands (you'd have to download superuser.apk and su and place them in the platform-tools folder of the SDK)
adb remount
adb push su /system/bin/
adb push Superuser.apk /system/app/
adb shell chmod 6755 /system/bin/su
adb shell exit
adb reboot
If you type in adb remount and it fails to mount type in "adb root" then do the steps above.
Click to expand...
Click to collapse
by recovery image is this the clockwork for example becuase that needs to be installed for root doesnt it :/
Rooting
Here's a great webpage on how to root the Nexus. You don't have to push the recovery image to the phone most people do so they can install custom roms. If you just want to root your stock rom you don't have to load the recovery image.
http://jaxov.com/2010/12/unlock-bootloader-root-nexus-s-on-android-2-3-gingerbread/
hawaiian said:
Here's a great webpage on how to root the Nexus. You don't have to push the recovery image to the phone most people do so they can install custom roms. If you just want to root your stock rom you don't have to load the recovery image.
http://jaxov.com/2010/12/unlock-bootloader-root-nexus-s-on-android-2-3-gingerbread/
Click to expand...
Click to collapse
Its also helpful to have a recovery image to maintain backups of your phone
Thanks for now id just like root adverts pee me off they kill phone speed. Id like to use other stuff too
Sent from my Nexus S using XDA App
Can I still got OTA if I use rom manager to flash recovery temporary or write something into /system/?
Coz I wanna use the Adblocker to remove ads but seems it will modify some file.
Hello all.
I looked and can't find but is there a rooted 1.55.531.3 rom for the device anywhere.
Rooted the phone tried the ICS from sensation and kinda want to go back but not unroot.
I could send you my recovery if you have the ability to flash
rooted 1.55.531.3 with clockwork recovery and SU
M9x3mos said:
Hello all.
I looked and can't find but is there a rooted 1.55.531.3 rom for the device anywhere.
Rooted the phone tried the ICS from sensation and kinda want to go back but not unroot.
Click to expand...
Click to collapse
yeah, what you are looking for doesn't exist at the moment. i too thought about making a nandroid of the the new ROM for people to flash, but since the new setup comes with a new radio, new kernel, new HBOOT, etc., i'm not sure how it would fly if someone just flashed the nandroid?
Hboot n radio would be the only thing missing... Kernels sits in recovery....
rooted 1.55.531.3 with clockwork recovery and SU
I know I made a flashable package out of the Google Talk apk file, and either did or meant to make some out of the other apps in it - I'm not sure which thread it's in.
I can check later and link it. Not sure what else anyone did with it, if wifi calling wasn't pulled forward from it I'll have a package for that sometime soon anyway.
I also never did get a chance to check what the gps changes were I remember being in it.
Edit:
Link to Gtalk flashable zip package from that update.
Sent from my Bulletproof_Doubleshot using xda premium
nlarge said:
I could send you my recovery if you have the ability to flash
rooted 1.55.531.3 with clockwork recovery and SU
Click to expand...
Click to collapse
Do you have the stock rom for 1.55.531.3 that I can flash on my mt4gs? I would really appreciate it
http://forum.xda-developers.com/showthread.php?t=1484679
http://forum.xda-developers.com/showthread.php?t=1433805
It would be flashed as if restoring a nandroid. I would flash the above link. If you really want it I can send it
rooted 1.55.531.3 with clockwork recovery and SU
Thanks. Okay, this is where I am:
Unlocked bootloader with htcdev
s-on
hboot 1.45.0013
software 1.55.531.3
Would like to achieve root so that I can flash custom roms/use titanium backup. From what I can tell, nlarge was able to accomplish this. (http://forum.xda-developers.com/showthread.php?t=1474933&page=6). However, couldn't post on that thread because I have less than 10 posts....sorry.
Cannot use temproot (FR3VO) method because says needs s-off and/or adb mount issue:
An error occurred while running the exploit (-1) (errno: 22)
c:\Android>adb wait-for-device
c:\Android>adb remount
remount failed: Operation not permitted
c:\Android>adb shell mount -o rw,remount rootfs /
mount: Operation not permitted
c:\Android>adb shell mount -oremount,suid /dev/block/mmcblk0p23 /data
mount: Operation not permitted
c:\Android>adb shell mkdir /vendor/bin
mkdir failed for /vendor/bin, Read-only file system
c:\Android>adb shell chown root.shell /vendor/bin
Unable to chmod /vendor/bin: No such file or directory
c:\Android>adb shell chmod 755 /vendor/bin
Unable to chmod /vendor/bin: No such file or directory
c:\Android>adb push ./sqlite3 /vendor/bin
cannot stat './sqlite3': No such file or directory
c:\Android>adb push ./su /vendor/bin
cannot stat './su': No such file or directory
c:\Android>adb push ./busybox /vendor/bin
cannot stat './busybox': No such file or directory
c:\Android>adb shell chown root.shell /vendor/bin/su
Unable to chmod /vendor/bin/su: No such file or directory
c:\Android>adb shell chown root.shell /vendor/bin/busybox
Unable to chmod /vendor/bin/busybox: No such file or directory
c:\Android>adb shell chown root.shell /vendor/bin/sqlite3
Unable to chmod /vendor/bin/sqlite3: No such file or directory
c:\Android>adb shell chmod 6555 /vendor/bin/su
Unable to chmod /vendor/bin/su: No such file or directory
c:\Android>adb shell chmod 4555 /vendor/bin/busybox
Unable to chmod /vendor/bin/busybox: No such file or directory
c:\Android>adb shell chmod 755 /vendor/bin/sqlite3
Unable to chmod /vendor/bin/sqlite3: No such file or directory
c:\Android>adb shell busybox --install -s /vendor/bin
busybox: permission denied
c:\Android>adb shell sync
c:\Android>adb shell chmod 6555 /vendor/bin
Unable to chmod /vendor/bin: No such file or directory
c:\Android>adb install ./Superuser.apk
can't find './Superuser.apk' to install
c:\Android>pause
Press any key to continue . . .
So, I understand, permission denied/operation not permitted, I assume because I don't have root.
When I look at superuser, it says "su binary voutdated" and when I tap to check for updates, automatic update fails and error message "su was not updated. A zip file (su-2.3.1-bin-signed.zip) has been placed on your sdcard, please reboot into recovery mode and flash it to update your su binary.
Can't boot into recovery mode, phone just sits on mytouch 4g slide screen. Again, I assume because no root. Same thing happens if I try to factory reset, just stays on the mytouch 4g slide screen.
Anyone have any suggestions? I am going crazy trying to get this phone to work. I would really appreciate the help!
Flash clock work recovery... I think I linked it somewhere... Or Google will help
rooted 1.55.531.3 with clockwork recovery and SU
Now find yourself a nice recovery image (CWM), boot phone into fastboot mode, "fastboot flash recovery recovery.img".
When this is done you will have a free and open recovery image, and can use that to write/install the su binary and apk (either with flashable zip or through adb shell, either will work).
rooted 1.55.531.3 with clockwork recovery and SU
nlarge said:
Now find yourself a nice recovery image (CWM), boot phone into fastboot mode, "fastboot flash recovery recovery.img".
When this is done you will have a free and open recovery image, and can use that to write/install the su binary and apk (either with flashable zip or through adb shell, either will work).
rooted 1.55.531.3 with clockwork recovery and SU
Click to expand...
Click to collapse
Have tried flashing new and old versions of cwr and the earlier links from blue with no luck. Trying to do it manually through the computer with fastboot, results in 'waiting for device' message. All drivers installed, usb debug, have tried charge only/mount as disk drive options. Neither work. Have tried flashing manually by converting .img to .zip without compression and flashing through phone. No error message but nothing changes.
Cannot use cwm to flash because not error message says not rooted. Not sure what else to do. BTW, you guys are awesome for helping me out Thanks!
Put your phone in fastboot. Pull battery, hold down and power then try again
rooted 1.55.531.3 with clockwork recovery and SU
How to fastboot flash recovery
Return to Contents Page - doubleshot Developers Reference
Boltinghouse said:
Have tried flashing new and old versions of cwr and the earlier links from blue with no luck. Trying to do it manually through the computer with fastboot, results in 'waiting for device' message. All drivers installed, usb debug, have tried charge only/mount as disk drive options. Neither work. Have tried flashing manually by converting .img to .zip without compression and flashing through phone. No error message but nothing changes.
Cannot use cwm to flash because not error message says not rooted. Not sure what else to do. BTW, you guys are awesome for helping me out Thanks!
Click to expand...
Click to collapse
(hah, thanked but meant to hit quote)
What you need to do is go here: http://clockworkmod.com/rommanager
Scroll down the list and find the recovery for our device (5.0.2.7 for the myTouch 4G Slide) - download this.
Put it in the same folder as 'fastboot.exe' on your computer. Rename it to recovery.img
On your phone, turn off 'fastboot' in power options.
Power off the phone.
Now, give it a minute to power off - then hold the volume down button and press power.
Now it will boot up to the hboot menu. The list presented will have you highlighted on the word 'fastboot' - press power to choose this.
Now you are presented with the fastboot menu. It should say fastboot with a red highlight around it near the top.
At this time you should plug the USB cord from your computer into the phone. It will update to say fastboot USB in red highlight now.
-okay-
We have the phone booted up in fastboot, attached to the computer, and ready to work with.
Open up your command prompt, and navigate to the folder where you have the fastboot command. This is the same folder that you have the new clockworkmod recovery.img in from before.
In your terminal now type:
Code:
fastboot devices
This will come back with your device, serial number, and show you it is connected and ready to go. (if it is not something is wrong)
Now type:
Code:
fastboot flash recovery recovery.img
Let's break this down:
fastboot = activates the fastboot.exe command, and says that what's typed next uses the definitions in that fastboot.exe file.
flash = command that says write to
recovery = destination (name of partition) being written to
recovery.img = file written to previously defined location.
----
Since you have the new clockworkmod recovery file in the same folder as fastboot.exe, and you renamed it to recovery.img, then the previously shown command will overwrite your stock recovery with the new image you are providing it.
At this point you should have clockworkmod recovery in place of your stock recovery when you boot the device to hboot menu and select recovery.
Let us know if you have any other problems.
Good explanation blue.... It sounded like he knew what he was doing, hence my quick correction...
Hate typing a lot out from phone!
rooted 1.55.531.3 with clockwork recovery and SU
OMG! Thats awesome. FINALLY ROOTED!!!!! yay! So happy. Thank you guys so much. nlarge and blue, you two are the best!
Thanks again
~Brandi~
Oops... Sorry I called you a he...LOL... Most of us nerds are guys
We help where we can
Boltinghouse said:
OMG! Thats awesome. FINALLY ROOTED!!!!! yay! So happy. Thank you guys so much. nlarge and blue, you two are the best!
Thanks again
~Brandi~
Click to expand...
Click to collapse
rooted 1.55.531.3 with clockwork recovery and SU
nlarge said:
Oops... Sorry I called you a he...LOL... Most of us nerds are guys
We help where we can
rooted 1.55.531.3 with clockwork recovery and SU
Click to expand...
Click to collapse
It's all good, I know being a chick I'm in the minority here. Either way, thank you so much.
So it looks like both nlarge and boltinghouse rooted s-on phones. Is there any reason not to go ahead and root that way? Is there any reason you need/want s-off?
it depends on what you want to do with your phone...
If you just want to be able to make recovery and flash ROMS than you dont need s-off
If you want to play with other stuff(radios and mounts) then you need s-off.
I personally like doing things to my phone so I would like to get to s-off. I am ok with it for now, but S-off will give me the full control I want.
qwerty3656 said:
So it looks like both nlarge and boltinghouse rooted s-on phones. Is there any reason not to go ahead and root that way? Is there any reason you need/want s-off?
Click to expand...
Click to collapse
Trying to install GFE on a previously rooted but now unrooted phone. It's failing because it thinks I'm still rooted.
I have unrooted, removed Superuser (the apk and from the App list), etc.
What the hell is it finding?
Maybe su or busybox in the xbin folder?
wewoapsiak said:
Maybe su or busybox in the xbin folder?
Click to expand...
Click to collapse
Yes. They are both there. But how do I get rid of them now that I'm not rooted? ADB shell errors out with read only file system. If I re-root and delete them, then how do I make the file system read only again?
Also, do I need to get rid of /system/bin/su or is that part of stock Android?
Thanks so much for any help.
So all you did was delete the .apk? Download Super 1-click, re-root, then use it to unroot.
http://forum.xda-developers.com/showthread.php?t=803682
wewoapsiak said:
So all you did was delete the .apk? Download Super 1-click, re-root, then use it to unroot.
http://forum.xda-developers.com/showthread.php?t=803682
Click to expand...
Click to collapse
I rooted by flashing the update.zip and then unrooted by removing the Superuser app and then changing the file system to read only.
I thought SuperOneClick only worked with FroYo on the G2X and not with Gingerbread.
Success!!!!!!!! Many thanks to jboxer and others that pointed me in the right direction.
Here's what you need to do for anyone else facing this issue:
1. Boot into Clockwordmod Recovery and then connect your phone to the computer. CWM Recovery will be seen on ADB with root permissions.
2. Before issuing the following commands, after your phone is connected, use the menu in CWM Recovery to mount the system. If you don't mount the system you are seeing CWM's mini Android system and not the phone's.
3. Issue the following commands from your computer:
#adb uninstall com.noshufou.android.su
#adb shell rm /system/app/Superuser.apk
#adb shell rm /system/bin/su
#adb shell rm /system/xbin/su
#adb shell rm /data/local/tmp/psneuter
#adb shell "find /system/xbin -type l | xargs rm"
#adb shell rm /system/xbin/busybox
4. Use the CWM Recovery menu to unmount system.
5. Reboot your phone.
Before you attempt to re-run the Good setup, check one last time to make sure that su is gone from /system/bin and /system/xbin and that Superuser does not show up either in your Apps or when you go to Settings->Manage Apps. If any of this is still present you need to redo what is written above as the Good setup will fail.
I also recommend doing a Nandroid before unrooting, a second Nandroid after unrooting but before installing Good, and then a third Nandroid immediately after successfully installing Good.
Hi,
Today I've unlocked, flashed Paul's CWM recovery, and then rooted my HTC One S.
I've installed SU and Busybox but Titanium Backup still says it couldn't get root privileges. What am I doing wrong?
reupugi
try to update the binarys in SU
if that fails re flash the root.zip file
happened to me yesterday
Thanx for the quick answer.
When I try to update the su binarys it fails saying it "failed to find currently installed su binery...
What does that mean?
uninstall and reinstall the SU app
or reflash the root file as this is supposed to install SU on your device
Well, last night I spent hours trying to uninstall and reinstall su. I've also flashed Paul's root twice but still no luck.. I've tried to install busybox with two different apps but still no luck... Is there any way to roll back everything and start over?
you need to flash the su through cwm. then you can update the app's. You can not just download a app and think that it will root the phone. Look at step 3.
http://forum.xda-developers.com/showpost.php?p=24478083&postcount=1
So I encountered a similar problem (https://github.com/ChainsDD/Superuser/issues/46).
Edit: Of-course it'd make more sense to confirm if this could be the problem first...
Code:
$ adb pull /system/framework/framework.odex
$ strings framework.odex | grep HtcIntentFlag
@test_code: getHtcIntentFlag:
@test_code: setHtcIntentFlag:
addHtcIntentFlag
getHtcIntentFlag
setHtcIntentFlag
I patched the su binary in accordance with the change I observed in the framework and that works for me.
Could the OP please try the following su binary:-
* http://revolutionary.io/one-s/su (md5sum: 83fdeaef210225d7361e6c8eb63bae96)
This will need to pushed from recovery, something like (after ensuring /system is mounted):-
Code:
$ adb push su /system/bin/su
$ adb shell chown root /system/bin/su
$ adb shell chgrp root /system/bin/su
$ adb shell chmod 6755 /system/bin/su
(You can obviously push to xbin/ if you have the appropriate symlink set-up in bin/, etc...etc...)
zylith said:
you need to flash the su through cwm. then you can update the app's. You can not just download a app and think that it will root the phone. Look at step 3.
http://forum.xda-developers.com/showpost.php?p=24478083&postcount=1
Click to expand...
Click to collapse
I've flashed su through Paul's cwm, following steps 1,2 and 3. I did have a problem entering bootloader through shutting sown - power+vol down. For some reason that didn't work, numerous times, so I got into the bootloader through terminal (mac) and command prompt (win 7).