CyanogenMod 6.1.2 on Motorola Milestone

Posted January 15, 2011

Motorola doesn't seem to be interested in updating their phone, so until recently I was still on Android 2.1 with my Milestone (EU equivalent to the Droid in the U.S.). When I tried to install a custom ROM, I was overwhelmed by all these different, sometimes even contradicting, guides and tutorials. To summarize it

  • the ROM Manager doesn't work,
  • getting root access is easy,
  • the Milestone is similar, but not identical to the Droid,
  • things are really difficult due to the encrypted bootloader in the Milestone,
  • but fortunately that bootloader can be replaced.

Here is what I did to get CyanogenMod 6.1.2 running (DON'T TRY THIS IF YOU DON'T HAVE A BACKUP. FLASHING THE FIRMWARE MIGHT VOID YOUR WARRANTY. IT IS YOUR OWN RISK.):

  1. I got root access with Universal Androot which was ridiculously easy.
  2. I downloaded the current version of sbf_flash.
  3. I downloaded the Vulnerable Recovery RAMDLD90_78 flash image
  4. I downloaded the Milestone bootloader version 90.78 from Motorola
  5. I downloaded CyanogenMod 6.1.2 for Milestone, including Google Apps HDPI, but you could also use stock Android flash files from that website.
  6. I downloaded OpenRecovery 3.3.
  7. I downloaded the Disable_recovery_check script.
  8. I connected the Milestone to my computer by USB using the "Memory Card Access Mode"
  9. I unpacked the file OpenRecovery-3_3.zip to the root folder of the sdcard.
  10. I unpacked the file Disable_recovery_check_by_OTA.zip to the /sdcard/OpenRecovery/scripts folder.
  11. I copied the update-cm-6.1.2-0.05-10.12.27-Milestone-signed.zip and the gapps-hdpi-20101020-signed.zip to the root folder of the sdcard.
  12. I synced, then "safely removed" and then turned off the Milestone.
  13. I connected it by USB to my computer.
  14. I turned it on again while holding "Up" on the d-pad.
  15. I flashed the bootloader version 90.78 on the device by typing sudo ./sbf_flash BL_9078_umts_sholes_HS_Consumer_replacer.sbf
  16. I rebooted the phone while holding "Up" on the d-pad again.
  17. I flashed the Vulnerable Recovery patch by typing sudo ./sbf_flash vulnerable_recovery_only_RAMDLD90_78.sbf
  18. I rebooted the phone while holding "x" on the keyboard.
  19. I pressed the "Volume up" and "Camera" button to get a menu once I saw the screen with the exclamation mark.
  20. I applied sdcard:update.zip file
  21. I ran the Disable_recovery_check_by_OTA.sh script from inside the Open Recovery menu.
  22. I made an Nandroid backup of everything.
  23. I copied update-cm-6.1.2-0.05-10.12.27-Milestone-signed.zip and the gapps-hdpi-20101020-signed.zip to the folder /sdcard/OpenRecovery/updates by using the console.
  24. I applied first the update-cm-6.1.2-0.05-10.12.27-Milestone-signed.zip update and then the gapps-hdpi-20101020-signed.zip.
  25. Finished!