In this post I’m going to show you how I manually achieved root on this device.
Preamble
I tried every possible automated tool I found (z4root, SuperOneClick), but I had no luck.
My setup involves a GNU/Linux box and this may be the cause.
First of all here are the device details I got from “CurveFish DeviceInfo” app:
Model: U20i
Manufacturer: Sony Ericsson
Device: U20i
Product: U20i_1238-0129
Brand: SEMC
CPI ABI: armeabi
Kernel Version: 2.6.29
SEMCUser@SEMCHost )
#1 PREEMPT Fri Dec 17 18:35:45 2010
Build Number: 2.1.1.A.0.6
Release: 2.1-update1
SDK: 7
Full log here Xperia X10 Mini Pro.deviceinfo.txt.
Prerequisites
Here’s the required tools:
- a PC (mine is powered by Ubuntu 11.04 Natty Narwhal)
- an usb cable for your mobile
- adb configured and running on the PC (find more info here)
Software used:
- psneuter
source code here: https://sites.google.com/site/root4android/rooting/psneuter-c
compiled binary can be found inside SuperOneClick
direct download link: psneuter - su
source code here: https://github.com/ChainsDD/su-binary
compiled binary can be found inside SuperOneClick: search for su-v2
direct download link: su-v2 - Superuser
source code here: https://github.com/ChainsDD/Superuser
compiled binary can be found in the Android market page
direct download link: Superuser_2.3.6.1.apk
Once you have all the necessary stuff, we can start!
Step by step guide
- Start putting device in “debug mode”: Settings – Applications – Development – USB debugging
- Connect device to pc using usb cable and start adb with
adb shell
You may to choose “Charge phone”, so you can still access your sdcard within the phone. - Check you can write in this specific directory:
$ cd /sqlite_stmt_journals
$ touch testfile
$ ls -l
-rw-rw-rw- shell shell 0 2011-08-02 16:23 testfile
$ rm testfile
$ ls -l
$ exit - If everything went ok, put the needed files in the previous directory; from your pc terminal type:
$ adb push psneuter /sqlite_stmt_journals
3157 KB/s (585731 bytes in 0.181s)
$ adb push su-v2 /sqlite_stmt_journals/su
630 KB/s (26264 bytes in 0.040s)
$ adb push Superuser_2.3.6.1.apk /sqlite_stmt_journals
3533 KB/s (196521 bytes in 0.054s) - Prepare the software on the phone:
$ adb shell
$ cd /sqlite_stmt_journals
$ ls -l
-rw-rw-rw- shell shell 196521 2011-08-03 13:16 Superuser_2.3.6.1.apk
-rw-rw-rw- shell shell 26264 2011-08-03 13:16 su
-rw-rw-rw- shell shell 585731 2011-08-03 13:15 psneuter
$ chmod 755 psneuter - Now you can exec psneuter. You will lose the active shell.
You could see this message or not, that’s not a problem:$ ./psneuter
property service neutered.
killing adbd. (should restart in a second or two)
Your phone will detach and reattach usb connection automatically. - Once more you have to connect to the device with adb shell, but you’ll see a different prompt:
$ adb shell
# id
uid=0(root) gid=0(root) - Now we have a temporary access to root user via adb.
Let’s do the trick on the system:
# mount -o remount,rw /dev/block/mtdblock0 /system
# mkdir /system/xbin
# chmod 755 /system/xbin
# cat /sqlite_stmt_journals/su > /system/xbin/su
# chmod 6755 /system/xbin/su
# ls -l /system/xbin/su
-rwsr-sr-x root root 26264 2011-08-02 18:19 su
# cat /sqlite_stmt_journals/Superuser_2.3.6.1.apk > /system/app/Superuser_2.3.6.1.apk
# chmod 777 /system/app/Superuser_2.3.6.1.apk - It’s time to reboot:
# reboot
That’s it.
Verify
One easy way to verify the process is to install “Android Terminal Emulator” from market and type:
$ su
#
if you get the Superuser popup and the right prompt “#” it’s all ok.
Further reading
Why don’t you install ClockworkMod Recovery now?
Maybe Ice Cream Sandwich?
I saw your link reference here: http://ijustutter.com/how-to-root-xperia-x10-mini-pro-step-by-step-guide
but this is very tough process. I got my xperia rooted with this new process posted here:
http://ijustutter.com/flashtool-root-sony-ericsson-series-android-easily-working
Why not use easy process of FlashTool? It also works with linux and do same adb push as your method?
Thank you for the tip. Are you sure that X10FlashTool.exe will run smoothly in GNU/Linux (may I use Wine?). I'll give a try.
It seems you can use the same procedure to root the Alcatel OT-990 phone.
Thanks! It worked well with my X10 Mini. Could you make a tutorial to install cyanogenmod or miniCM7 on the X10 Mini (Pro)?
Hi @xavier I promise I'll do.
Hi @xavier, I did a guide for the first part of your request: how to install ClockworkMod Recovery (http://blog.mx17.net/2011/11/howto-install-clockworkmod-recovery-on.html). That's the hardest work, but I'll write something on MiniCM, too.
Let me know your opinion.
Hi, its nice to get this tutorials, I have successfully rooted my xperia x10 mini.
thanks.
I moved the three files you mentioned to a location in sdcard and they are executable. However, when I do “./psneuter” I am getting “permission denied” error. I am curious why. I am trying to root my motorola motoluxe phone, and assuming that the instruction you provide are applicable any phone. And I am also assuming that “/sqlite_stmt_journals” is not a special folder. I would appreciate if you can confirm this.
You are right. That directory has no special meaning, but its peculiarity is that is writeable by anyone and is on a partition of the internal storage. The sdcard is fat32 formatted and mounted by the operating system with no execution permission, so it’s impossible to start any binary despite of the permissions you give to the files.
Hi, Can you please help in installing jelly bean on my ISC -running Sony Xperia Sola? It would be a great gesture.
Sorry, but I don’t own such device, so I cannot help you.
Hi, no problem! Thanks anyways..
I’ ve some issue about adb shell – I installed adb shell as a part of sdk tools, it’s right there in platform-tools executable file but it won’t do anything. I set into platform-tools directory type : adb shell, then i tried adb.bin – but probably it isn’t bin file. I can’t run it no way
Hi Roberto,
as I mentioned in the “Prerequisites” section, you can try to find some more info about adb here.
Sure I’ve read it, but it says when adb starts… – but in my case it won’t start and no action on 5037 port so it’s not runnin
Ok.
Are you on a GNU/Linux machine? In that case, has “adb” file execution permission? Have you tried “./adb”?
Is it an executable file (try “file adb” to see it)?
I cannot find adb.bin in my installation, but it could be my fault.
Hope it helps.