[Droid Incredible Android Development] CaptainTaco:
To say it won't work with any other application wouldn't be entirely true, if a program was setup to use titaniums busybox installation there is no reason it couldn't, however it is very unlikely any application would. Titanium installs it on your sdcard, and makes no soft links to the commands in your system. In other words, your $PATH variable will not include the titanium busybox installation, so no command will work without specifying the directory busybox is in (/sdcard/titaniumbackup/blahblahblah) Or wherever Titanium puts it. So titanium will use it, because it knows the directory, most other applications will not.

Now, unfortunately, while you don't have to have the busybox file on your system, you would need to have soft links to it, so either way to install busybox, you would need to make a change to /system, and without NAND access, you would need to do it in recovery. So yes, you need to be in recovery to properly install busybox.

It can be installed into any of the $PATH variable locations, these are

/sbin

/system/sbin

/system/bin

/system/xbin

I personally prefer to install it into xbin, as that is the last directory in the PATH variable, which means it will only use busybox if the command is not found on the system. Personally I also avoid /system/bin as that is where most of the systems commands are, and I prefer not having busybox links mixed in with my system commands, this is just personal preference.

So for those that missed the info, busybox is a two step process to allow compatibility with "ALL" apps. Copying the busybox file to one of the $PATH directories, and creating the softlinks to busybox for each command (done automatically with --install ((shown below)) ) Technically you do not have to make the soft links, in that if the busybox file was place in /system/xbin for example, and you wanted to run the command "cp" from it, you could just type "busybox cp" and it would run the cp command. However, while the better apps are programmed to do this, some are not, and will just ask for "cp" with no busybox before it. This is why for compatability purposes, softlinks are required. in other words, in /system/xbin a "shortcut" in a sense would be created called "cp" that links to the busybox file, this would allow you to just type "cp" in the shell, and the system would interpret it as "busybox cp". Luckily, rather than making 100 something links, busybox does it for you via the process below.

For those that don't already know, install busybox by pushing busybox to you sd card.

adb push busybox /sdcard/busybox

Then (when in recovery, and with adb shell working) run the following commands

$ su
# export PATH=$PATH:/system/bin
# cd /system/xbin
# cat /sdcard/busybox > busybox
# chmod 06755 busybox
# ./busybox --install -s /system/xbin

This installs it to /system/xbin. You could change that to any of the $PATH variables locations if you choose, just replace the 2 instances of "/system/xbin" in the code to whatever you prefer.

Hope that clarifies the difference between something such as Titanium Backup's busybox install, versus an actual /system busy box install. NOTE: You'll notice when installing busybox from Titanium Backup, it says in parenthesis "Titanium Backup will not modify your system". This is what it means.

-cheers :)