Method to install root for Honeycomb

Search This thread

chhaggerty

Senior Member
Sep 8, 2010
233
285
Minnesota
Samsung Galaxy Z Fold3
Check this thread for updated and improved information, many thanks to j4mm3r

http://xdaforums.com/showthread.php?t=953110




Credit goes to NuroSlam for coming up with a working method. This requires a functioning adb connection. Using this version of su is not as secure because it will not activate Superuser for your permission to grant root access. In fact, it can work without Superuser.apk installed at all. Hopefully we will soon have an updated su or maybe the next version of Honeycomb will be prerooted. First download the following files:

1. su http://www.magicandroidapps.com/su.zip
2. Superuser.apk http://bit.ly/su2361ef
3. busybox http://busybox.net/downloads/busybox-1.18.2.tar.bz2

Extract the above files using your favourite program

Using adb, install all three files to /data/local:


adb push su /data/local
adb push Superuser.apk /data/local
adb push busybox /data/local

Use adb remount to open the /system directory

adb remount

Use adb shell to move files

adb shell
cd /data/local
cat Superuser.apk > /system/app/Superuser.apk
cat su > /system/bin/su
cat busybox /system/xbin/busybox

Symlink su and set permissions:

ln -s /system/bin/su /system/xbin/su
chmod 06755 /system/bin/su

Typing su should now work

su
su: access granted, courtesy of www.magicdroidapps.com

Install busybox

exit from adb shell and using a terminal application (i.e Root Explorer or Better Terminal Emulator) on the nook,

su
busybox --install -s /system/xbin

That should do it, works with Root Explorer, Titanium Backup, LCD Density, Quick Boot and SetCPU.

Good Luck
 
Last edited:

HotShotAzn

Senior Member
Oct 23, 2007
585
56
really? That simple? Root was the only reason i haven't jumped on the Honeycomb train. This may change my mind.
 

Homer_S_xda

Senior Member
Dec 5, 2010
427
61
I noticed su is in /system/bin rather than /system/xbin on the Froyo image. Any reason?

Homer
 

jtbnet

Senior Member
Oct 28, 2009
568
59
Cochituate
It wouldn't work for me without installing in /system/bin and using a symlink to /system/xbin

It should work anywhere in the default PATH as long as it's got the full permissions (7655) set. I've only got one in xbin wih no symlink and all has been well for the superuser app...

root@android:/system/bin # echo $PATH
echo $PATH
/sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
root@android:/system/bin # ls -l su
ls -l su
su: No such file or directory
root@android:/system/bin # ls -l /system/xbin/su*
ls -l /system/xbin/su*
-rwSr-sr-t root root 76232 2011-02-04 09:08 su
-rwSr-sr-t root root 76232 2009-07-31 19:08 su-magic
-rwSr-sr-t root root 26264 2010-08-10 06:52 su-new
-rwSr-sr-t root root 68340 2011-01-31 11:22 su-org
 

NuroSlam

Senior Member
Feb 27, 2010
108
42
Hell aka Phoenix

nswenson

Senior Member
Thanks! I couldn't really follow the part with installing busybox. Was I supose to make the busybox binary? Anyway, I just let titanium backup install busybox for me by clicking the "Problems?" button.

Just tried Root Explorer and it's working great. Nice being able to quickly edit the build.prop file. Upped the dalvik heap size to 64mb and messing with LCD density.

Thanks again!
Nathan
 
Last edited:
  • Like
Reactions: anbradle

chhaggerty

Senior Member
Sep 8, 2010
233
285
Minnesota
Samsung Galaxy Z Fold3
Thanks! I couldn't really follow the part with installing busybox. Was I supose to make the busybox binary? Anyway, I just let titanium backup install busybox for me by clicking the "Problems?" button.

Just tried Root Explorer and it's working great. Nice being able to quickly edit the build.prop file. Upped the dalvik heap size to 64mb and messing with LCD density.

Thanks again!
Nathan

Running busybox from terminal will install all the busybox commands in /system/xbin which should make them available when using adb.
 

jleecong

Senior Member
Aug 30, 2007
63
33
Just a suggestion...

Making a batch file with the command and packing everything in 1 zip makes it a lot easier for most people and reduces the chances of people forgetting a step.
 

slugbug2010

Senior Member
Oct 12, 2010
1,764
150
Austin, Tx
I am running HC (v2) off a 8gb sd card.

