Busybox version problem?

Nymblz

Member
May 16, 2012
5
0
0
Visit site
Okay, I'm a little unsure where to begin. I've got a Fascinate (SCH-i500) running 2.3.5, for what it's worth. This isn't a phone specific thing though.

I recently rooted my phone via Odin and su 2.3.6.1.x.zip.
I then installed Titanium backup lite, and bought ROM-toolbox by JRummy.
I froze the crap apps like Bing with the latter, and did a full backup with Titanium Backup.

(I noticed some things in rom-toolbox didn't seem to work, like CPU adjustments, but figured that's due to the stock kernel in my SCH-i500.

So far so good.

The next morning, there's a message that the su binary is outdated, and should be 3.0.32.
I tried to update it but it failed, saying:
Downloading manifest... okay
parsing manifest... okay
latest version= 3.0.3.2
Checking installed version= 2.3.1-ef
clicked update
Fixing database... okay
Checking for busybox... okay
checking current install path... /system/xbin/su
Downloading new binary... okay
Checking md5sum... okay
Gaining root access... okay
Remounting /system as rw... okay
Copying su to /system... fail

So, looking around on the net, I found this thread:
http://www.droidforums.net/forum/droid-3-tech-support/204854-trying-update-su-binary.html

The suggestion was to use Stephens Busybox installer to update busybox.
Bad idea.
Apparently it worked for the user in that thread but not me.
When I ran it, the install (of busybox) complained that "the installation was not the version I was expecting", whatever that's supposed to mean. (I've since noticed a lot of bad reviews of that app!)
And now the su binary update failure message is different: it says the md5 for su 3.0.3.2 is invalid.

