Related
Question: Is your Superuser app asking for permissions from apps? Mine isn't. On my old rooted Eris, if I ran an app such as Titanium Backup or Root Explorer, I would get a dialog which would ask if I wanted to grant that app root access. This dialog was via the Superuser app. I don't get that now. It seems like any/every app on my phone has su access.
I'm wondering if it's just me or if this is the way the current root exploit works.
DeezNotes said:
Question: Is your Superuser app asking for permissions from apps? Mine isn't. On my old rooted Eris, if I ran an app such as Titanium Backup or Root Explorer, I would get a dialog which would ask if I wanted to grant that app root access. This dialog was via the Superuser app. I don't get that now. It seems like any/every app on my phone has su access.
I'm wondering if it's just me or if this is the way the current root exploit works.
Click to expand...
Click to collapse
It's just you. Try running root explorer or a screen cap program, and verify that you have root access. You may want to use an updated Superuser.apk too, I know the one I'm using (2.3.6.1) asks, (unless I told it not too).
I'm using Superuser 2.3.6.1. When I run Titanium or Root Explorer, everything works without prompting. Now, I'm concerned.
UPDATE: I opened Superuser, went to settings, scrolled to the bottom and updated the su binary. Now, I get prompted when an app needs access. Problem is, when I reboot the su binary is reset. I think this is due to me using the joeykrim root procedure, which uses a version of su that is scripted to be put in place during the boot process. I'm going to take a look at his scripts and change them so I can keep the su binary installed by the Superuser.apk.
Thanks for the info.
Confirmed my issue was due to using the joeykrim method. I backed out his procedure and used Dirrk's method (posted here: http://forum.xda-developers.com/showthread.php?t=779238) and I get a proper Superuser prompt when an application needs access.
I also noticed another flaw in the joeykrim method. Since his procedure was developed for the Epic, he has some incorrect file names in some places.
If you notice in his instructions where he says use playlogos1 instead of playlogos, this is not updated in all of his steps.
To get your boot screen back, you have to change the last line of playlogos1 or playlogosnow (based on whether you did the lag fix or not)
The file that will not show your boot animation will look like this:
Code:
#!/system/bin/sh
#joeykrim-SDX sdx-developers.com scripted
/system/bin/joeykrim-root.sh
/system/bin/playlogo-orig
To fix it, change the last line to read:
Code:
#!/system/bin/sh
#joeykrim-SDX sdx-developers.com scripted
/system/bin/joeykrim-root.sh
/system/bin/playlogos1-orig
In summary, the playlogos1 file is used to execute other startup scripts. The original playlogos1 file has the boot animation in it. It must be referenced in one of the startup scripts. Since these instructions were used for the Epic, there's a slight typo which keeps the original playlogos1 file from being executed.
Thanks--I came to the forums looking for a solution to the fact that my boot animation was now missing. I tried making your changes but I still can't seem to recover it. Here are what my playlogo scripts look like, keeping in mind I have also installed the lag fix:
playlogos1
Code:
#!/system/bin/sh
sh /system/bin/userinit.sh
playlogosnow
playlogosnow
Code:
#!/system/bin/sh
#joeykrim-SDX sdx-developers.com scripted
/system/bin/joeykrim-root.sh
/system/bin/playlogos1-orig
I'll also have a 3rd file called just playlogo (which was very long). Do you know what the issue is? Thanks so much for your help.
theicemonkey said:
Thanks--I came to the forums looking for a solution to the fact that my boot animation was now missing. I tried making your changes but I still can't seem to recover it. Here are what my playlogo scripts look like, keeping in mind I have also installed the lag fix:
playlogos1
Code:
#!/system/bin/sh
sh /system/bin/userinit.sh
playlogosnow
playlogosnow
Code:
#!/system/bin/sh
#joeykrim-SDX sdx-developers.com scripted
/system/bin/joeykrim-root.sh
/system/bin/playlogos1-orig
I'll also have a 3rd file called just playlogo (which was very long). Do you know what the issue is? Thanks so much for your help.
Click to expand...
Click to collapse
Judging by what your files look like, things should work. The original file is playlogos1. We never touch the playlogo file from what I can remember, so let's not do anything there.
What I would do is make sure the permissions are straight on all the files listed above (primarily playlogos1). They should be 755 (shown below):
Code:
# cd /system/bin
# ls -l playl*
-rwxr-xr-x root shell 10060 2010-08-12 04:30 playlogo
-rwxr-xr-x root root 106 2010-09-11 18:53 playlogos1
-rwxr-xr-x root root 177 2010-09-11 18:55 playlogos1-lagfix
-rwxr-xr-x root shell 14420 2010-08-12 12:30 playlogos1-orig
-rwxr-xr-x root shell 14204 2010-08-12 04:30 playlpm
#
If all else fails, you can always grab the original file from the system dump off of this link: http://forum.androidcentral.com/fascinate-roms-hacks/32839-fascinate-system-dump.html
DEAR GOD
Well, I'm an idiot.
I tried to take the playlogos1 file from the dump you showed me and copy it to my /system/bin file and, sure enough, I got the boot animation back. Problem is, I didn't think it through (that the edited playlogos1 file pointed to the rest of the modified boot sequence) and then the phone wouldn't boot. It would just loop the animations.
I booted into recovery, did a factory reset, and now I can get to the lockscreen and the very beginning of setup but TWLauncher force closes over and over and over and I'm unable to do anything except pull down the notification bar occasionally. I think this is because I moved some things (like bing, daily briefing, etc.) that TWLauncher wants at the outset, and it doesn't have them. I tried to bluetooth over LauncherPro and run it, but it fails at the last moment.
Does anyone know of a way to get to ADB Shell so that I can fix my mistake? Or if someone had an update.zip I could flash to get back to factory (with all of the system files in place), that would be super! Otherwise, it looks like I'm effed and will need to come up with a good story to tell Verizon...
theicemonkey said:
Well, I'm an idiot.
I tried to take the playlogos1 file from the dump you showed me and copy it to my /system/bin file and, sure enough, I got the boot animation back. Problem is, I didn't think it through (that the edited playlogos1 file pointed to the rest of the modified boot sequence) and then the phone wouldn't boot. It would just loop the animations.
I booted into recovery, did a factory reset, and now I can get to the lockscreen and the very beginning of setup but TWLauncher force closes over and over and over and I'm unable to do anything except pull down the notification bar occasionally. I think this is because I moved some things (like bing, daily briefing, etc.) that TWLauncher wants at the outset, and it doesn't have them. I tried to bluetooth over LauncherPro and run it, but it fails at the last moment.
Does anyone know of a way to get to ADB Shell so that I can fix my mistake? Or if someone had an update.zip I could flash to get back to factory (with all of the system files in place), that would be super! Otherwise, it looks like I'm effed and will need to come up with a good story to tell Verizon...
Click to expand...
Click to collapse
Sorry you're having issues. Bad news is, you can't flash any zip updates because we don't have a custom recovery re our phones yet. However, what you should be able to do is use adb to push the apps from /system/app from the system dump. That is.. if you can get adb to work? If it can work from recovery, that should save you.
Good luck.
I am really tearing my hair out over this one, and I cannot find a solution no matter what I do. I have searched everywhere I can think of and no one seems to have a solution.
Device & ROM: HTC Incredible S (vivo) with CM7.1 Nightlies (#139)
Problem: Busybox doesn't work. I tried using the Logging Checker app By TrevE but kept getting the error "ls: no such tool", which I thought was was odd. So I tried manually calling ls in terminal emulator and via adb shell, same error, so I assumed busybox was borked. I also noticed Titanium backup was using it's internal busybox, presumably because it couldn't get access to the system one either.
Attempts to fix:
First I tried re-installing busybox via Stericson's app from the market, it recognised I have the default CM7 one installed and updated it to the latest version. Still get the same problem.
I tried setting permissions to be avalible for everything on both busybox files (bin and xbin). Same error.
I tried manually deleting busybox via root explorer from bin and xbin and reinstalling, Stericsson's app now says I have multiple versions installed. Same error.
I tried wiping and reinstalling my ROM. Still same error.
This is really driving me crazy and I have run out of ideas. Can anyone help? I am not a "noob" I have been using android for a couple of years as well as dabbling in ROM & Kernel dev, I know how to use a search, one guy here mentions the same problem but never says if he got it fixed, and this guy says re-installing his ROM corrected it. Has anyone else seen this problem before?
There might be copy on your sdcard. You could delete that as well and try a "clean" install.
Also, check your path to make sure xbin and bin are included
As a last resort, or maybe the first step, you can install it manually.
Unzip the app and extract the busybox binary. If I recall correctly, they are in the assets folder as .png files. Pick a version.
mount the system as read-write
mount -o remount,rw /your/system/partition/here /system
you can type "mount" to see where /system is mounted
Push or copy the binary file to /system/xbin/buysbox
this is easier said then done since you don't have cp or mv!
ghetto copy should work - "cat /sdcard/busybox.png > /system/xbin/busybox
make it executable "chmod 755 /system/xbin/busybox"
let busybox do the heavy lifting "/system/xbin/busybox --install /system/xbin/"
remount the system as read only
busybox mount -o remount,ro /system
Please use the Q&A Forum for questions Thanks
Moving to Q&A
Manual install worked, thanks man! Well, it worked in so far as I can use the tools from terminal emulator, but the logging app still gives me ls:no such tool. Titanium Backup can see the system busybox though which is good.
It might be using an aboslute path like /system/bin/ls to call ls. Maybe add a link? That is the hard part about manual install- you might have some toolbox links or other executables in other path directories.
sent from my cyanogen(mod) vision
I'm having the same problem. I have Busybox installed, but TrevE's Logging Checker says "ls: no such tool".
Did you find a solution for this problem?
Add a link? Try "busybox which ls" it's probably not pointing to busybox. You might have to add some absolute paths and other nonsense.
sent from my cyanogen(mod) vision
Thanks for the reply. "which busybox ls" replies:
# which busybox ls
/system/xbin/busybox
/system/xbin/ls
It looks like you have ls linked. Maybe the logger tool is looking for it in /system/bin? Have a look in there and see if there is a link or binary. It could be a toolbox link?
Lastly, check permissions- maybe it's not executable/accessible?
sent from my cyanogen(mod) vision
I've tried creating a symlink in /system/bin and it still doesn't work, so I sent TrevE a private message; I'll update this thread when he replies.
l0st.prophet said:
I am really tearing my hair out over this one, and I cannot find a solution no matter what I do. I have searched everywhere I can think of and no one seems to have a solution.
Device & ROM: HTC Incredible S (vivo) with CM7.1 Nightlies (#139)
Problem: Busybox doesn't work. I tried using the Logging Checker app By TrevE but kept getting the error "ls: no such tool", which I thought was was odd. So I tried manually calling ls in terminal emulator and via adb shell, same error, so I assumed busybox was borked. I also noticed Titanium backup was using it's internal busybox, presumably because it couldn't get access to the system one either.
Attempts to fix:
First I tried re-installing busybox via Stericson's app from the market, it recognised I have the default CM7 one installed and updated it to the latest version. Still get the same problem.
I tried setting permissions to be avalible for everything on both busybox files (bin and xbin). Same error.
I tried manually deleting busybox via root explorer from bin and xbin and reinstalling, Stericsson's app now says I have multiple versions installed. Same error.
I tried wiping and reinstalling my ROM. Still same error.
This is really driving me crazy and I have run out of ideas. Can anyone help? I am not a "noob" I have been using android for a couple of years as well as dabbling in ROM & Kernel dev, I know how to use a search, one guy here mentions the same problem but never says if he got it fixed, and this guy says re-installing his ROM corrected it. Has anyone else seen this problem before?
Click to expand...
Click to collapse
I don't have the correct answer as of right now, but I believe why both you and I are getting "ls: no such tool" when running Logging Checker app By TrevE is because ls is being called from toolbox and not busybox, if you where to adb shell into your phone and run /system/bin/toolbox ls you get the same error, also when I looked into the APK theres a file called "AtLeastHaveTheBallsToTellMeYouLOLedReadingThis.smali" and yes I did LOL when I read the file name but there are instances with toolbox ls being called.
I'll keep you posted if I figure it out.
Running "/system/bin/toolbox ls" from adb shell does give me the same "ls: no such tool" error.
I unzipped the APK and didn't find the funny file you mention, thou...
dserodio said:
Running "/system/bin/toolbox ls" from adb shell does give me the same "ls: no such tool" error.
I unzipped the APK and didn't find the funny file you mention, thou...
Click to expand...
Click to collapse
Unzipping just the APK alone won't let you see the file, it's a binary xml file to my knowledge, I had to use a tool called android-apktool, once you decode the APK its inside the folder called smali/com/treve/loggingtest/.
Finally figured it out, I had to copy the toolbox binary from an Android emulator and put it on my phone along with setting up the right permissions and group and now toolbox ls outputs. I checked Logging Checker and now I get a listing of files inside the app.
spellnight said:
Finally figured it out, I had to copy the toolbox binary from an Android emulator and put it on my phone along with setting up the right permissions and group and now toolbox ls outputs. I checked Logging Checker and now I get a listing of files inside the app.
Click to expand...
Click to collapse
Could you please provide specifics? I have all the SDK tools installed, but where is the "toolbox binary from an Android emulator" located? Did you run the Emulator and adb pull the toolbox you needed from it? Where did you put it on your phone to make it work, and what permissions and group are necessary? I would also like to use Logging Checker but I get the same error running evo-deck-1.3. While re-flashing may work, I'm worried it won't and then be stuck in the same place. Thanks.
Perhaps someone just happens to know if evo-deck-1.3 has Carrier IQ or not? I tried searching and couldn't find any specific mentions from the dev or users. Flipz actually preemptively pulled Carrier IQ from Fresh ROM 8 months ago when he didn't even know what it was, major kudos to him.
Same issue here: CM7.1 toolbox binary doesn't support "ls"
I have the same issue. Installed Logging Checker app By TrevE (thanks!) but get the "ls: no such tool" msg.
TrevE's app installs busybox (and its associated links) in /system/xbin, but for some reason his app appears to invoke "/system/bin/toolbox ls" which produces that message.
I can't find any other "ls" on the system other than the one in /system/xbin which is a link to /system/xbin/busybox.
Maybe I should just replace the toolbox binary with busybox after nandroiding?
I PMed TrevE but he has a lot going on right now.....
*update*: I did try remounting /system as rw and then # cd /system/bin; mv toolbox toolbox_save; cp /system/xbin/busybox . ; mv busybox toolbox
That changed the behaviour of the logging checker app; now it says "empty" instead of "ls: no such tool", but it also broke many commands that were linked to toolbox such as "vmstat". Also it didn't fix the registration problem with the app (says I haven't donated even though I've purchased the key app).
So I undid the changes (before I screwed anything else up) and rebooted.
At this point you might as well use the detector on Market by Voodoo or Lookout because troubleshooting this may well take longer than just using another detector. I do worry though that those who need removal will still be forced to TrevE's app but may find it not working after paying for the license key. Be careful though! I'm sure that malicious "detectors" will start popping up, which will be their own spyware at best and possibly extract the data from CIQ at worst.
V8 of TrevE's app and key fixed the problem for me
Thanks again to TrevE for creating this! I installed Version 8 and everything was fixed.
I had installed the latest busybox installer (v7.3) by Stericson. It had an option to uninstall existing busybox installations.
Since I had multiple versions of busybox already installed on my P500, I decided to uninstall a few of them but on hitting uninstall it seems it removed a lot of binaries.
Now when I try to use any application that requires root it simply FC's.
Then I tried using ADB shell but it gave me the following error:
-exec /system/bin/sh: No such file or directory
I then manually tried to look into /system/bin from FileExpert app that I had installed on my mobile. I had almost every required essential binaries but sh was missing.
Therefore I did a adb push of sh from one of my other phones(a ZTC blade). It was successful but now ADB shell gives another error:
/system/bin/sh: Permission denied(13)
I need someones help in this. Am I proceeding the correct way. If yes, how do I set permissions without adb shell?
Also I few more points I had noticed (If it might me helpful)
--------------------------------------------------------
1) adb devices: now gives some generic device name (e.g- 80565403440...). Previously I think it was something like "LGP500" if I am not mistaken.
2) only /system/bin now holds some binaries. No binaries are to be found on other locations like /system/xbin, etc.
3) Is copying sh from another phone the correct way to proceed? Or shells are different for different mobiles. If yes, can a P500 owner provide a sh from /system/bin please? Thanks.
[EDIT: The problem has been resolved. Setting executable permission externally and making a adb push worked out. Only thing I needed was a Linux installation and VirtualBox saved my day. Windows powershell may also work it seems but I didnt try it.
I assumed the binary compiled for ZTC Blade will work successfully for the days to come. Thanks XDA]
Can someone please provide me the sh binary from P500 please? It resides in the /system/bin folder.
Also if anyone knows how to use the phones internal memory without adb and set file permissions, it would be a great help.
Someone please provide the sh binary from /system/bin . I will try pushing it with executable permissions set outside to see if it works...
Im running ICS SlimROM 1.6 and (was) loving it. But:
Titanium Backup Pro prompted for an update, which I ran, then it barfed and told me to install BusyBox from the market
Installed BusyBox, which got TB to run
uninstalled WiFi tether ( not working, another issue.....)
Next full reboot of phone, its stuck at the Google Gears
Then:
I went into recovery, wiped cache, Dalvik and ran fix permissions
Reboot, stuck at Google Gears
Mounted SD in Recovery, copied my PH98img file to SD, fastboot and ran update
Still stuck at Google Gears
I need to get the file off of SD to get into Recovery again, but when I do, what next ? Full wipe ? Reflash ROM ?
Only thing I can think of is BusyBox broke the ROM......am I wrong ?
I was stuck doing a full reflash of the rom, fixes, updates etc.......only thing I can figure is that the supersu was gorked...... Superuser (chainsdd) from the market ended up on my phone after the busy box install and didn't want to work or be removed until reflash.
Sent from my ADR6425LVW using xda app-developers app
archalon said:
Im running ICS SlimROM 1.6 and (was) loving it. But:
Titanium Backup Pro prompted for an update, which I ran, then it barfed and told me to install BusyBox from the market
Installed BusyBox, which got TB to run
uninstalled WiFi tether ( not working, another issue.....)
Next full reboot of phone, its stuck at the Google Gears
Then:
I went into recovery, wiped cache, Dalvik and ran fix permissions
Reboot, stuck at Google Gears
Mounted SD in Recovery, copied my PH98img file to SD, fastboot and ran update
Still stuck at Google Gears
I need to get the file off of SD to get into Recovery again, but when I do, what next ? Full wipe ? Reflash ROM ?
Only thing I can think of is BusyBox broke the ROM......am I wrong ?
Click to expand...
Click to collapse
Most likely, you installed busybox to the /system/bin/ directory.
Uninstall it, restart your phone, then re-run the busybox installer, except this time make sure you select /system/xbin/ as the install path.
a.mcdear said:
Most likely, you installed busybox to the /system/bin/ directory.
Uninstall it, restart your phone, then re-run the busybox installer, except this time make sure you select /system/xbin/ as the install path.
Click to expand...
Click to collapse
I'm on CleanRom 4.4 and it runs fine. I have the BusyBox install app from the market. I currently have BusyBox 1.20.2 installed and it's installed in /system/bin. That's where it wanted to install it, so i let it. I have had no problems with it being there. Should I move it? What is the pros and cons of it being in /system/bin vs /system/xbin??
Thanks.
derek4484 said:
I'm on CleanRom 4.4 and it runs fine. I have the BusyBox install app from the market. I currently have BusyBox 1.20.2 installed and it's installed in /system/bin. That's where it wanted to install it, so i let it. I have had no problems with it being there. Should I move it? What is the pros and cons of it being in /system/bin vs /system/xbin??
Thanks.
Click to expand...
Click to collapse
If its working at /system/bin/ then its probably not an issue for you.
I have init.d scripts, and my init.rc calls for busybox to be located at /system/xbin/. If I accidentally installed busybox to /system/bin/, busybox and thus also my init.d scripts fail to load because the init.rc file still tries to load it all from /system/xbin/.
but, since its likely you didn't build your ROM yourself, you may not know exactly where its supposed to be installed. You could look at the original update script in the zip file that installed your ROM, because usually there will be an install path and associated symlinks in that script which you can then use to determine where busybox is supposed to be installed on your particular device. Or, if your ROM has init.d support, you can look in the /init.rc file for the lines where busybox is called to enable init.d support. Your install path for busybox should mimic whatever path is called in this file, meaning if its attempting to load busybox from /system/xbin/, then that is where you need to have busybox installed, and not /system/bin/.
a.mcdear said:
If its working at /system/bin/ then its probably not an issue for you.
I have init.d scripts, and my init.rc calls for busybox to be located at /system/xbin/. If I accidentally installed busybox to /system/bin/, busybox and thus also my init.d scripts fail to load because the init.rc file still tries to load it all from /system/xbin/.
but, since its likely you didn't build your ROM yourself, you may not know exactly where its supposed to be installed. You could look at the original update script in the zip file that installed your ROM, because usually there will be an install path and associated symlinks in that script which you can then use to determine where busybox is supposed to be installed on your particular device. Or, if your ROM has init.d support, you can look in the /init.rc file for the lines where busybox is called to enable init.d support. Your install path for busybox should mimic whatever path is called in this file, meaning if its attempting to load busybox from /system/xbin/, then that is where you need to have busybox installed, and not /system/bin/.
Click to expand...
Click to collapse
I'm running Scott's CleanRom 4.4. I've looked in the updater-script file inside the zip.
I see the line: symlink("/system/xbin/busybox","/system/bin/busybox");
So, I am assuming that it can be installed in either location. When I installed busybox using the busybox install app from the market, it has "Smart Install", it scans system memory and then recommends where to install everything so I just let it do that.
derek4484 said:
I'm running Scott's CleanRom 4.4. I've looked in the updater-script file inside the zip.
I see the line: symlink("/system/xbin/busybox","/system/bin/busybox");
So, I am assuming that it can be installed in either location. When I installed busybox using the busybox install app from the market, it has "Smart Install", it scans system memory and then recommends where to install everything so I just let it do that.
Click to expand...
Click to collapse
So, according to that symlink, the actual location of busybox should be in /system/xbin/, but has created a symbolic link to /system/bin/ because some applications look for it in that location as well.
on a linux system, the physical location is the first listed path, the symbolic link is created by the second path, which essentially allows you to run busybox from either location even though it is actually located in /system/xbin/ and not /system/bin/
make sense?
I have BB 1.18.4 still from the old doomlord kit, installed into system/xbin, and I noticed that some mods/tweaks/apps require it installed in /xbin, while others need it into /bin. So my question is, if I use Busybox Installer to install the 1.20.2 to both folders, will it harm my device having two busyboxes installed at the same time?
You could install it in xbin and then symlink it to bin.
Sent from my Nexus 7
Err, how to symlink it? I find something like console commands searching around, but i don't know where to put them =(
I think you have some learning to do.
You can install busybox in both directories. The order of directories in $PATH will prevent issues with having it installed twice.
Sent from my Nexus 7
Thanks, I'll go directly with the double install then.
Just one more thing that just happened, I usually use Busybox Installer for that, but when I select the installation for the right version, before dowloading the install files, it stops and says I have a bad internet connection, even tho my 3G works perfectly. Did anyone else experience this?
BillGoss said:
I think you have some learning to do.
You can install busybox in both directories. The order of directories in $PATH will prevent issues with having it installed twice.
Sent from my Nexus 7
Click to expand...
Click to collapse
Yeah, I know this is old thread, but I have some related questions: if busybox is already installed in system/bin by kingroot, why should I install a binary update in system/xbin as busybox installer wants to do by default? If it is in both paths, which one is going to do the job? or... Why do I actually want to have two busybox copies in two separate directories if I "can" have just one? And last: most people suggest to install busybox in system/xbin, so why kingroot choose to do it in system/bin?...
Man quetion.. I'm curious what the answers are to these please!..