Pages

3.24.2012

Root, Recovery, and ROM on a classic Droid (A855)

This week I picked up an original Motorola Droid from a co-worker who had upgraded to a Droid Razr. Since I use Linux, most of the rooting and recovery flashing we completely useless to me.  After piecing together enough information from various sources, I was finally able to perform a manual root of the Droid, followed by a bootloader upgrade to install clockworkmod which will allow me to install a new ROM.  I will document my procedures here, so you don't have to go through all the hassle that I did.

First things first, this tutorial is for LINUX users (it may also be applicable for Mac users).  If you have Winderp, there are plenty of other tutorials out there for you.

Prerequisites:

  • Motorola Droid
  • adb installed on you machine
Downloads:

Rooting the phone:
  1. On the phone itself, navigate the settings menu to Applications > Development and enable "USB Debugging."
  2. Back up one level and enable "Unknown sources."
  3. Plug in your phone and open terminal.  Then type adb devices .  You should see a string of characters.  If you see nothing, then you need to troubleshoot adb.
  4. Extract the contents of superoneclick on your computer and then upload the psneuter file from the "exploits" folder using adb push psneuter /data/local/tmp .
  5. Jump into adb shell by typing  adb shell, then run chmod 777 /data/local/tmp/psneuter .
  6. Change directory and execute the psneuter exploit.  cd /data/local/tmp,  ./psneuter
  7. You will be disconnected from adb shell.  Run adb kill-server and adb devices on your local box.
  8. Reconnect to adb shell and you should see the # sign instead of $.  If you dont see #, you don't have root.
  9. Remount the system partition: mount -o remount,rw -t yaffs /dev/block/mtdblock4 /system
  10. In another terminal, copy the su and busybox binaries to the system bin folder: adb push su-v3 /system/bin/su and adb push busybox /system/bin/busybox
  11. Switch back to the adb shell terminal and run the following: chmod 4755 /system/bin/su  and chmod 4755 /system/bin/busybox .
  12. Type "su" in adb shell. If you get a blank line then you are good to go. If you get an error, you may need to push a different version of busybox.
  13. Install SuperUser.apk by typing in adb install SuperUser.apk in the other terminal.
  14. Remount the system partition as RO in adb shell with: mount -o remount,ro -t yaffs /dev/block/mtdblock4 /system .
  15. Reboot the phone with adb reboot in the local terminal.
  16. Dowload the root tester app from the Market and test root access.  If all went well, you have full root access.
The recovery installation portion will come at a later time, when I get a chance to develop the topic fully.