Worse, it was then that I found ROM-toolbox would no longer run, when I fire it up, it just reboots my phone. Every single time. I paid $5 for a reboot button! (I've emailed the dev for help)
I tried clearing it's data, uninstalling and reinstalling, but no joy.
The Busybox installer F'd with my symlinks and screwed things up. I then tried uninstalling busybox with the installer, but that failed miserably too.

One option is to install Busybox to /system/xbin instead of /system/bin, I might try that.

The phone is still rooted apparently, I can still run Titanium backup and some other stuff I since installed (like a term emulator).
I tried a restore from Titanium backup restoring apps and data, but that didn't really change anything, oddly.

I tried to look into nandroid backups, but finding a clearcut, up to date tutorial has proven very difficult. There's so many different versions of Android and phone hardware,and instructions that evolve and change, I'm not sure what is what. (I did however install the Java SDK and the Android SDK today..so, getting there)

At this point, I'm not sure what to do.
In the term emulator, I see a file named "busybox" under /system/bin, it's 0 kbytes. It's just an empty file, apparently. Weird.
I thought going to recovery mode and reapplying the su package might help, but it just says like invalid when I choose it.. (dammit, I forget exactly now, I'd have to retry it). It may be that I opened the zip file with WinRAR, which can change the checksum according to something I read on XDA; I might try that again, but I'm not sure it'd even matter.

Related questions:
* Did busybox come with the su package?
* Can you have more than one version of busybox installed? Titanium backup claims to use it's own "optimized" version of Busybox. Interestingly, when, in it's preferences, I tried setting it to use the my stock "system version", it could no longer get root access. Gah.. (I had to wipe it's application data to fix that, under settings | applications "clear data")
 

Rukbat

Retired Moderator
Feb 12, 2012
44,529
26
0
Visit site
I can't tell you how to fix the problem (I'm not familiar with the phone, and the problems are phone specific), but I can explain a couple of things:

And now the su binary update failure message is different: it says the md5 for su 3.0.3.2 is invalid.
The file got changed. You'll have to re-upload it to the phone.

I tried to look into nandroid backups, but finding a clearcut, up to date tutorial has proven very difficult. There's so many different versions of Android and phone hardware,and instructions that evolve and change, I'm not sure what is what. (I did however install the Java SDK and the Android SDK today..so, getting there)
The first thing you'd need would be the backup you made before you started doing things to the phone. Since you didn't do that ...

Once you get the phone working, make a backup and store a copy of the backup file on your computer.

In the term emulator, I see a file named "busybox" under /system/bin, it's 0 kbytes. It's just an empty file, apparently. Weird.
That's probably what's causing the MD5 failure. (The MD5 is a hash of the entire file. The hash of a file 0 bytes long is going to be different.)

I thought going to recovery mode and reapplying the su package might help, but it just says like invalid when I choose it.. (dammit, I forget exactly now, I'd have to retry it). It may be that I opened the zip file with WinRAR, which can change the checksum according to something I read on XDA;
It better not. If it does, 30 years of computer science is wrong. RAR is lossless - that means that if you RAR a file, then unRAR it, it should be precisely the same file you started with, so the MD5 hash will be unchanged.

Try going back to step 1. (Make sure that the rooting package you're using is for the Fascinate - you can't root one phone with a package made for another phone.) Run Odin again. Go through all the stops to root the phone.

* Did busybox come with the su package?
Busybox is a program. su is a program. Did they come in the same package? Look in the zip.

* Can you have more than one version of busybox installed?
No, but one version can install over another version. (It'll replace the other one.)
Titanium backup claims to use it's own "optimized" version of Busybox. Interestingly, when, in it's preferences, I tried setting it to use the my stock "system version", it could no longer get root access.
Since your busybox file has no code in it (it's 0 length, remember?)

Make sure you have the right package (that's the most important thing at this point, I think - it sounds as if you don't, or if you do, the file got corrupted), then go back to Odin. I'm not guaranteeing that it'll work, but that's what I'd try first.
 
  • Like
Reactions: Nymblz

Nymblz

Member
May 16, 2012
5
0
0
Visit site
Thanks for the info, Rugkat.

By the way, the ROM tookkit app is working again, since I posted this. I installed Root Toolkit, and ran fix permissions.. after that, my app ran again, so that's a lot better..

I can't tell you how to fix the problem (I'm not familiar with the phone, and the problems are phone specific), but I can explain a couple of things:

The file got changed. You'll have to re-upload it to the phone.
The first thing you'd need would be the backup you made before you started doing things to the phone. Since you didn't do that ...

Actually I did a backup, but a Titanium backup. Didn't help any though. Since I'm not yet into flashing different ROMs or kernels, I can always go back to factory reset if necessary. But as I get further into this, yeah, definitely, I'll want a full system state image backup.

Try going back to step 1. (Make sure that the rooting package you're using is for the Fascinate - you can't root one phone with a package made for another phone.) Run Odin again. Go through all the stops to root the phone.
Sound good. I also have the latest version of su now in a zip file (from androidsu.com), so I'll install that and be done with the upgrade thing.

Busybox is a program. su is a program. Did they come in the same package? Look in the zip.
There's nothing that specifically states "Busybox", but I thought it might still be packaged in there, as a binary.

Make sure you have the right package (that's the most important thing at this point, I think - it sounds as if you don't, or if you do, the file got corrupted), then go back to Odin. I'm not guaranteeing that it'll work, but that's what I'd try first.

Makes sense.
I'm not even sure the clockwork recovery mod installed right. If I go into recovery mode, I seem to get the standard Android Recovery <3e> screen, with only 4 options. Funny though, I got no errors.

Weird thing is, the root based apps I have seem to be working. It's either a case of, they just don't happen to need busybox, or they're using a version built into the app, like Titanium seems to suggest.

Ah, BTW, I know RAR is lossless, but su is a zip file. I just happened to use WinRAR to view the zip. But I'm just going but what I read, someone said merely opening it up could change the hash... which is news to me - if I don't change or edit anything, the modified date shouldn't change, thus the hash shouldn't change, merely viewing it..?)
 

Rukbat

Retired Moderator
Feb 12, 2012
44,529
26
0
Visit site
Ah, BTW, I know RAR is lossless, but su is a zip file. I just happened to use WinRAR to view the zip. But I'm just going but what I read, someone said merely opening it up could change the hash... which is news to me - if I don't change or edit anything, the modified date shouldn't change, thus the hash shouldn't change, merely viewing it..?)
Phil Katz developed the zip algorithm (and arc before it) LONG before anyone thought up RAR. Same thing though - programs that can compress program files are lossless - they have to be. Changing not one byte, but just one bit, in the entire file could make the unzipped program crash.

The date isn't part of the hash - that's information held in the directory of your drive. But zip (and rar) programs can maintain the original file dates. (They just unzip the file, then change the date to the one in the zip file's catalog.)

If I had to make a list of possible causes of problems, a changed MD5 when unzipping a file would be either the last thing on the list or not on the list at all. It's possible, but the probability has a lot of zeros between the decimal point and the first significant digit. A changed MD5 during download is a lot more likely, and it almost never happens.