After months and months of promises about updates I got sick and tired of Motorola. Although I still like my Milestone Android phone, Motorola itself makes it a pain. Froyo (Android 2.2) is already out since May 2010 and Motorola kept pushing the upgrade months and months away. An additional downer is that Motorola locked the BootLoader, necessary to install custom roms of Android like CyanogenMod.
But there is help out there. A genius called nadlabak made the incredible and made a mod of the CyanogenMod which is especially created for the Motorola Milestone.
Here's how I updated my Motorola Milestone from official 2.1-update1 to CyanogenMod 6.1.2:
Update 18.01.2011: nadlabak released an update for his CyanogenMod-mod (6.1.2-0.06-11.01.15). The link has been updated.
Update 07.02.2011: Good news. Meanwhile another new version is released (6.1.2-0.07-11.01.28) AND a preview version of Android's Gingerbread is already available for the Milestone. But this one isn't considered stable enough yet. Link has been updated.
Update 22.03.2011: Another update from nadlabak. The actual version which dates from March 18 fixes a WLAN connection bug. Link has been updated.
Update 06.06.2011: Since June 2011 I personally use Gingerbread (Cyanogenmod 7) but I suggest you follow this manual to first upgrade to Froyo and afterwards you download CM7 and install it with OpenRecovery. It's pretty hard to find RSD Lite 4.6 these days on Internet, as download links are broken. I've updated the link.
Follow these steps to install CyanogenMod 6.1.2 (Froyo 2.2) on your Motorola Milestone:
0. Backup your data! And create a list of the Apps you are using now, since they will be deleted.
1. Download Motorola USB Drivers, RSD Lite 4.6 or newer, the vulnerable Milestone BootLoader, OpenRecovery 1.46, CyanogenMod 6.1.2 for Milestone, Google Apps
2. Install USB Drivers and RSD Lite. Plug your phone to your computer and use Memory Card Access.
3. Unpack OpenRecovery 1.46 (OpenRecovery_v1_46_SHOLS.rar) to the root-folder of your phone's SDCard (/sdcard).
4. Unzip the vulnerable BootLoader from the zip file (vulnerable_recovery_only_RAMDLD90_78.zip). Launch RSD Lite, select the connected phone in the list and at the top of the application choose the vulnerable Milestone Bootloader (sbf-file). Click on the Start-button.
5. You will see that your phone turns off and the Bootloader installation process starts. Look at the status in RSD Lite. When it is written that the phone is restarting, press and hold the camera button of your phone... so long until you see a triangle with an exclamation mark inside. Now when this sign appears, press "Volume Up" and the camera button at the same time and you will see the BootLoader menu. Select "Apply Update" by using the D-Pad on your physical keyboard. This will launch OpenRecovery.
6. Now in OpenRecovery, it's time to do some backup things. Launch "Nandroid" from the OpenRecovery menu and select Backup. Create a full backup (all), just in case. This will be saved on your SD Card.
I personally also wanted to save all MMS/SMS and my private keys used with ConnectBot. To do this, launch "Console" from the OpenRecovery menu. You are now in a Linux shell and can launch commands.
To backup your MMS/SMS database and your ConnectBot hosts/keys:
cp /data/data/com.android.providers.telephony/databases/mmssms.db /sdcard
cp -R /data/data/org.connectbot /sdcard
This moves the SMS/MMS database and your ConnectBot files/db's to the sdcard which should left untouched. Type 'exit' to leave the Console mode.
7. Back in the OpenRecovery menu, select the option "USB Mass Storage Mode" which will let you have access on the SDCard from your computer. Again: Check if you need to backup data from the card to your computer. You should now see mmssms.db and the connectbot folder in your sd card, copy them to your computer.
Now you have to place the CyanogenMod (update-cm-6.1.2-0.05-10.12.27-Milestone-signed.zip) into /sdcard/OpenRecovery/updates. Do the same with the Google Apps ((gapps-hdpi-20101114-signed.zip).
Disable the USB Mass Storage Mode - you return to the OpenRecovery menu.
8. Select Data Wipe / Factory reset. Confirm. This will wipe all your data in your internal memory. Then you will be back in the menu.
9. Now select "Apply Update". This will show a list of zip-files which reside in /sdcard/OpenRecovery/updates. Select update-cm-6.1.2-0.05-10.12.27-Milestone-signed.zip and install it. Do the same with gapps-hdpi-20101114-signed.zip.
10. In the OpenRecovery menu select the first option to restart your phone. You should see CyanogenMod starting up and you will have to set up your phone with your Google Account once more. Your contacts and mails are of course saved on the Google servers and will resynchronize.
Enjoy the speed of your phone!
Don't forget to check out http://android.doshaska.net/cm6 for updates of the CyanogenMod and to donate if you like the work of nadlabak!
Claudio from Switzerland wrote on Feb 20th, 2012:
Thanks for the comment. Yes, that is absolutely correct. This is the boot-mechanism for some Milestone versions and also for the Droid.
Ach from Amsterdam wrote on Feb 20th, 2012:
For some of you (like me) things might not go as described above. this is because some devices function differently from each other. At step 4 turn of your android device. Unzip the vulnerable BootLoader from the zip file (vulnerable_recovery_only_RAMDLD90_78.zip). Reboot your device while holding \'\'up\'\' on your d-pad of the physical keyboard this will enable RSD Lite to connect. Now launch RSD lite from pc and select the connected phone in the list and at the top of the application choose the vulnerable Milestone Bootloader (sbf-file). Click on the Start-button.
At step 5 if it still does not show the exclamation mark when you hold down the camera button. Try pressing the \'\'up\'\' button on your Dpad instead. or \'\'X and UP\'\' on your physical keyboard.
Hope this helps.
AWS Android Ansible Apache Apple Atlassian BSD Backup Bash Bluecoat CMS Chef Cloud Coding Consul Containers CouchDB DB DNS Database Databases Docker ELK Elasticsearch Filebeat FreeBSD Galera GlusterFS Grafana Graphics HAProxy HTML Hacks Hardware Icinga Icingaweb Icingaweb2 Influx Internet Java KVM Kibana Kodi Kubernetes LXC Linux Logstash Mac Macintosh Mail MariaDB Minio MongoDB Monitoring Multimedia MySQL NFS Nagios Network Nginx OSSEC OTRS Office PGSQL PHP Perl Personal PostgreSQL Postgres PowerDNS Proxmox Proxy Python Rancher Rant Redis Roundcube SSL Samba Seafile Security Shell SmartOS Solaris Surveillance Systemd TLS Tomcat Ubuntu Unix VMWare VMware Varnish Virtualization Windows Wireless Wordpress Wyse ZFS Zoneminder