Tag Archives: linux

HowTo: root your Xperia x10 mini pro 2.1.1.A.0.6 – 2.1-update1

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:

Once you have all the necessary stuff, we can start!

Step by step guide

  1. Start putting device in “debug mode”: Settings – Applications – Development – USB debugging
  2. 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.
  3. 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
  4. 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)
  5. 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
  6. 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.
  7. 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)
  8. 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
  9. 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?