• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

How to manually update su and SuperSu file through ADB root shell?

Search This thread

towenyu

New member
Nov 2, 2015
4
3
I have an un-rooted device, with Android 5.0 system, and the core is ARM Coretex A53.

I happen to found "adb root" works, that means I can play as root through ADB shell.

I successfully deleted a trash apk, renowned "kingroot", from my system.

Then, I try to manually update su and SuperSu file, through the bellowing commands:

# mount -o rw,remount /system
# cp /sdcard/mrw/su /system/xbin/su
# cp /sdcard/mrw/su /system/bin/su
# pm install /sdcard/mrw/superuser.apk
(I'm using a 2.46 SuperSu version, which should be OK for Android 5.0 system)

But it fails. The SuperSu told me " su binary not installed".

My questions:
1. Is this a feasible way to update Su and SuperSu, and get root access?
2. There's a bunch of architect, I tried both "arm" and "arm64", but none of the su binary can work. Which architect shall I choose, when I'm running on a ARM Coretex A53 core? ( I know it is a 64bit core)

Thanks a lot, and Best Regards,
towenyu
 

xfullmetal17

Senior Member
Jan 31, 2011
628
54
Did you get this device secondhand? Also what device is it, since many have their own root method because of OEM crap.

That said, you only need su in one location, either /system/xbin/su or /system/bin/su (I typically see it in /system/xbin/su). I'm not sure what happens if it's in both, but it's just wasted space.

You can try these commands through adb root; since you already were able to get su onto your device, it may be just a matter of ownership and permissions:
Code:
# mount -o rw,remount /system
# chmod 755 /system/xbin/su
# chown root:root /system/xbin/su
# mount -o ro,remount /system

chown 755 sets the permissions to rwxr-xr-x (user gets read/write/execute, group/other gets read/execute). Execute is the important bit here, since otherwise the su binary can't do its job. After those commands, try SuperSU again and see if it works (you might need a reboot, because of how Android 5.0+ handles changes to /system) The last mount -o ro command just changes /system back to read-only, to prevent accidental changes to other parts.
 

towenyu

New member
Nov 2, 2015
4
3
Successfully rooted!

Not that simple, but basically follow the update-binary script already inside supersu package.

Only need to made slight modification due to my system won't support "unzip"
 

xfullmetal17

Senior Member
Jan 31, 2011
628
54
Now that you're successfully rooted, go install Busybox, that'll give you a lot of Linux commands Android doesn't have by default, including unzip.
 
  • Like
Reactions: adinahmadin

towenyu

New member
Nov 2, 2015
4
3
Now that you're successfully rooted, go install Busybox, that'll give you a lot of Linux commands Android doesn't have by default, including unzip.

Thanks for your advice! I will try it.
But don't there's already a Busybox in android system? I guess what I need to do is find somewhere a more powerful busybox binary -- or build it by my own, but that may be not so easy for me.
 

xfullmetal17

Senior Member
Jan 31, 2011
628
54
Android has some basic Linux commands support, but I don't think it has Busybox (if you have a custom ROM you may have some additional commands, but since you said unrooted I don't think it was installed.

This is one of the most popular installers for Busybox: https://play.google.com/store/apps/details?id=stericson.busybox
I've used it since I first rooted with Android 2.2 and haven't had any issues with it (save for lack of vim, since stock Android doesn't have the correct libraries for it)
 
  • Like
Reactions: rennfah

gigawatt

Senior Member
Nov 19, 2008
141
16
rooting my htc m9 running marshmallow

Hi, I'm totally blind, and twrp isn't an option for me since it doesn't have a built in screen reader. I would like to install supersu to system, would some one kindly help me in telling me what files to put where. I think the m9 is arm64, but besides su and supersu.apk, I think there's installrecovery.ssh and some other files that have to go in, so please help some one
Android has some basic Linux commands support, but I don't think it has Busybox (if you have a custom ROM you may have some additional commands, but since you said unrooted I don't think it was installed.

This is one of the most popular installers for Busybox: https://play.google.com/store/apps/details?id=stericson.busybox
I've used it since I first rooted with Android 2.2 and haven't had any issues with it (save for lack of vim, since stock Android doesn't have the correct libraries for it)
 

nalas

Senior Member
Nov 19, 2012
1,373
1,157
Poland
Hi guys ,

it is possible to run manualy via adb shell update-binary file from META-INF supersu folder for install it ? (means before unpacked folder supersu is copied to ex. /tmp)
I'm asking bcose no custom recovery and no root on my device yet.

Thx
 

Azlun

Senior Member
May 9, 2013
340
217
Shenzhen
Hi guys ,

it is possible to run manualy via adb shell update-binary file from META-INF supersu folder for install it ? (means before unpacked folder supersu is copied to ex. /tmp)
I'm asking bcose no custom recovery and no root on my device yet.

Thx

I have same saturation, no TWRP, no SU installed on my device: [email protected]_cn:/ #, Android M,
What I have is a userdebug boot.img support "adb root", so my draft commands in my mind:( please run one by one, not batch.. WARNING, this may make your system bootloop,take your own risk!!!.)
fastboot flash boot boot_userdebug.img
fastboot reboot
adb wait-for-device
adb root
adb remount
adb disable-verity
adb shell setenforce 0
adb reboot

cd D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64
adb wait-for-device
adb root
adb remount
adb shell setenforce 0
adb push .\su /system/bin/su
adb push .\su /system/xbin/su
adb shell chmod 06755 /system/bin/su
adb shell chmod 06755 /system/xbin/su
adb shell /system/bin/su --install
adb shell /system/bin/su --daemon&
adb install ..\common\Superuser.apk
adb shell setenforce 0
adb disable-verity

if you found SuperSU not found root, try adb shell setenforce 0 again.
then you can get SuperSU found su file need to update, use normal way to do it.
then, it will be "Installation success !"
Enjoy it.
so reference log:
D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/bin/su
adb: error: failed to copy 'su' to '/system/bin/su': Read-only file system

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb root

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/bin/su
adb: error: failed to copy 'su' to '/system/bin/su': Read-only file system

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb remount
remount succeeded

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/bin/su
[100%] /system/bin/su

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/xbin/su
adb: error: failed to copy 'su' to '/system/xbin/su': Read-only file system

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb shell
[email protected]_cn:/ # su
[email protected]_cn:/ # cd /system/bin
[email protected]_cn:/system/bin # chmod 06755 su
chmod: chmod 'su' to 106755: Read-only file system
1|[email protected]_cn:/system/bin # ls su
su
[email protected]_cn:/system/bin # ls -al su
-rwxr-xr-x root shell 108496 2008-02-29 03:33 su
[email protected]_cn:/system/bin # su --intall
[email protected]_cn:/system/bin # su --daemon&
[1] 6146
[email protected]_cn:/system/bin # getenforce
Enforcing
[1] + Done su --daemon
[email protected]_cn:/system/bin # setenforce 0
[email protected]_cn:/system/bin # getenforce
Permissive
[email protected]_cn:/system/bin # exit
[email protected]_cn:/system/bin # exit
[email protected]_cn:/ # exit

/system/bin/su
exit
^C
 
Last edited:
  • Like
Reactions: nalas

nalas

Senior Member
Nov 19, 2012
1,373
1,157
Poland
I have same saturation, no TWRP, no SU installed on my device: [email protected]_cn:/ #, Android M,
What I have is a userdebug boot.img support "adb root", so my draft commands in my mind:( please run one by one, not batch.. WARNING, this may make your system bootloop,take your own risk!!!.)
fastboot flash boot boot_userdebug.img
fastboot reboot
adb wait-for-device
adb root
adb remount
adb disable-verity
adb shell setenforce 0
adb reboot

cd D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64
adb wait-for-device
adb root
adb remount
adb shell setenforce 0
adb push .\su /system/bin/su
adb push .\su /system/xbin/su
adb shell chmod 06755 /system/bin/su
adb shell chmod 06755 /system/xbin/su
adb shell /system/bin/su --install
adb shell /system/bin/su --daemon&
adb install ..\common\Superuser.apk
adb shell setenforce 0
adb disable-verity

if you found SuperSU not found root, try adb shell setenforce 0 again.
then you can get SuperSU found su file need to update, use normal way to do it.
then, it will be "Installation success !"
Enjoy it.
so reference log:
D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/bin/su
adb: error: failed to copy 'su' to '/system/bin/su': Read-only file system

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb root

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/bin/su
adb: error: failed to copy 'su' to '/system/bin/su': Read-only file system

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb remount
remount succeeded

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/bin/su
[100%] /system/bin/su

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/xbin/su
adb: error: failed to copy 'su' to '/system/xbin/su': Read-only file system

D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb shell
[email protected]_cn:/ # su
[email protected]_cn:/ # cd /system/bin
[email protected]_cn:/system/bin # chmod 06755 su
chmod: chmod 'su' to 106755: Read-only file system
1|[email protected]_cn:/system/bin # ls su
su
[email protected]_cn:/system/bin # ls -al su
-rwxr-xr-x root shell 108496 2008-02-29 03:33 su
[email protected]_cn:/system/bin # su --intall
[email protected]_cn:/system/bin # su --daemon&
[1] 6146
[email protected]_cn:/system/bin # getenforce
Enforcing
[1] + Done su --daemon
[email protected]_cn:/system/bin # setenforce 0
[email protected]_cn:/system/bin # getenforce
Permissive
[email protected]_cn:/system/bin # exit
[email protected]_cn:/system/bin # exit
[email protected]_cn:/ # exit

/system/bin/su
exit
^C

Thank You - I will check and give feedback :)
 

user4978023

Member
Apr 8, 2016
7
0
Can I somehow just copy su and supersu files to phone (stock ROM) with full root shell to get root? Unfortunately bootloader is locked and only root shell is available.
 

DB126

Senior Member
Oct 15, 2013
15,281
10,049
Can I somehow just copy su and supersu files to phone (stock ROM) with full root shell to get root? Unfortunately bootloader is locked and only root shell is available.
Of course not. If it were that easy rooting would be a non-issue for devices with a locked bootloader.
 

ThAnEb

Member
Mar 13, 2018
9
2
Successfully rooted!

Not that simple, but basically follow the update-binary script already inside supersu package.

Only need to made slight modification due to my system won't support "unzip"

Can you give more details ?
I'm in a similar situation (/system/bin/su and /system/xbin/su "updated" from Supersu zip , root access from adb shell , rom built as userdebug) but I'm unable to launch the update-binary through adb to get the TV fully rooted..
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    I have an un-rooted device, with Android 5.0 system, and the core is ARM Coretex A53.

    I happen to found "adb root" works, that means I can play as root through ADB shell.

    I successfully deleted a trash apk, renowned "kingroot", from my system.

    Then, I try to manually update su and SuperSu file, through the bellowing commands:

    # mount -o rw,remount /system
    # cp /sdcard/mrw/su /system/xbin/su
    # cp /sdcard/mrw/su /system/bin/su
    # pm install /sdcard/mrw/superuser.apk
    (I'm using a 2.46 SuperSu version, which should be OK for Android 5.0 system)

    But it fails. The SuperSu told me " su binary not installed".

    My questions:
    1. Is this a feasible way to update Su and SuperSu, and get root access?
    2. There's a bunch of architect, I tried both "arm" and "arm64", but none of the su binary can work. Which architect shall I choose, when I'm running on a ARM Coretex A53 core? ( I know it is a 64bit core)

    Thanks a lot, and Best Regards,
    towenyu
    1
    Now that you're successfully rooted, go install Busybox, that'll give you a lot of Linux commands Android doesn't have by default, including unzip.
    1
    Android has some basic Linux commands support, but I don't think it has Busybox (if you have a custom ROM you may have some additional commands, but since you said unrooted I don't think it was installed.

    This is one of the most popular installers for Busybox: https://play.google.com/store/apps/details?id=stericson.busybox
    I've used it since I first rooted with Android 2.2 and haven't had any issues with it (save for lack of vim, since stock Android doesn't have the correct libraries for it)
    1
    Hi guys ,

    it is possible to run manualy via adb shell update-binary file from META-INF supersu folder for install it ? (means before unpacked folder supersu is copied to ex. /tmp)
    I'm asking bcose no custom recovery and no root on my device yet.

    Thx

    I have same saturation, no TWRP, no SU installed on my device: [email protected]_cn:/ #, Android M,
    What I have is a userdebug boot.img support "adb root", so my draft commands in my mind:( please run one by one, not batch.. WARNING, this may make your system bootloop,take your own risk!!!.)
    fastboot flash boot boot_userdebug.img
    fastboot reboot
    adb wait-for-device
    adb root
    adb remount
    adb disable-verity
    adb shell setenforce 0
    adb reboot

    cd D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64
    adb wait-for-device
    adb root
    adb remount
    adb shell setenforce 0
    adb push .\su /system/bin/su
    adb push .\su /system/xbin/su
    adb shell chmod 06755 /system/bin/su
    adb shell chmod 06755 /system/xbin/su
    adb shell /system/bin/su --install
    adb shell /system/bin/su --daemon&
    adb install ..\common\Superuser.apk
    adb shell setenforce 0
    adb disable-verity

    if you found SuperSU not found root, try adb shell setenforce 0 again.
    then you can get SuperSU found su file need to update, use normal way to do it.
    then, it will be "Installation success !"
    Enjoy it.
    so reference log:
    D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/bin/su
    adb: error: failed to copy 'su' to '/system/bin/su': Read-only file system

    D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb root

    D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/bin/su
    adb: error: failed to copy 'su' to '/system/bin/su': Read-only file system

    D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb remount
    remount succeeded

    D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/bin/su
    [100%] /system/bin/su

    D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb push su /system/xbin/su
    adb: error: failed to copy 'su' to '/system/xbin/su': Read-only file system

    D:\tools\Downloads\SR3-SuperSU-v2.82-SR3-20170813133244\arm64>adb shell
    [email protected]_cn:/ # su
    [email protected]_cn:/ # cd /system/bin
    [email protected]_cn:/system/bin # chmod 06755 su
    chmod: chmod 'su' to 106755: Read-only file system
    1|[email protected]_cn:/system/bin # ls su
    su
    [email protected]_cn:/system/bin # ls -al su
    -rwxr-xr-x root shell 108496 2008-02-29 03:33 su
    [email protected]_cn:/system/bin # su --intall
    [email protected]_cn:/system/bin # su --daemon&
    [1] 6146
    [email protected]_cn:/system/bin # getenforce
    Enforcing
    [1] + Done su --daemon
    [email protected]_cn:/system/bin # setenforce 0
    [email protected]_cn:/system/bin # getenforce
    Permissive
    [email protected]_cn:/system/bin # exit
    [email protected]_cn:/system/bin # exit
    [email protected]_cn:/ # exit

    /system/bin/su
    exit
    ^C