This article mentions flashing of custom ROMs. If you’re unfamiliar with this term, hit up our primer here:

CyanogenMod 6, a very popular custom Froyo ROM for a whole slew of Android phones, has given thousands of Android users something device manufacturers tried to take away - absolute freedom in customizing your Android experience. One glaring omission from the bunch is the Motorola Milestone, which Motorola decided to lock down way harder than its US counterpart, the original Droid.

All of this changed the other day with the announcement of Milestone support for CyanogenMod 6.1. Excited Milestone users, raise your hands!

Here are the release notes, current as of September 18th:

Status: first public alpha release of CyanogenMod 6 port for Milestone (a nandroid backup for the start)
Update (17.9.2010): 0.01b fix for the reboot issue (or at least for one common cause of it) - humble return to the mot_boot_mode hijack (sh hijack discarded)

Please, report bugs and issues here: http://code.google.com/p/cyanogenmod4milestone

What is working: hopefully everything (GSM, WiFi, BlueTooth, GPS, camera & focus, video & audio recording & playback, native FroYo app2sd, Adobe flash)
Custom additions to CM6: several additional dictionaries for the keyboard

Main obstacles encountered: missing new 2.2 functions in the proprietary audio driver library libaudio taken from 2.1 system, solved by modifications to AudioFlinger.cpp (getInputFramesLost and getRenderPosition).

Known problems:
- intermittent chaotic touch screen responses when connected to USB (known also from the official Motorola firmware)
0.01b: (minor) missing sdcard unmount in mot_boot_mode, will be fixed in the next update

To do:
- prepare and release the source for custom building (=> installation via update.zip in the future)
- clean up the mess in init scripts
- invent some better init hijack
- make some non polling usb fix (for now it's using the Dext3r's script - thanks)
- etc.

- the main init scripts are located in /system/etc/rootfs
- clocking options (frequency table, vsel table and governors) can be set in /system/etc/init.d/10overclock
- google apps are already included in this one, I will change that in the future releases
- do not use the included RomManager, it's not compatible with Milestone
- Adobe Flash can be downloaded and installed directly from Adobe web
- included BPSW and boot are from the 2.36 RTEU release - radio will work on European frequencies



- use OpenRecovery to restore the downloaded system image on your phone
- if you are using Motorola's 2.1-update1 fix update, you do not need to restore the boot and BPSW, restore only the system
- data wipe/factory reset is highly recommended

From what I can tell, OpenRecovery, which is a custom recovery for Milestone users, is maintained and can be downloaded from here.

Milestone users, please report your success levels. If you run into a problem and need support, you can comment in the original post, in this xda topic, or over at DroidForums.

Artem Russakovskii
Artem is a die-hard Android fan, passionate tech blogger, obsessive-compulsive editor, bug hunting programmer, and the founder of Android Police.
Most of the time, you will find Artem either hacking away at code or thinking of the next 15 blog posts.

  • Scott A

    pretty good mod, but it should be noted that this not official from cyanogen and still relient on on the official motorolla 2.1 kernel