Jan 272012
 
Rooting your Milestone 2

Without any good reason and no actual need and more for because-I-am-curious, I rooted my Milestone 2 (v2.3.4).

Instructions came mostly from here which pointed me into the right direction:

The actual commands I used were:
  1. Turn on the USB debugging on the Milestone: Settings/Applications/Development/USB Debugging must be checked
  2. Connect Milestone 2 via USB to my Linux machine
  3. Run “adb devices” as root. This starts the adb local server which connects to the phone via USB.
  4. adb push Exploit/zergRush /data/local/tmp
  5. adb shell
  6. cd /data/local/tmp
  7. chmod 777 zergRush
  8. ./zergRush
It’s fun to watch and in the end it said it has done its deed, and it closes the adb shell.
Back on the Linux machine:
  1. adb kill-server
  2. adb devices
  3. adb shell
and I had the # prompt in front of me. It’s that easy.
Now making it permanent:
  1. See what block device is used via: cat /proc/mounts
  2. In my case /system is mounted from /dev/block/mmcblk1p21
  3. mount -o remount,rw /dev/block/mmcblk1p21 /system
  4. exit
  5. adb push Dependencies/busybox /system/bin/busybox
  6. adb push Root/su-v2 /system/bin/su
  7. adb install Root/Superuser.apk
  8. adb shell
  9. chmod 4755 /system/bin/busybox
  10. chmod 4755 /system/bin/su
  11. mount -o remount,ro /dev/block/mmcblk1p21 /system
  12. exit
  13. adb reboot

The phone reboots here and it’s done. Next time I log in via “adb shell” I simply type “su” and I am root.