manually root android 4.2.1

hello all

i'm trying to MANUALLY root an android 4.2.1 without flashing the whole OS nor using automated tools

the phone is an archos 53 platinum, arm arch, no idea about other hardware specs

i have full access to the system partition read-write in an external linux system

i copied the su binary for arm in /bin, owned by root and chmodded to 777

when i run su in a terminal, the phone nor longer complains that the command is missing, but says i do not have the rights

what am i missing there ?
do i need to make myself member of root's group ? using /etc/passwd ?

superuser is installed but there seem to be a mismatch between it's version and the su i installed, or i installed into the wrong location. the app complains that su needs to be updated but i kinda recollect it also did when su was not there at all. will installing matching versions make it work ?

please don't copy a bunch of random link as an answer. if you googled it in less that 2 minutes, it is unlikely i have not read that page already

thanks all for you time.
LVL 28
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Ihab ShoullyCommented:
1. Download su, busybox and Superuser.apk and place them in the same folder.
2. Go to that folder in CMD . (Better if run as administrator)
3. Then connect your device with USB debugging ON and Unknown Sources ON and type the following commands.

adb devices

Open in new window

it should show “device” and some numbers next to it. or install your device drivers (from the manufacturer) .

4. Now type the following commands,

adb root
adb push su /system/bin
adb push busybox /system/bin
adb push Superuser.apk /system/app

Open in new window


5. By using the command adb root you can actually root access to your device. After you’ve done that you have to change permissions of those files. But, first you need to get into the device shell, you can do all that my typing the following commands

adb shell
chmod 7655 /system/bin/su
chmod 755 /system/bin/busybox
chmod 644 /system/app/Superuser.apk 
chown root:shell /system/bin/su
chown root:shell /system/bin/busybox
chown root:shell /system/app/Superuser.apk

Open in new window

6. Now your actually almost done all you need to do is disconnect your phone and then reboot it. You can verify whether your tablet is rooted or not using an app in the market called Root Checker.

Source Root Your Android device manually
skullnobrainsAuthor Commented:
i would not be posting if this worked on my device, but thanks for the information anyway :

$ adb root
adbd cannot run as root in production builds

Open in new window

additionnally, the filesystem is mounted read-only so this procedure would definitely require an extra step to remount read-write before you can push anything into /system/bin which would require to be root


nevertheless i found a completely different way to access the fs in rw mode offline at boot time.

it is possible that "chgrp su shell" will do the trick because i was using root:root. maybe for some reason allowing everybody to use su is ignored. i'll post back when i can give it a try which might take some time because i cannot put my phone offline during the day.


i installed superuser and busybox through regular channels. would that make a difference ? they do not seem to reside in the above mentioned locations but they do exist on the phone.

note that i'm not trying to run applications as root, but rather be able to su/sudo when needed
Ihab ShoullyCommented:
What happens when you try to remount the filesystem using shell ?

adb shell mount -o rw,remount /system

Open in new window


adb shell
mount -o rw,remount /system

Open in new window

Fundamentals of JavaScript

Learn the fundamentals of the popular programming language JavaScript so that you can explore the realm of web development.

skullnobrainsAuthor Commented:
since i'm not root, it says "operation not permitted"
i added the name of the device to mount with the same result
i also tried to mount to a different location to no avail

anyway, being able to become root and/or mount the filesystems rw would be great but this is not really my problem : i do manage to access the filesystem offline as root and i guess i can find the id of the shell user pretty easily even offline.

my actual problem is rather why copying su is not enough :
how does android determine who has the right to su ?
how do i know which user i am ? i'm shell ? always ?

i also wonder why busybox and superuser were installed in different locations and if that would make a difference

... and i defenitively do not understand clearly the role of Superuser.apk
skullnobrainsAuthor Commented:

the way i access the filesystem rw is by starting it up while holding volume down and power.
the screen when it works displays
and nothing including the power button works on the phone

at that step, plugging the USB cord gives access to all the filesystems on the device.
i have debugging activated and the phone is setup to present itself as an usb key
i have no idea which of these setups are related if any


i downloaded a very outdated version of superuser here
i used matching versions of superuser.apk and su
i changed permissions from root:root 777 to root:2000 755
and it works more or less
again i have no idea which of the above steps helped


now here come problems :
- this is fairly unstable : superuser.apk crashes repetitively
maybe another version would be better ?
- when i su from the terminal, i see a little popup stating that terminal was allowed to su but i still see access denied in my terminal
- existing apps don't seem to be added to the applications list
is there a way to add them without reinstalling them ?

also any details on how su works on android would be very welcome

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Ihab ShoullyCommented:
Type "whoami" to now who you are:


Open in new window

Shell is not a user, it's "script" or series of command written in plain text file. Shell script is like MS-DOS.

Type this:

echo $0

Open in new window

this command will print the program name that you use, maybe it's "shell" or "bash" ...
skullnobrainsAuthor Commented:
yeah, i'll do that when i manage to use busybox again

shell is actually a user on my device : i can see files owned by "shell". i have no idea wether this is normal on android, and even less idea about where accounds are stored since it does not seem like android makes use of /etc/shadow, passwd or the likes
skullnobrainsAuthor Commented:
this works perfectly without superuser or equivalent apk, and is what i now use.
actually i'm not using the su from superuser but rather a regular su version compiled for ARM

it would probably work with superuser if i managed to find a version of superuser that works properly

the same operation works on various android phones. i assume it works on all androids that give access to that blue ENTRY QPST screen. unfortunately a couple of phones apparently don't give access to this debug screen easily if at all
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.