Did BusyBox break SlimROM ? - HTC Rezound

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?

Related

[Q] Busybox functions not accessible, completely lost

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.

permission denied in terminal/adb

I have an unlocked+rooted CM7 Atrix which was working nicely this morning.
I was playing around and decided to install Titanium Backup. I also read somewhere that it needs BusyBox to work better so I decided to install that too.
i tried installing BusyBox in /system/xbin and it gave me an error about BusyBox being already installed
now for some reason I can't seem to do anything in a terminal emulator or adb except "cd" and "su" (Root checker returns success)
I'm getting a "permissin denied" error with basic commands like ls, cp, mv, mount, chmod
any suggestions?
thanks
this is just a shot in the dark but have you tried to fix permissions in cwm... its fixed odd things like that for me sometimes... also cant hurt to clear dalvik cache too jic... that has also helped at times. use a program like root explorer to check if busybox is actually there as well. other then that i have to shrug my shoulders lol
viperlox said:
this is just a shot in the dark but have you tried to fix permissions in cwm... its fixed odd things like that for me sometimes... also cant hurt to clear dalvik cache too jic... that has also helped at times. use a program like root explorer to check if busybox is actually there as well. other then that i have to shrug my shoulders lol
Click to expand...
Click to collapse
actually I was thinking about doing the fix permissions thing last night but I couldn't remember where I saw the option to do that
Anyways, I did try it just now as well as clearing the dalvik cache and they didn't seem to help.
I also tried root explorer last night (bought it just for this purpose) but it doesn't seem to be pulling up any data, it just hangs at a black screen when I open it and then it force closes.
I have a guess though but I have no way of confirming this since ls and explorers doesn't seem to work.
I used to have "su" in /system/bin as well as a couple of self-written scripts but they don't seem to be there anymore. when I try "/system/bin/su" or any of my scripts it give me the "not found" message
While poking around I then realized that there is a "su" in xbin (this is the one that runs when su is called without it's direct path). I'm guessing this works since root checking detects it.
So, I'm thinking maybe my /system/bin got wiped out when the new stuff (eg su) in xbin got created? Then maybe I don't have proper access to xbin? Like maybe when I installed busy box, it wiped out some of my stuff in /bin and copied/created then in /xbin and failed to set permissions?
Does this sound possible? Also, would it be possible to reflash /bin and /xbin to whatever came with CM7 maybe?
Thanks
johnusesandroid said:
I have an unlocked+rooted CM7 Atrix which was working nicely this morning.
I was playing around and decided to install Titanium Backup. I also read somewhere that it needs BusyBox to work better so I decided to install that too.
i tried installing BusyBox in /system/xbin and it gave me an error about BusyBox being already installed
now for some reason I can't seem to do anything in a terminal emulator or adb except "cd" and "su" (Root checker returns success)
I'm getting a "permissin denied" error with basic commands like ls, cp, mv, mount, chmod
any suggestions?
thanks
Click to expand...
Click to collapse
Just so you know busybox is included in atrix roms. There was/is no need to install it again.
You could try to push the folders you want from a cm7 zip file. Or you could just reflash cm7 without wiping data/factory resetting.
_Dennis_ said:
Just so you know busybox is included in atrix roms. There was/is no need to install it again.
You could try to push the folders you want from a cm7 zip file. Or you could just reflash cm7 without wiping data/factory resetting.
Click to expand...
Click to collapse
I ended up reflashing CM7 thanks for the tip

[Q] Kernal/Busybox questions

Is busyBox built into CWM recovery kernals? is this common practice?
if so, and "I believe it is" How can I update my busyBox Version?
The experience Im having is on stock 2.3.4 when I check with root checker pro .apk it shows BusyBox Version 1.19.2cm71 installed in /sbin/ So I try to update to BusyBox version 1.19.4stericson via his BusyBox installer .apk Then check with Root checker Pro .apk and all is well Untill I reboot My phone Imediatly after reboot Root cheker shows the old Busy Box version again.
So I geuse what Im asking for is verification basicly.
Is there not a tool to incorporate CWM into existing stock recovery like the one used for the OG transformer Tab?
By the way to all comers who would like to bash my noobness Bring it!
I say this because I can learn more from the bashing than from no response/answer at all.
That being said Thanks to the Devs that do chime in with direct, and helpful responses. Its much appreciated by me as this is my main source of refferance for android learning. My post count is so low because I read !
busybox is a binary located in either /system/bin or /system/xbin
its not something included in a kernel
If you newwest busybox then search and find a cwm zip for root and flash it... Easiest way..
Sent from my GT-I9100 using xda premium
Pirateghost said:
busybox is a binary located in either /system/bin or /system/xbin
its not something included in a kernel
Click to expand...
Click to collapse
Thanks for your response, but I Know what busybox is and where its supposed to be but if you have CWM recovery do me a favor and check your "/sbin" folder on "root of phone" not in the "/system" folder there you will see "busybox" in "/sbin". Also there is an app called "root checker" by Joey something or other if you run this app and swipe to the left you'll see the screen verify busybox click it and it will tell you where its installed and what version is installed.
I originaly thought same as your reply and its true as long as you install busybox While using stock recovery. Meaning if I install busybox to "/system/xbin" with CWM recovery installed my newer busybox version won't stick. (Only good until reboot)
I've completely reverted to stock 2.3.4 GB and checked the /sbin folder before and after installing codeworkx 5.0.2.3 CWM revovery and These were my findings.
However on the skyRocket I do not seem to have this problem I believe this is why.
Pirateghost said:
skyrocket has separate recovery partition.....their CWM isnt injected into kernel....
Click to expand...
Click to collapse
While Great for My "I727" that doesnt help me on my "I777"
rdannar said:
If you newwest busybox then search and find a cwm zip for root and flash it... Easiest way..
Sent from my GT-I9100 using xda premium
Click to expand...
Click to collapse
Thanks but not at all what I was talking about.
Phatboyj420 said:
Thanks but not at all what I was talking about.
Click to expand...
Click to collapse
if it doesn't stick you probably have two versions... One in bin and one in xbin. delete old one. flash in cwm so it corrects symlink to newwest busybox. your syymlink are probably not correct. The install script changes the symlink of the file.. That is why you use cwm to flash
Sent from my GT-I9100 using xda premium
rdannar said:
if it doesn't stick you probably have two versions... One in bin and one in xbin. delete old one. flash in cwm so it corrects symlink to newwest busybox. your syymlink are probably not correct. The install script changes the symlink of the file.. That is why you use cwm to flash
Sent from my GT-I9100 using xda premium
Click to expand...
Click to collapse
Thanks again but your still off please re-read O.P.
Ive done all that you suggest. in doing so I,ve learned that when I manualy delete busybox from "/sbin" it gets re-written upon reboot.
The only Rom with CWM recocery That I've found this not to be true in is "task650's" latest ICS release UCPLC5, It does initialy install busybox but not to
"/sbin" and it does'nt get re-written on every reboot. Thus allowing the users busybox update to stick. Thanks for that Task.
I experience the same troubles with GB SpeedMod Kernel v2.21 which includes CWM 5.0.2.3, so I searched around and found this thread.
Running StockROM (GB 2.3.6) the updates of BusyBox (have it in /system/xbin) work perfectly, no second version anywhere (/system/bin or /sbin).
Flashing SpeedMod Kernel with CWM delivers a second copy of BusyBox into /sbin, where busybox itself is a symlink to recovery in the same directory. Bad enough that an update to the latest BusyBox version seems to be fine but doesn't stick after reboot (as mentioned by Phatboyj420, for clarification: the update in /system/xbin sticks but the update or deletion of BusyBox in /sbin is reverted as part of kernel during reboot), so e.g. Ghost Commander shows some errors (owner and file permissions) which are related to this mixed version status and disappear after updating BusyBox (till the next reboot).
To confirm that CWM delivers BusyBox to /sbin I looked into the source of SpeedMod v2.21 (find it here!). Just unpack it and have a look into /initramfs/out/sbin.

[Q] Binary Files

After rooting my .28 TFP, I noticed that the directory (system/xbin) contains much less files than before (only 4 files.)
I'm having some problems with some root apps especially patching apps. Could this be the problem?
Can I copy binary files from my MB855 rooted Ginger Bread phone to the same directory?
there's a busybox app on the market, I think this has the programs you are missing. (or rather, it installs the latest versions for you). Try that first.
tshoulihane said:
there's a busybox app on the market, I think this has the programs you are missing. (or rather, it installs the latest versions for you). Try that first.
Click to expand...
Click to collapse
Thank you. It worked. Root apps that did not use to work before are now working.
A couple of bugs I have noticed after installing busybox, though.
-some root apps that used to work in the background now have to be started manually.
-Superuser app does not show the prompt message and gives root access to root apps without prompt.
-The system files were mounted as RW and not mounted back to RO. I was unable to do it myself :-(
Any advice?
Hmmm... Try re-installing the superuser apk (and let it update the su binary if it wants to).
For /system as RO - reboot. It may be that you are trying to re-mount it with the wrong options. If it comes up as RW after reboot, something odd is going on.

[Q] Busybox installed into both /bin and /xbin?

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!..

Categories

Resources