Howto root the Sony Erricson Xperia X8 (Android 2.1) from Linux

I recently bought a new X8, and unlocked it from Three. Unfortunately, when branding the phone they decided to install all manner of crud that the user won't necessarily need. Apps such as Spotify load whether you want them to or not, and there's nothing you can do about it!

Well, nearly, you can root the phone and then uninstall the problem apps.

There's plenty of guides out there on how to root the X8 from Windows, but information regarding Linux and Mac systems is much harder to find! Let's begin;

  • Download and install the Android SDK
  • Create a folder (in your home directory) called X8_root
  • Download SuperOneClick (below) - Credit to XDA Developers
  • Save SuperOneClick to our new folder

Open a BASH shell and run the following commands

/home/$USER/X8_root
unzip SuperOneClickv1.9.1-ShortFuse\[1\].zip
cd SuperOneClickv1.9.1-ShortFuse\[1\]/

Now switch on your phones USB Debugging mode (Settings --> Applications --> Development --> USB Debugging)

Unmount the SD Card (Settings --> SD Card --> Unmount SD Card)

Connect your phone to the computer using the USB lead, when the phone asks chose "Charge Phone".

Now back to BASH;

adb push Exploits/psneuter /data/local/tmp/psneuter
adb push Root/su-v2 /data/local/tmp/su                          # See Note 1 below
adb push Root/superuser.apk /data/local/tmp/superuser.apk
adb shell
cd /data/local/tmp
chmod 755 psneuter
./psneuter

Once this has run, the adb shell will close and you'll need to reconnect;

adb shell
cd /data/local/tmp
mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system
cat su > /system/bin/su
cat superuser.apk > /system/app/superuser.apk
chmod 06777 /system/bin/su
chmod 777 /system/app/superuser.apk
reboot # See Note 2 below

Assuming all went well, your phone is now rooted. When it reboots, you should see a new menu item called "Superuser". The easiest way to check that you've gained root access (as you'll probably need to install this anyway) is to access Android Market and install BusyBox. Once it's downloaded, run the BusyBox Installer app from your menu and follow the instructions, it'll soon tell you if you don't have root!

You can now enjoy the benefits of having root access, such as removing those irritating pre-installed apps!

 

Notes

  1. The Zip file contains three versions of su (su-v1, su-v2 & su-v3). I originally used su-v1 but couldn't gain root access, you may find the reverse. The easy way to find out is to run the command in Note 2, and if necessary adapt the push command to push one of the other versions
  2. To check that you've installed the correct version of su, you can run one other command before issuing the reboot command;
    su
    if you are returned to the shell, you are good to go and can run reboot. If, however, you receive an error like this

    reloc_library[1245]:  2381 cannot locate '_ZNK7android6Parcel15setDataPositionEj'...CANNOT LINK EXECUTABLE

    you need to use one of the other versions of su stored within the Root folder.
  3. Although I've not tested it, this process should work for Mac users as well, in fact with a little tweaking there's no reason it shouldn't work on Windows (although the ZIP file also contains the easy one-click method for Windows users)

 

File: SuperOneClick.zip