Related
Hi, I posted a similar question about this under the OneRoot thread, but I don't see a lot of activity there anymore, so I was hoping to get more responses in a separate thread. I've scoured this forum and everywhere else on the Net and I haven't seen anyone experience this same issue. Hopefully someone will understand the problem and have some idea how to rectify it.
So, I have an AT&T Samgsung Captivate with the stock 2.1 Android "Eclair" build on it. I do believe there was an AT&T issued OTA update for it not long ago that put the build number up to UCJH7. I followed the instructions for TGA_Gunnman's One Click Root/UnRoot method documented here. Everything seems to work fine, in terms of booting into the recovery mode and selecting the update file. After the phone reboots, however, I do not see the Superuser Permissions app with ninja icon in my Applications area. If I browse the directory tree in my internal SD card in /system/apps, I do see a SuperUser.apk file. However, clicking on that shows me the message "Install blocked: For security, your phone is set to block installation of applications not sourced in Android Market." So it appears that rooting procedure worked, all the necessary parts were installed, but I don't have permission to execute su. I see that the xbin folder has been created, and it does contain busybox, su and something called ipctool. Also, a link does exist in /system/bin between su and /syste/xbin/su. If I use the Terminal Emulator and type "su", the prompt sits there for 10 seconds and says "permission denied".
Any ideas on what could be preventing me from gaining superuser access here?
Thanks for your help,
Mike
Download and install "SuperUser" from the Android market
OK, so here is another strange thing about this. This doesn't seem like it'd be related to my original su permission problem, but you never know. I decided to try to un-root using the one click method. Now, during the un-root script, I see the adb daemon start, but it fails on the push command writing unroot.zip to update.zip in the /sdcard folder; it says that permission is denied!. Of course, after booting into recovery, applying the update file fails, as it wasn't found in /sdcard. I'm not sure how this could have happened, as the root script was able to push the root.zip to sdcard just fine initially. Now, after I open a shell against my phone using adb, I check the permissions for the sdcard folder, and this yields rwxrwxr-x. I'm not sure, but I believe there should be another w flag set for other on sdcard. How the heck could that have been cleared?
It does look like I can copy the update.zip to sdcard manually through Windows Explorer and just manually boot into recovery using volume up + down + power, so I'm not completely dead in the water. Yet, I'd like to fix the permissions for sdcard, or else I can no longer use the one-click method.
id10terror said:
Download and install "SuperUser" from the Android market
Click to expand...
Click to collapse
Thanks for advice. I will definitely try this, but I did not see this step listed in the oneclick root method? I do see an .apk file for SuperUser in /system/apps, so it seems like the app is already resident. The problem is that it doesn't show up in my main application area on the phone, and I can't run the app; it says it is blocked.
Even if there was a superuser app in the market, wouldn't I need to enable sideloading to get it (which AFAIK need root access)?
Again, thanks for the advice, I appreciate you taking the time to help.
Mods please move to Q&A
Try adb root before adb push
Sent from my SAMSUNG-SGH-I897 using XDA App
mskelton said:
Thanks for advice. I will definitely try this, but I did not see this step listed in the oneclick root method? I do see an .apk file for SuperUser in /system/apps, so it seems like the app is already resident. The problem is that it doesn't show up in my main application area on the phone, and I can't run the app; it says it is blocked.
Even if there was a superuser app in the market, wouldn't I need to enable sideloading to get it (which AFAIK need root access)?
Again, thanks for the advice, I appreciate you taking the time to help.
Click to expand...
Click to collapse
Its blocked BC u are trying to install it, not run it. Read that error message again.
What happens if you open ROM manager and try to flash clockwork recovery? Or load titanium backup?
End points are HIGHLY important, and if you read your post carefully, you have not yet demonstrated that superuser access is broken, only the icon from which you inferred it is broken. Let me know then we can go from there
Sent from my SAMSUNG-SGH-I897 using XDA App
fatttire said:
Mods please move to Q&A
Try adb root before adb push
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
Thanks, that was one of the first things I tried last night, but that did not work.
fatttire said:
Its blocked BC u are trying to install it, not run it. Read that error message again.
What happens if you open ROM manager and try to flash clockwork recovery? Or load titanium backup?
Sent from my SAMSUNG-SGH-I897 using XDA App
Click to expand...
Click to collapse
Yeah, you're right, now that I see that error message, I guess it is trying to install it. That's odd, because I thought that the oneclick method would have already installed this app during the recovery boot load?
Regarding ROM manager, funny you should ask, that was the entire genesis of why I'm trying to root, so I can backup my phone and install the custom ROMs. After I installed ROM manager and tried to run it was where I initially noticed I must not have root access. When I try to flash clockwork recovery, the app hangs for (oddly enough) around 10 seconds. I never see any prompt for granting root access to clockwork recovery, nor does it boot into the recovery mode.
Okay I have another idea.
If your goal is to simply make a backup to flash a ROM, try this:
1. Download Cog 2.3b6. Other ROMs may have the file I'm looking for but I know it is here. Also you may be able to search and find this file directly but I'm too lazy to find the link for you lol
2. Open the zip file on your computer and extract /sdcard/update.zip
3. Adb push update.zip /sdcard/update.zip
4. Reboot recovery, reinstall packages, you are in clockwork recovery and can back up your ROM.
Sent from my SAMSUNG-SGH-I897 using XDA App
I'd like to try that, except that it appears there is some type of permission snafu on /sdcard. I believe the permissions on that folder *should* be 777, but it is 775 (other has no write access) for some odd reason, and I have no clue how that happened. Hence, when adb tries to push the update.zip to the internal SD folder, it gets permission denied. As I mentioned, not sure if this is related to not being able to execute su, but it is strange nonetheless.
Guys, please disregard what I mentioned earlier about adb and not being able to push the root/unroot.zip to /sdcard. I'm a moron, and I had left the internal SD card mounted to Windows after connecting the phone via USB. Clearly for adb to push/pull off of /sdcard, the internal SD card must *not* be mounted by Windows. My mistake, sorry for the confusion.
The original theme of the thread is still unanswered though, which is how the one-click root could have worked and not installed the SuperUser app onto my phone.
I will try the recommendation earlier in the thread, to download and install the SuperUser app from Android Market to see if that fixes things.
OK, so I downloaded and installed the SuperUser app from the Market, and for whatever reason, this seems to have addressed the issue. I am now prompted to allow applications root privileges. I'm not sure why this was necessary or how it fixed things, perhaps because it overwrote the version of su that was on my phone with a newer one. In any case, it's working.
One click root after update: "We have root, but couldn't push busybox. Not sure why!"
I just updated .890 which seemed to go fine with no errors (unfroze all bloat, but did not unroot), but I lost root, as expected.. but when I use Pete's one-click root tool (latest version), it gets to step 3 and gives me the error about not being able to push busybox...!? It says I "have root", but none of my apps recognize it.. I've pulled the battery, rebooted and retried like 10 times... still can't get it to re-root. I've made sure Debugging and Unknown Sources is enabled and tried in Charge Mode and Mass Storage mode... Am I going to have to stock flash this thing and re-update & re-root?
I THINK I have some type of root.. maybe... because Root Explorer will let me mount the System directory as R/W and I can TRY to manipulate files, but if I delete something (like su), it appears to delete successfully, but the file comes back if I refresh the directory.. but I also noticed when I go into the System directory, Root Explorer claims I only have 1MB of free space out of 318.00MB... how did that happen? If I try to run Superuser.apk, it force closes on me.
Any help or ideas are greatly appreciated...
there's an app on the android market that will push busybox if you have root. I'd look into that
edit: have you attempted to run the one-click root again? and if that doesn't work you can try to use the adb method if you're comfortable with it. And make sure that all of your drivers and everything are up-to-date
I have done battery pulls and like a dozen+ re-tries at the 1-click root, always get the same error.. I have been into the ADB shell to try and figure this out and I see the ADB Shell starts out by giving me a # prompt... that means writable/root, right? Any instructions on what I have to do from there?
I will look into that push busybox app, thanks.
http://wiki.rootzwiki.com/index.php/Motorola_Droid_3
This is where all the info about the adb and one-click stuff. The tough part about the adb method is manually pushing su to the (i think) system/xbin folder. Then i just used the app on the marketplace to push busybox. But there's a download link for both of those on the website
Thanks for the links. I think a problem with my ADB is when I reboot it (step 3), I no longer have a # prompt.. it goes back to the $ prompt... the only way I can seem to get the # prompt in ADB is when I use Pete's temporary ADB root... but once I reboot, that goes away. When I try to do step 4, rm /data/local/12m, it says it's a directory and it's not empty and it won't remove it. :\
How do I normally make ADB give me that # prompt so I can write/edit? or am I totally off-base here?..
*edit* I am going to try and do Pete's temp ADB root again and just try steps 18+ and see if that gets me anywhere...
Kraxis said:
Thanks for the links. I think a problem with my ADB is when I reboot it (step 3), I no longer have a # prompt.. it goes back to the $ prompt... the only way I can seem to get the # prompt in ADB is when I use Pete's temporary ADB root... but once I reboot, that goes away. When I try to do step 4, rm /data/local/12m, it says it's a directory and it's not empty and it won't remove it. :\
How do I normally make ADB give me that # prompt so I can write/edit? or am I totally off-base here?..
*edit* I am going to try and do Pete's temp ADB root again and just try steps 18+ and see if that gets me anywhere...
Click to expand...
Click to collapse
After temp ADB root, steps 18 and beyond should do it. You may want to check /system/bin and /system/xbin to remove the old su binaries before pushing the new one. Some folks have one in each location for some reason. Put it in xbin, but if it doesn't work, /system/bin will. Superuser wouldn't recognize xbin for me so I moved it to /system/bin and i'm good since.
Anyone have a thought on the xbin not always working? I think this is the 3rd topic i've seen with this issue, not including myself.
Sent from my DROID3 using XDA App
OK, I got root back! I used steps 18+ for "ADB Method" (after using Pete's temp ADB root) and essentially replaced SU and Superuser.apk, CHMOD'd it rebooted and I had root! Thanks guys!!
I had Emanon's ROM on it for a while, but it just came crashing down so I flashed CM7.2... boots a lot faster, seems a bit more stable.
But I used to have full access, and now I don't. How do I get it back? I just want to switch out the bootanimation.zip.
Came across this:
status_six said:
Hi there, you need to have s-off (aka security off or full root) to write to /system and /data with the device booted, i.e. using root explorer etc.
You can also do it with s-on, but you have to to that with your PC via cmd prompt and adb shell which is less convenient.
Great guide to getting s-off here, took me <10 mins!
http://forum.xda-developers.com/showthread.php?t=794314
Click to expand...
Click to collapse
I've just finished mucking around with a HTC, so I'm a bit confused, but I gather there's no fastboot mode on the Mini, so I can't see how I can access the phone's flash from the PC without using the ADB shell...
And I'm not sure s-on/off is even relevant to the Mini... halp!
Okay, I was able to do it with Absolute System; must have missed the SU prompt or suffered a system glitch when I was installing ES File Explorer.
Anyone know how I can grant SU privileges to ES?
Kimmoth said:
Okay, I was able to do it with Absolute System; must have missed the SU prompt or suffered a system glitch when I was installing ES File Explorer.
Anyone know how I can grant SU privileges to ES?
Click to expand...
Click to collapse
Go to the su app and grant the permission for ES
you are coming from HTC so I am clearing some points some of them are of-topic
no fastboot instead download mode
bootloaders are not locked so no s-on no s-off in Samsung devices
use Odin multidownloader to flash firmware through PC
never use rom manager on this mobile, else a brick will be waiting for you
galaxy mini is easily root able
just flash an update.zip in recovery and you will be rooted
after root to change something in system
type mount -o remount,rw /system then do whatever you want to
stock rom cannot be backed up with the help of cwm
Update:
Holy crap, I just thought of something like, way stupid simple.
Just update Su before updating to 4.1. Then simply use OTA Rootkeeper like normal.
Again, I sincerely apologize for not realizing this sooner, and wasting a lot of time.
I guess I'll keep this guide here for people who forgot to update su before updating. Sorry guys.
---------------------------------------------------------------------------------------------------------------------
You might want to read this all the way through, THEN do the steps. Good Luck.
Remember to have Unknown Sources enabled.
First off, you're going to need to start off with ICS, rooted. Thats a pretty straight forward process, and can be accomplished totally with the AHD Utility (Here). Go ahead and install OTA Root keeper, we're going to need that.
After Root Keeper is installed, locate it with your favorite file manager, I prefer Root Explorer, but anything that can mount with r/w is great. It's going to be in /data/app. Copy the APK to /system/app and install it. Do this exact same thing with your file manager's APK. This way, they wont be uninstalled when we update to 4.1.
Run OTA Rootkeeper. Backup Su, and temp unroot. From here, you can upgrade to 4.1 without losing your essentials by using stock recovery to flash the 4.1 zip.
So that's finished, you're now in Jelly Bean and you decide not to read the rest of this because you think "oh i know where this is going, I flashed roms back on the atrix 4G all the time, im a PRO at this phone stuff" and you've restored root with Rootkeeper, and you're like "wat the heck, i dont have root, lying tutorial". Have no fear, we're not done yet.
In JB, open Rootkeeper and restore root from backup.
Now go update the Superuser app from Google Play (Anyone else ever call it Market still?)
Ok, almost done. If you were to go in to Superuser and update the binary, it would not work (I don't have an explanation for why, it just says Root failed. Probably since we're not actually rooted (but we have su so wtf mate)) So what we're going to need to do is go download the binary here from androidsu.com.
Extract the su binary from the zip and put it on your SD card. On your phone, using that trusty File explorer from earlier, mount the fs as r/w and put su in /system/bin. Make sure permissions are all checked EXCEPT Group Write and Others write. (I don't know if it makes a difference, but I don't want to mislead you.)
Alternatively, you can use ADB. Mount the file system as r/w on the phone. Put su on the root of your hard drive, and use " adb push c:/su /system/bin "
Then it's done. Test root from adb with " adb shell su " and from the phone by using any root app, or typing "su" in terminal emulator. Or just root checker.
Thanks for making this so easy! Updated to JB without losing anything. However, I hit a snag. Everything was okay until I tried to update su.bin via ES File Explorer. I couldn't write to system/bin, and couldn't get the app to gain root access again. Now I'm stuck with no root... Can I adb the file in, or somehow write to system/bin? Or will I have to do this all over again? I just really don't want to lose any settings.
doublea70 said:
Thanks for making this so easy! Updated to JB without losing anything. However, I hit a snag. Everything was okay until I tried to update su.bin via ES File Explorer. I couldn't write to system/bin, and couldn't get the app to gain root access again. Now I'm stuck with no root... Can I adb the file in, or somehow write to system/bin? Or will I have to do this all over again? I just really don't want to lose any settings.
Click to expand...
Click to collapse
Yes. The un-updated version of Su should be enough to give ADB root, so you can use ADB to remount the filesystem with r/w, then push the new su.
For future readers who don't know:
First, navigate to ADB in the terminal of your choice (Command Prompt on Windows, Terminal on Linux/OS X. I'll be using Windows.)
Do this by typing
Code:
cd /your directory ADB is in/
In my case, it now says "C:/Users/MyName/Desktop/ADB" because I keep ADB on my desktop like a silly person.
Now, remount your filesystem in ADB with read/write access. The command is
Code:
adb shell su mount /system rw
Now, we can push that new SU binary with ease, with
Code:
adb push c:/The_Directory_you_keep_su_in/ /system/bin
In my case, It was just "adb push c:/su /system/bin" because I keep files I want to push on the root of my hard drive, like a silly person.
Now, switch system back to read only with
Code:
adb shell su mount /system ro
All done, use Superuser app to Check for updates. It should say you're up to date, and if you update anyway, it'll do it without failing.
Is there another method to this? I have this problem idk why it says I have root saved but it won't let me restore? I don't have computer access and my root keeper says I have root?
Sent from my MB886 using Tapatalk 2
Gaining root access... fail!
ripin150 said:
Update:
Holy crap, I just thought of something like, way stupid simple.
Just update Su before updating to 4.1. Then simply use OTA Rootkeeper like normal.
Again, I sincerely apologize for not realizing this sooner, and wasting a lot of time.
I guess I'll keep this guide here for people who forgot to update su before updating. Sorry guys.
---------------------------------------------------------------------------------------------------------------------
You might want to read this all the way through, THEN do the steps. Good Luck.
Remember to have Unknown Sources enabled.
First off, you're going to need to start off with ICS, rooted. Thats a pretty straight forward process, and can be accomplished totally with the AHD Utility (Here). Go ahead and install OTA Root keeper, we're going to need that.
After Root Keeper is installed, locate it with your favorite file manager, I prefer Root Explorer, but anything that can mount with r/w is great. It's going to be in /data/app. Copy the APK to /system/app and install it. Do this exact same thing with your file manager's APK. This way, they wont be uninstalled when we update to 4.1.
Run OTA Rootkeeper. Backup Su, and temp unroot. From here, you can upgrade to 4.1 without losing your essentials by using stock recovery to flash the 4.1 zip.
So that's finished, you're now in Jelly Bean and you decide not to read the rest of this because you think "oh i know where this is going, I flashed roms back on the atrix 4G all the time, im a PRO at this phone stuff" and you've restored root with Rootkeeper, and you're like "wat the heck, i dont have root, lying tutorial". Have no fear, we're not done yet.
In JB, open Rootkeeper and restore root from backup.
Now go update the Superuser app from Google Play (Anyone else ever call it Market still?)
Ok, almost done. If you were to go in to Superuser and update the binary, it would not work (I don't have an explanation for why, it just says Root failed. Probably since we're not actually rooted (but we have su so wtf mate)) So what we're going to need to do is go download the binary here from androidsu.com.
Extract the su binary from the zip and put it on your SD card. On your phone, using that trusty File explorer from earlier, mount the fs as r/w and put su in /system/bin. Make sure permissions are all checked EXCEPT Group Write and Others write. (I don't know if it makes a difference, but I don't want to mislead you.)
Alternatively, you can use ADB. Mount the file system as r/w on the phone. Put su on the root of your hard drive, and use " adb push c:/su /system/bin "
Then it's done. Test root from adb with " adb shell su " and from the phone by using any root app, or typing "su" in terminal emulator. Or just root checker.
Click to expand...
Click to collapse
After following all the steps. When i install root checker, it is telling me i don't have root.
Below is what i got back from superuser:
Su Binary Updater
Downloading Manifest... Okay!
Parsing manifest.. Okay!
Latest version = 3.1.1
Checking installed version = 3.1.1
Upacking sutools... okay!
Checking current install path.. /system/bin/su
Downloding new binary.. okay!
Gaining root access... fail!
Any idea to help?
Yesterday I installed Windows XP on my PC, cause I couldn't install phone drivers on 8.1. I downloaded Odin for S5830 and flashed a Polish 2.3.6 ROM (from updato.com) over the existing 2.1. Next I flashed 5.0.2.6 fix CWM. Then I realized, that to root my phone I need to have a stock recovery, so I flashed it and then rooted with root.zip. I ran the phone to look if there's a superuser app and there was, so I flashed the CWM back. When I wanted to upgrade the CWM (to flash custom ROMs) via terminal, I typed 'su' and it said that I don't have root access, so I installed an app to see if I have root and it said, that I don't. I tried everything to root my phone. I flashed the ROM again, did a factory reset. Every time I tried to root, it was like it's rooted but not or it failed to root. What I did wrong?
My guess is that the root.zip didn't install the su binary correctly(E.g. into the wrong path so that the vendor su binary is still called).
To verify that, you could try(from the terminal):
echo $PATH
That should show you a ":" seperated list of paths in which the shell(The thing running in the Terminal) looks for a binary.
You'd now need to go through every path in this list, and check for a su binary. If you find one, run it. For example:
ls /example/path/su
If this finds a file(indicated by it showing the filename, su), run it:
/example/path/su
If you find more than one su binary, chances are that one of them will work. If you don't find any su binary, the root.zip probably wasn't able to remount rw.
If you're a little more advanced, you could try rooting your phone manually(I needed to to this yesterday because I'm on linux):
Download SuperOneClick 2.3. The .zip contains a folder called exploits. These programs initially get you the root permissions. To use them, adb push them to /data/local/tmp (Because you have write and execute permissions there), and execute them. They either directly drop you to a root shell or restart the adbd with root permissions. Either way, you can then remount /system and copy the su binary from the SuperOneClick to your /system/bin and set the correct permissions. I can't really recommend this method unless you know what you're doing though.
Good luck!