[FIX] Superuser for Honeycomb [2011-02-13]

Search This thread

j4mm3r

Senior Member
May 12, 2010
248
74
Okay so ChainsDD's Superuser doesnt work on Honeycomb. The reason is a (unnecessary?) hack used by the developer to link properly and use the mktemp function.

To fix this, I downloaded the sources and compiled them again, but this time avoiding the _mktemp hack. Build instructions:

Code:
(get latest CM sources)
# cd <path-to-project-directory>
# repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
# repo sync

(do a generic build)
# source ./build/envsetup.sh
# lunch full-eng
# make
(take a break, this takes a long time)

(fix the su binary)
# cd system/extras/su
# vi su.c 
(make the fix, just replace _mktemp with mktemp and remove its declaration)
# mm
(the new su binary should be available in out/target/product/generic/system/xbin)

The fixed binary is attached with this post. Just install Superuser from the market or install it after downloading from ChainsDD's thread (link above). Push the fixed su binary and away you go!!

Code:
# adb push su /system/xbin
# adb shell chmod 4755 /system/xbin/su

Let me know how it goes...

Source Code: https://github.com/j4mm3r/android_system_extras
 

Attachments

  • su_fixed.zip
    6.4 KB · Views: 3,362

crashdau

Senior Member
Oct 15, 2005
176
8
New York
Okay so ChainsDD's Superuser doesnt work on Honeycomb. The reason is a (unnecessary?) hack used by the developer to link properly and use the mktemp function.

To fix this, I downloaded the sources and compiled them again, but this time avoiding the _mktemp hack. Build instructions:

Code:
(get latest CM sources)
# cd <path-to-project-directory>
# repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
# repo sync

(do a generic build)
# source ./build/envsetup.sh
# lunch full-eng
# make
(take a break, this takes a long time)

(fix the su binary)
# cd system/extras/su
# vi su.c 
(make the fix, just replace _mktemp with mktemp and remove its declaration)
# mm
(the new su binary should be available in out/target/product/generic/system/xbin)

The fixed binary is attached with this post. Just install Superuser from the market or install it after downloading from ChainsDD's thread (link above). Push the fixed su binary and away you go!!

Code:
# adb push su /system/xbin
# adb shell chmod 4755 /system/xbin/su

Let me know how it goes...

Source Code: https://github.com/j4mm3r/android_system_extras

Works great! My Root is up and working! Thank you!
 
  • Like
Reactions: DomSim

18.4009

Senior Member
Sep 14, 2008
426
36
Boise
OnePlus 8T
Thank you, gentle sir!


Usually this works on the HC image
# adb remount

Or the long form:
# adb shell mount -o remount,rw /dev/block/mmcblk1p2 /system

Thank you, worked like a charm.
Well, I got the SU pushed over and ran the command to set permissions and rebooted but still no root after reboot.
I just got the nook so I am probably do something wrong.
 
Last edited:

landlocked

Member
Dec 3, 2008
21
0
Stuck on root access issue

Many thanks to those who worked on HoneyComb (HC) v4 on eMMC and the rooting solution.

I have root after first flashing to eMMC and checking with terminal. I downloaded and pushed the new SU and still appear to have root -- according to terminal.

The Superuser app opens just fine, but Root Explorer crashes and Rom Manager/CWR complain about not having elevated rights. I *think* I have the latest version of both.

Note: I have only run the two commands above -- and not the list of commands in the OP.


What am I missing here?

Many thanks,

Landlocked
 
Last edited:

j4mm3r

Senior Member
May 12, 2010
248
74
one way to quickly check if you have it working is to do the following:

- Get to a shell:
# adb shell
(this should give you the "[email protected]:/ #" prompt)

- Become un priviledged:
[email protected]:/ # su 1000
[email protected]:/ $
(the "$" indicates that you are no longer root)

- Try to become root again:
[email protected]:/ $ su

This should open up the Superuser dialog asking you to allow or deny superuser request, which means that its working as expected. If you need more help then join on #nookolor on irc.freenode.net (see http://nookdevs.com/IRC for instructions for IRC). I can help you there.


Many thanks to those who worked on HoneyComb (HC) v4 on eMMC and the rooting solution.

I have root after first flashing to eMMC and checking with terminal. I downloaded and pushed the new SU and still appear to have root -- according to terminal.

The Superuser app opens just fine, but Root Explorer crashes and Rom Manager/CWR complain about not having elevated rights. I *think* I have the latest version of both.

Note: I have only run the two commands above -- and not the list of commands in the OP.


What am I missing here?

Many thanks,

Landlocked
 

18.4009

Senior Member
Sep 14, 2008
426
36
Boise
OnePlus 8T
one way to quickly check if you have it working is to do the following:

- Get to a shell:
# adb shell
(this should give you the "[email protected]:/ #" prompt)

- Become un priviledged:
[email protected]:/ # su 1000
[email protected]:/ $
(the "$" indicates that you are no longer root)

- Try to become root again:
[email protected]:/ $ su

This should open up the Superuser dialog asking you to allow or deny superuser request, which means that its working as expected. If you need more help then join on #nookolor on irc.freenode.net (see http://nookdevs.com/IRC for instructions for IRC). I can help you there.