So do I just do these steps to gain root or do I need to partition the sd card first?

Thanks
 

j4mm3r

Senior Member
May 12, 2010
248
74
Note to the OP, this method isnt exactly quite the same as using the "su" from the SuperUser app would be. This is just a modified "su" binary from the AOSP build which bypasses the check for uid AID_SHELL. Typically, the su shipped with Android only allows root access if invoked via "adb shell".

Now, although this modified binary is quite ok and will get you on the way working with all the Apps that require root access, but it will leave your system unsecure.

You see the guys who developed SuperUser have a hook inside the "su" binary which invokes the SuperUser activity which allows the user to allow/disallow/track other applications' root requests and usage.

So my advice is to be really careful and understand what you are doing if you decide to install this.

I'm gonna try and recompile ChainsDD's SuperUser and see if I can remove its dependency on mktemp.

EDIT: There is no need to push the SuperUser.apk, the modified su has no relation with it and it will work anyways.
 
Last edited:
  • Like
Reactions: chhaggerty

NuroSlam

Senior Member
Feb 27, 2010
108
42
Hell aka Phoenix
Note to the OP, this method isnt exactly quite the same as using the "su" from the SuperUser app would be. This is just a modified "su" binary from the AOSP build which bypasses the check for uid AID_SHELL. Typically, the su shipped with Android only allows root access if invoked via "adb shell".

Now, although this modified binary is quite ok and will get you on the way working with all the Apps that require root access, but it will leave your system unsecure.

You see the guys who developed SuperUser have a hook inside the "su" binary which invokes the SuperUser activity which allows the user to allow/disallow/track other applications' root requests and usage.

So my advice is to be really careful and understand what you are doing if you decide to install this.

I'm gonna try and recompile ChainsDD's SuperUser and see if I can remove its dependency on mktemp.

EDIT: There is no need to push the SuperUser.apk, the modified su has no relation with it and it will work anyways.

agreed, i was just going for root myslef
 

jtbnet

Senior Member
Oct 28, 2009
568
59
Cochituate
I'm gonna try and recompile ChainsDD's SuperUser and see if I can remove its dependency on mktemp.

EDIT: There is no need to push the SuperUser.apk, the modified su has no relation with it and it will work anyways.

In

http://howto.ccroms.net/android_project/build/mod/root

I would have though that the purpose of the changes, specifically;

LOCAL_FORCE_STATIC_EXECUTABLE := true

LOCAL_STATIC_LIBRARIES := libc

Were what should resolve the _mktemp not found?
 

chhaggerty

Senior Member
Sep 8, 2010
233
285
Minnesota
Samsung Galaxy Z Fold3
Note to the OP, this method isnt exactly quite the same as using the "su" from the SuperUser app would be. This is just a modified "su" binary from the AOSP build which bypasses the check for uid AID_SHELL. Typically, the su shipped with Android only allows root access if invoked via "adb shell".

Now, although this modified binary is quite ok and will get you on the way working with all the Apps that require root access, but it will leave your system unsecure.

You see the guys who developed SuperUser have a hook inside the "su" binary which invokes the SuperUser activity which allows the user to allow/disallow/track other applications' root requests and usage.

So my advice is to be really careful and understand what you are doing if you decide to install this.

I'm gonna try and recompile ChainsDD's SuperUser and see if I can remove its dependency on mktemp.

EDIT: There is no need to push the SuperUser.apk, the modified su has no relation with it and it will work anyways.

Howard from MagicAndroidApps.com noted this on the original Honeycomb thread. I'll update the OP to make this clear. Thanks.
 
Last edited:

Mikey

Retired Senior Moderator
Oct 10, 2007
6,262
1,743
Wheaton, Il
Google Pixel Fold
So once we acquire root, there is nothing to shield apps or commands from performing root without the users knowledge?

Edit: That does sound correct the way i typed it, hope you guys understand what i'm trying to convey
 

