While I was away in Italy, I was spending as much time as I could trying to find a fix for the issues that people were having with Superuser 3.0.5. One of the fixes involved a new binary that sets it’s own UID to that of the Superuser app before opening the database to prevent the WAL files belonging to root. This fix worked great and I am indebted to HomerSP for finding it. When I got home I set about updating my normal build machine to compile a new binary for release. I updated my AOSP trees agains the new repo that was put online while I was gone, compiled 3.0.1, and put it out there. That’s when things went wrong. I started getting reports that after people updated to 3.0.1, they lost root. Terrible thing is that it works great on all of my devices, as usual. I think the problem is that at some point the generic gingerbread AOSP tree went from compiling for arm generic to compiling for ARMv7-a, and su 3.0.1 is now compiled for ARMv7-a. There are many devices out there that use the older ARMv6 (ARM11) architecture, and all of the issues that have been reported to me that include what device they’re on happen to be ARMv6…
I’m trying to get a couple testers to help me make sure that this is the problem, but if no one comes forward willing to help in the next couple hours, I’m just going to have to pull the trigger and release a new binary compiled against arm generic. If you have a device that has an ARMv6 (ARM11) chipset, please email me at firstname.lastname@example.org to help me find the solution. You will need to have ADB up and running, and adb needs to give you a root prompt (#) when you run ‘adb shell’.
Thank you for your patience.
Update: The issue has been fixed and new versions of the su binary have been uploaded to here and ROM Manager. I know ROM Manager won’t help those of you with broken root, just download the update.zip from here, put it on your sdcard, reboot into recovery and install it.
Update 2: Another update, another binary. The code in 3.0.3 is the same as the code in 3.0.2, and 3.0.1 in fact, just built a different way. This version has been tested and verified to work on both ARMv7 and ARMv6 devices. Both