I get this error:
 

Attachments

  • Capture.JPG
    Capture.JPG
    22.9 KB · Views: 470

landlocked

Member
Dec 3, 2008
21
0
Thanks for the info, J4mm3r. I can switch from root to standard user back to root on the NC just fine. None of the programs that are supposed to ask for root are prompting me -- as they do on my Droid 2.

I downloaded the new SU (above) and pushed it over using the sample commands.
 

lafester

Senior Member
Feb 11, 2007
3,399
648
thanks j4mm3r for the fix :)

now we just need a fresh hcv5 rooted image to play with.
 

nfcrockett

Senior Member
Dec 24, 2009
144
4
Indianapolis
Sorry, for the clutter, but I have appeared to have made some progress. I used the new SU (above) and repeated the steps in this thread:

http://forum.xda-developers.com/showthread.php?t=941445

Rom Manager now properly asks for for SU permission and installed CWR. Root Explorer still crashes, but that may be a file version issue.

I did the exact same thing, used new SU and completed the steps in the thread above and just installed busybox from titanium bu. Root Explorer is working fine for me.
 

360Razir

Senior Member
Jan 6, 2011
564
86
j4mm3r you are da man! I have a tear in my eye right now, as I am so happy that this got Superuser working. I had lost root and your fix got it back and also now Superuser is asking for permission on everything I have tried thus far (SetCPU, RootExplorer, Root Check, Quick Boot).

The dev support surrounding HC on the NC is nothing short of spectacular. So many thanks go out to so many dang-smart people out there.

THANKS!! :D
 

j4mm3r

Senior Member
May 12, 2010
248
74
Glad to be of help...


j4mm3r you are da man! I have a tear in my eye right now, as I am so happy that this got Superuser working. I had lost root and your fix got it back and also now Superuser is asking for permission on everything I have tried thus far (SetCPU, RootExplorer, Root Check, Quick Boot).

The dev support surrounding HC on the NC is nothing short of spectacular. So many thanks go out to so many dang-smart people out there.

THANKS!! :D
 

Top Liked Posts

  • There are no posts matching your filters.
  • 14
    Okay so ChainsDD's Superuser doesnt work on Honeycomb. The reason is a (unnecessary?) hack used by the developer to link properly and use the mktemp function.

    To fix this, I downloaded the sources and compiled them again, but this time avoiding the _mktemp hack. Build instructions:

    Code:
    (get latest CM sources)
    # cd <path-to-project-directory>
    # repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
    # repo sync
    
    (do a generic build)
    # source ./build/envsetup.sh
    # lunch full-eng
    # make
    (take a break, this takes a long time)
    
    (fix the su binary)
    # cd system/extras/su
    # vi su.c 
    (make the fix, just replace _mktemp with mktemp and remove its declaration)
    # mm
    (the new su binary should be available in out/target/product/generic/system/xbin)

    The fixed binary is attached with this post. Just install Superuser from the market or install it after downloading from ChainsDD's thread (link above). Push the fixed su binary and away you go!!

    Code:
    # adb push su /system/xbin
    # adb shell chmod 4755 /system/xbin/su

    Let me know how it goes...

    Source Code: https://github.com/j4mm3r/android_system_extras
    2
    I dont think you have replaced the "su" binary with the one that I posted.

    Strange I pushed you su over to /system/bin and now I have root :)
    2
    OK so I just got this to work on my duel booting nook, with honeycomb v04 on partitions 9 and 10.

    First I downloaded the su binary on my computer
    Then I booted up my nook to honeycomb
    Installed Superuser from the market
    Then pushed the files to /system/bin and /system/xbin

    su-cmd.jpg


    I hope this helps some people. I had some problems getting it to work when I was just pushing it to /system/xbin. I also wasn't sure if it was going to work because I was duel booting. But after I pushed the files I used Titanium Backup to install a bunch of apps (including angry birds) as a test.

    :)
    1
    Okay so ChainsDD's Superuser doesnt work on Honeycomb. The reason is a (unnecessary?) hack used by the developer to link properly and use the mktemp function.

    To fix this, I downloaded the sources and compiled them again, but this time avoiding the _mktemp hack. Build instructions:

    Code:
    (get latest CM sources)
    # cd <path-to-project-directory>
    # repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
    # repo sync
    
    (do a generic build)
    # source ./build/envsetup.sh
    # lunch full-eng
    # make
    (take a break, this takes a long time)
    
    (fix the su binary)
    # cd system/extras/su
    # vi su.c 
    (make the fix, just replace _mktemp with mktemp and remove its declaration)
    # mm
    (the new su binary should be available in out/target/product/generic/system/xbin)

    The fixed binary is attached with this post. Just install Superuser from the market or install it after downloading from ChainsDD's thread (link above). Push the fixed su binary and away you go!!

    Code:
    # adb push su /system/xbin
    # adb shell chmod 4755 /system/xbin/su

    Let me know how it goes...

    Source Code: https://github.com/j4mm3r/android_system_extras

    Works great! My Root is up and working! Thank you!
    1
    I'm the author of SuperOneClick

    I'm going to try using this for Honeycomb devices.

    This will hopefully allow 0day Xoom rooting without unlocking the bootloader