Top Liked Posts

  • There are no posts matching your filters.
  • 8
    Check this thread for updated and improved information, many thanks to j4mm3r

    http://xdaforums.com/showthread.php?t=953110




    Credit goes to NuroSlam for coming up with a working method. This requires a functioning adb connection. Using this version of su is not as secure because it will not activate Superuser for your permission to grant root access. In fact, it can work without Superuser.apk installed at all. Hopefully we will soon have an updated su or maybe the next version of Honeycomb will be prerooted. First download the following files:

    1. su http://www.magicandroidapps.com/su.zip
    2. Superuser.apk http://bit.ly/su2361ef
    3. busybox http://busybox.net/downloads/busybox-1.18.2.tar.bz2

    Extract the above files using your favourite program

    Using adb, install all three files to /data/local:


    adb push su /data/local
    adb push Superuser.apk /data/local
    adb push busybox /data/local

    Use adb remount to open the /system directory

    adb remount

    Use adb shell to move files

    adb shell
    cd /data/local
    cat Superuser.apk > /system/app/Superuser.apk
    cat su > /system/bin/su
    cat busybox /system/xbin/busybox

    Symlink su and set permissions:

    ln -s /system/bin/su /system/xbin/su
    chmod 06755 /system/bin/su

    Typing su should now work

    su
    su: access granted, courtesy of www.magicdroidapps.com

    Install busybox

    exit from adb shell and using a terminal application (i.e Root Explorer or Better Terminal Emulator) on the nook,

    su
    busybox --install -s /system/xbin

    That should do it, works with Root Explorer, Titanium Backup, LCD Density, Quick Boot and SetCPU.

    Good Luck
    3
    Credit goes to NuroSlam for coming up with a working method. This requires a functioning adb connection. First download the following files:

    1. su http://www.magicandroidapps.com/su.zip
    2. Superuser.apk http://bit.ly/su2361ef
    3. busybox http://busybox.net/downloads/busybox-1.18.2.tar.bz2.

    Good Luck[/B]

    i might take credit for gaining root, but the rest is all you
    2
    I hope this helps

    Credit goes to NuroSlam for coming up with a working method. This requires a functioning adb connection. Using this version of su is not as secure because it will not activate Superuser for your permission to grant root access. In fact, it can work without Superuser.apk installed at all. Hopefully we will soon have an updated su or maybe the next version of Honeycomb will be prerooted.


    I hope this improves the situation a bit. Here are two versions of su attached.

    USE WITH CAUTION
    su_unsecure.zip contains the completely unsecured su binary which can be used instead of the one in OP's post. Root explorer works because now this one is silent.

    WARNING, this is for advanced users only
    su_secure.zip contains a version which consults the file /etc/su.allow for a list of uid's for which root access is allowed. Find the uid of your favorite application (RootExplorer, Busybox etc) by looking at the output of the following command:

    Code:
    # adb shell ls -l /data/data
    ...
    ...
    drwxr-x--x app_36   app_36            2011-02-12 04:00 com.google.android.apps.reader
    drwxr-x--x app_32   app_32            2011-02-09 01:26 com.google.android.gsf
    drwxr-x--x system   system            2011-02-09 01:17 com.google.android.location
    drwxr-x--x app_46   app_46            2011-02-12 04:00 com.google.android.street
    drwxr-x--x app_32   app_32            2011-02-09 00:42 com.google.android.syncadapters.calendar
    drwxr-x--x app_32   app_32            2011-02-09 00:42 com.google.android.syncadapters.contacts
    drwxr-x--x app_37   app_37            2011-02-12 04:00 com.google.android.youtube
    drwxr-x--x app_44   app_44            2011-02-12 04:00 com.metago.astro
    ...
    ...

    So if for example if you wanted to get root access for ASTRO, then its uid is 10044 (app_44). First create the su.allow file:
    Code:
    (to mount /system in r/w)
    # adb remount
    
    # adb shell echo 10044 >> /etc/su.allow
    # adb shell chmod 644 /etc/su.allow
    
    (For subsequent apps)
    # adb shell echo 100XX >> /etc/su.allow
    # adb shell echo 100YY >> /etc/su.allow
    ...
    ... 
    (and so on)

    If the su.allow file is not present then the su binary defaults to the stock behavior i.e it only allows root access if the uid = AID_SHELL (2000).
    2
    busybox-1.18.2.tar.bz2 does this downloaded directory require a build of some kind..

    busybox does not exist in the directories...

    TIA
    :confused:


    dont worry about it

    download ti backup. run it, click problems?. install busybox that way
    1
    I tried this on the 2gb sd image got root. But after I rebooted root was gone.

    Check your steps, especially permissions and the symlink. Works consistently on reboot for me.