Rooting a Motorola Photon Without a Dock

While the first methods to gain root access to the Android-powered Motorola Photon required an expensive webtop dock, we were soon provided an easy, dock-less method for rooting by the incomparable Edgan at xda-developers. For those not yet battle-hardened by Android rooting attempts, I'm providing a clear step-by-step guide to rooting a Motorola Photon, with detailed instructions for points of common confusion.

Note: I'm using OSX in this guide, but there aren't any significant differences when using other operating systems.

First, let's get some tools set up on your Photon.

Install two apps from the Android Marketplace:

Superuser won't be of much use until you have root access, but you can fire up the Android Terminal Emulator right now if you want to see what it does. It basically gives you a linux prompt on your Android device, allowing you to issue standard linux commands to the underlying operating system. We'll use this to test our root access when we are finished.

The first thing we need to do is get the file photon-torpedo.tar onto your Photon's internal memory. In my opinion, the easiest way of doing this is using my old friend, and an essential Android development tool, ADB. If you don't have ADB installed and working, check out my previous guide to Installing and Using ADB in OSX (or check Google for a guide for your OS, though its fairly similar) for help on using ADB to access your Android device.

With ADB installed, download the photon-torpedo.tar file to your computer. I downloaded mine to:

/Users/constantinecois/Downloads<br />

but it doesn't really matter where you put it.

Navigate to the location of photon-torpedo.tar in a Terminal window. Now we need to attach the phone. Make sure the ‘USB Debugging’ is enabled on your phone (Settings->Development), and plug your phone into a USB port on your computer. Motorola has been nice enough to provide a cable for this with the phone charger.

Just to make sure we have ADB installed and working, type

adb devices<br />

You should see something like:

List of devices attached<br />
XXXXXXXXXXXXX device<br />

If not, go back and make sure to install ADB correctly.

When you are ready to go, we want to get photon-torpedo.tar into /data/tmp on your Photon. To do this, issue the following ADB command in your terminal:

adb push
<path-to-file>\photon-torpedo.tar /data/tmp
</path-to-file>

Now bring up an ADB shell:

adb shell<br />

(or use the Android Terminal Emulator app, but its a bit more tedious to type this way). Currently, when we fire up the shell, we are issuing commands as a standard, non-root user. By the time we are done here, we will get a nice, empowering root prompt. Navigate to the directory you pushed photon-torpedo.tar to:

cd /data/tmp<br />

Unzip the file:

/bin/tar xf /data/tmp/photon-torpedo.tar<br />

Now run the exploit that will allow you to gain root access:

/data/tmp/photon-torpedo.sh<br />

At this point you may or may not see the following error

$ ./photon-torpedo.sh<br />
./photon-torpedo.sh<br />
ERROR: ld.so: object 'libpcprofile.so' cannot be loaded as audit interface: unde<br />
fined symbol: la_version; ignored.</p>
<p>Fatal server error:<br />
Server is already active for display 0<br />
If this server is no longer running, remove /tmp/.X0-lock<br />
and start again.</p>
<p>Please consult the The X.Org Foundation support<br />
at http://wiki.x.org<br />
for help.</p>
<p>ddxSigGiveUp: Closing log<br />

This doesn't matter, as long as the next prompt is a root prompt:

root@localhost:/data/tmp#<br />

If you have this root prompt, you are home free. Run one more command to secure permanent root access:

/data/tmp/install-su.sh<br />

That's it! If you want to verify root access, the Superuser app will now pop up any time an app requests root access, allowing you to allow or deny. Go ahead and launch Android Terminal Emulator (you can use any other root-enabled app you want for this test, if you like) and type:

su -<br />

at the command prompt. This just asks to simulate the root user, a very direct way of testing root access. You should see the Superuser app pop up a window looking something like this:


Terminal Emulator SuperUser Access Image

I'd recommend denying this access, just to make sure you don't issue any unintentional commands as root. But the fact that you were able to request root access successfully demonstrates that you now have root access.

I'll leave you with a great Lifehacker post listing some of the best apps you can only take advantage of with a rooted phone. Enjoy!