So, I just got this phone.
Not having permanent root is killing me, but I think this should solve the issue of disappearing su and busybox.
The general idea is to move all our root binaries to /data/local/bin, and remount /data to accept suid binaries (the 'su' binary requires sticky bit, aka chmod 4755). After you set that, you bind mount /system/xbin to /data/local/bin. Bind mounts stay in memory, and aren't cleared like mods to /system are.
This won't solve the issue of stuff in /system going away, but it will solve the issue of having your root utilities go away after a short amount of time.
This section would be run from the desktop PC on the first time of 'rooting' the phone:
and the 'temproot.sh' file would contain:
on a reboot, all you'd have to run from the desktop PC would be:
and you'd be back to working.
let me know what y'all think, hopefully this solves something or isn't something already been done before
Thanks for looking!
EDIT:
upon discussing some other possibilities with a friend, he suggested "why not have this all happen on-device?"
it appears there may be a way to temproot/do the above all on the device without the need for a PC!
(dev details: adbd listens on localhost:5037, run zergrush then take adb client on phone connect to adbd on phone and run the temproot scripts)
exciting stuff here, folks!
Not having permanent root is killing me, but I think this should solve the issue of disappearing su and busybox.
The general idea is to move all our root binaries to /data/local/bin, and remount /data to accept suid binaries (the 'su' binary requires sticky bit, aka chmod 4755). After you set that, you bind mount /system/xbin to /data/local/bin. Bind mounts stay in memory, and aren't cleared like mods to /system are.
This won't solve the issue of stuff in /system going away, but it will solve the issue of having your root utilities go away after a short amount of time.
This section would be run from the desktop PC on the first time of 'rooting' the phone:
Code:
adb install superuser.apk
adb push zergRush /data/local/tmp/zergRush
adb shell "chmod 755 /data/local/tmp/zergRush;/data/local/tmp/zergRush"
adb shell "mkdir /data/local/bin"
adb push su /data/local/bin/su
adb push busybox /data/local/bin/busybox
adb push temproot.sh /data/local/tmp/temproot.sh
adb shell "chmod 755 /data/local/tmp/temproot.sh;/data/local/tmp/temproot.sh"
and the 'temproot.sh' file would contain:
Code:
#!/system/bin/sh
mount -o remount,suid /dev/block/mmcblk0p34 /data
chmod 4755 /data/local/bin/su
chmod 755 /data/local/bin/busybox
cat /system/xbin/dexdump > /data/local/bin/dexdump
cat /system/xbin/wireless_modem > /data/local/bin/wireless_modem
/data/local/bin/busybox mount --bind /data/local/bin /system/xbin
on a reboot, all you'd have to run from the desktop PC would be:
Code:
adb push zergRush /data/local/tmp/zergRush
adb shell "chmod 755 /data/local/tmp/zergRush;/data/local/tmp/zergRush"
adb shell "mount -o remount,suid /dev/block/mmcblk0p34 /data"
adb shell "/data/local/bin/busybox mount --bind /data/local/bin /system/xbin"
and you'd be back to working.
let me know what y'all think, hopefully this solves something or isn't something already been done before
Thanks for looking!
EDIT:
upon discussing some other possibilities with a friend, he suggested "why not have this all happen on-device?"
it appears there may be a way to temproot/do the above all on the device without the need for a PC!
(dev details: adbd listens on localhost:5037, run zergrush then take adb client on phone connect to adbd on phone and run the temproot scripts)
exciting stuff here, folks!
Last edited: