[Motorola Milestone Android Development] kabaldan:
Main credits:

Obviously, it's the CyanogenMod team and all CM contributors in the first place.

Besides that and my own humble work, CM for Milestone would not be where it is now without the essential works of Skrilax_CZ (2nd-init, OpenRecovery, custom kernel, 2ndboot fixes and more), Czechop (hack to the kernel usb initialization code that allows to keep BP working after 2ndboot to custom kernel), f_pasha (gkisystem semaphore patch), Tiago Sousa (author of the original overclock kernel module) and contributions from others that I forgot to list here ;) .

Also worth mentioning is a lot of notable work done by the Defy developers: Epsylon, Quarx and Maniac103

The original 2ndboot code is by Dmitriy Taychenachev and Eugen Maksimov.

Please note that Milestone is not officially supported by CyanogenMod.

Home page: http://android.doshaska.net/cm7

Issue tracker: http://code.google.com/p/cyanogenmod4milestone/

FAQ(wiki): http://www.droid-developers.org/wiki/CyanogenMod_4_Milestone_FAQ

Build from source: http://android.doshaska.net/cm7build

github: https://github.com/nadlabak

my recent commits to official CM: http://review.cyanogenmod.com/#dashboard,129

2ndboot OpenRecovery: http://code.google.com/p/cyanogenmod4milestone/downloads/detail?name=OpenRecovery_2ndbootOR_v1_2.zip

Full guide from stock Motorola Android to CyanogenMod 7 for Milestone

- by pontomedon (many thanks)

- it includes instructions on how to partition sdcard directly in OpenRecovery (to resize existing fat and create ext3)

New era with custom kernel via 2ndboot

Czechop (Milestone 2) managed to create a hack to the kernel usb initialization code that allows to keep BP working even after 2ndboot to custom kernel.

(See http://xdaforums.com/showthread.php?t=1908687 )

Thanks to Skrilax_CZ, the issue of low performance before the first device suspend has been resolved (L2 cache remained disabled before).

Note that a lot of work on the custom 2.6.32.60 kernel for Milestone has been done by Skrilax_CZ.

Main new features:

- Kernel Samepage Merging enabled

- ZRAM (compcache) can be enabled under CyanogenMod>Performance settings (will be active after reboot)

- additional swap file (or partition) can be used, if desired

Download:

CM7.2.4f: http://d-h.st/3fb

gapps: http://d-h.st/M05

(older CM builds: http://d-h.st/users/nadlabak/?fld_id=2535#files and https://github.com/nadlabak/android/downloads )

7.2.4f (2.3.7) 10.03.2013

- the libaudio that allows beepless call recording has been made optional, because some users reported BP panics on incoming calls

-- you can enable it under Device settings > Experimental libaudio (the change requires reboot)

-- the experimental libaudio received new binary patch that may (or may not) fix the BP panics (testing and confirmation from users is needed)

- several additional fixes done to the call recording code

- added CPU stats kernel module

- the moto RIL data connectivity workarounds introduced in 7.2.4c can be optionally disabled by ro.telephony.ril_class=motow3gplain in /system/build.prop (the default value that includes the workarounds is "motow3g")

- ringer audiofocus fix (by maniac103)

- omap3 hwrng is now exposed by kernel and used by userspace rngd to feed the entropy pool

7.2.4e (2.3.7) 30.12.2012

- call recording: fix recording for calls with asterisk in phone number

- fix typo in /system/etc/init.d/12swap script

- use better way to implement 'Disable Dock Observer' option (fix issue 637 - http://code.google.com/p/cyanogenmod4milestone/issues/detail?id=637 )

7.2.4d (2.3.7) 27.12.2012

- add built-in call recording option; no beeps every 10s during call recording any more

- wifi: disable 802.11n support by default (HT_Enable in tiwlan.ini) to prevent stale data connections when using certain N routers

- kernel: reverted doubling of the DAC fifo size to 16384 (to prevent audio drop-outs) as it caused broken audio playback in certain games

- fix /system/etc/init.d/12swap script

in case you're wondering why the new build is not uploaded to github as before, see https://github.com/blog/1302-goodbye-uploads

7.2.4c (2.3.7) 11.12.2012

- kernel: increased DAC fifo size to 16384 to reduce the chance of audio drop-outs

- fix unwanted lcd-backlight activation by camera button while the screen is off (was related to the light sensor workaround that allows to use camera button to provoke sending of light sensor data without waiting for ALS interrupt)

- better handling of Baseband Processor panic (by maniac103) - instead of immediate reboot like in stock firmware, user is notified and can choose to postpone the reboot (e.g. when he's got some work to finish first). Note about the reason of reboot is displayed after restart.

- workarounds for some motorola RIL issues that cause occasional data connectivity problems (by maniac103)

- build: in-line kernel building

- optional swap activation on boot via /system/etc/init.d/12swap

-- requires swap partition present as third partition on sdcard

-- swap size (in kB) is determined by persist.sys.swapsize property

-- no persist.sys.swapsize property defined or set to 0 means no swap activation

example how to set persist.sys.swapsize property in terminal:

su

setprop persist.sys.swapsize 16384

7.2.4b (2.3.7) 09.11.2012

- kernel update: 10MB more of a free RAM (when the camera is not active)

-- allocate the LSC workaround memory only for the time while the ISP is actually in use

7.2.4a (2.3.7) 03.11.2012

- overclock: vsel entries restored to proofed values

- 2ndboot: updated pre-built binaries

-- a fix instead of a workaround for the GPU performance, proper ATAGs passing (thanks to Skrilax_CZ), etc.

- Music.apk: fixed music playback resume after a phone call (thanks to Danny Baumann)

7.2.4 (2.3.7) 23.10.2012

- the bad GPU performance on low CPU freq fixed via workaround during init (temporary insmod of stock pvr driver)

- updated kernel:

-- we're now on 2.6.32.60 (thanks to Skrilax_CZ)

-- new interactive governor backported from jellybean (with input-boost feature activated by touchscreen events)

-- camera helper buffer (allocated during boot) reduced by 6MB (thanks to alef78) > more free RAM available

-- optional 5 point multitouch fixed

-- fixed usb tethering (only in the 2nd uploaded 7.2.4 build - sorry for the confusion)

- bootinfo hacks could be removed thanks to new 2ndboot update by Skrilax_CZ

7.2.3 (2.3.7) 18.10.2012

download: https://github.com/nadlabak/android/downloads

- older builds are hopelessly obsolete from now on

--------------------------------------------------------------------------------------------------------------------------------

7.2.1 (2.3.7) 01.09.2012

- GPU drivers (SGX PVR) updated to 1.7 (latest Gingerbread release) from 1.5 (Froyo), despite the locked kernel

-- it allows less hacky surfacefliger/libui/egl code. Most notably, some workarounds had to be used for some apps to prevent occasional crashes on screen rotation before. Most prominently it can be seen in Gallery app. Before, the view had to be reset on each rotation (to make sure there won't be a crash), now it can work more naturally. Similar hack has had to be used for Google Maps as well...

- the proprietary gralloc.omap3.so patched to report 265 DPI to match the physical characteristics of the Milestone's display

- "stay away from zombie content providers" race condition fix - before, randomly, apps could get suddenly killed (after they attached to content provider that has been already killed, but its zombie process still there). This race caused apps to suddenly disappear e.g. after the search function has been initiated (reported e.g. in the case of Google Maps before). It should no longer happen after this release.

- a recent Google Maps update changed a part of the name of the always running background service from NetworkLocationService to GoogleLocationService. This change has been reflected in ActivityManagerService code, so the GMaps hack is working again.

- lots of fixes and also new features from upstream CyanogenMod is included, e.g. the increasing ring tone volume option.

7.2.0 (2.3.7) 16.06.2012

- 7.2.0 release

- the most notable 'last minute' fix is the elimination of the occasional 'mute' incoming call (while the two-way call recording ability is retained)

7.2.0 RC2 (2.3.7) 01.06.2012

- fixed initialization issues leading to bootloops or stalled boot if the ext partition mount took too long

- fixed lockscreen button behavior (notification power widget) where the lockscreen couldn't be enabled again after a while (thanks to maniac103)

- Toggle2G built from source; removed the need for root permissions

- usb: usbd built from source (thanks to Skrilax_CZ), disabled usb notification sound, usb tethering can be enabled directly from usb notification menu

- wlan: updated kernel drivers, disabled adhoc support in tiwlan.ini to prevent connection issues for some APs

- possible workaround for mute call issue (more feedback is needed to confirm or disprove its effectiveness) - Issue 752

- LatinIME is run in SystemUI process to spare additional 2MB of RAM

- added protection of Mms app if its service is doing a work. It shouldn't be necessary to keep the Mms app in RAM all the time to prevent lost sms anymore

- added possible recovery from DSP Bridge failures (its effectiveness needs to be confirmed) - Issue 672

- updated fonts (to fix special Romanian chars)

- install process wipes the dalvik-caches automatically

- etc.

7.2.0 RC1 (2.3.7) 23.03.2012

- various fixes under the hood

7.2.0 RC0 (2.3.7) 21.02.2012

just a quick fix build:

- make sure that services don't start before sd-ext has been mounted (if present)

- fix LED in charge only mode

7.2.0 RC0 (2.3.7) 17.02.2012

- wide screen video recording now captures in 848x480 resolution (was 720x400)

- two way call recording is now possible (recording has to start after the lines have been connected, not sooner)

- UMTS baseband (2100/900 vs. 2100/1900/850) can be selected in Device settings, the selection will persist even after future system updates (please do not use the baseband switching via Open Recovery anymore)

- fixed in-call and SIM PIN unlock screen layouts for landscape orientation, e.g. for phone in CarDock or DeskDock

- additional information about call can be indicated (e.g. that an incoming call has been forwarded, that the call is on hold on the remote side...)

- workaround for broken proximity sensors - camera button can be used to generate fake 'proximity far' event

- many other important fixes and improvements

note: CMWalpapers and Androidian and Cyanbread themes are not included anymore as more space in /system was needed for the libraries that enable the higher quality video recording. Themes and wallpapers can be installed e.g. from market separately.

7.1.5 (2.3.7) 21.01.2012

- ics animations (including rotation) backported to gingerbread

- renderer updated with rotation support - proper playback of videos with orientation hint

- adhoc disabled in tiwlan.ini (may help few people with wifi issues)

7.1.4 (2.3.7) 19.01.2012

- native wifi tethering finally works (proprietary 3G Mobile Hotspot removed, no dun apn dependency anymore)

- T9 dialer

- new 'Holo' ring lockscreen style

- increased net buffers for wifi, added values for hspa

- internal: switched to init built from source, wifi: switched from system/wlan/ti to hardware/ti/wlan, gps: gingerbread lib (from Defy GB firmware) is used instead of froyo lib + gpshim wrapper

- other things I can't remember now ;)

notes:

1) 7.1.3 skipped to distinguish from the intermediate version used as base for the last HO!NO! Mod

2) If you encounter wifi issues after update:

reboot to recovery, open console and enter

rm -R /data/misc/wifi
exit

and reboot. You will have to re-configure your wifi networks after this.

Also make sure you have correct Wifi Regulatory domain selected.

Settings>Wireless & network>Wi-Fi settings>menu>Advanced>Regulatory domain.

Select appropriate value (11-US, 13-EU, 14-JP), then menu>Save

7.1.2 (2.3.7) 13.12.2011

- fixed recurring events in lockscreen calendar widget

- fixed possible egl surface creation failure (in PewPew game and possibly other apps); reworked egl config selection

- added optional revamped ring lockscreen style

- fixed bugreport service (left shift + del), report files are stored in /sdcard/bugreports/

- added /etc/powervr.ini for some PowerVR SGX tweaks (> less RAM used by surfaceflinger)

- internal storage changes:

-- dalvik.vm.dexopt-cache-only disabled by default ('no free space left in /cache' issue)

-- return back to 07app2ext moving also dalvik-cache to sd-ext

-- lib2ext script (and support for it in installd) newly included. It is not active by default. It can free huge amount of space in /data by transfer of applications' native libraries to sd-ext. Make sure you have enough free space (at least 100MB-200MB) in /sd-ext before you enable it. To activate it, run "su" and then "lib2ext 1" in terminal on phone. The libs will be moved during the next boot.

- etc

7.1.1 (2.3.7) 24.11.2011

- fixed issue of some Gameloft games (and possibly other apps) hanging during sound engine initialization

- fixed lockscreen calendar view to be able to display also the event description

- the most specific Milestone options (keyboard, logger etc.) moved to Device settings (from CyanogenMod settings)

7.1.0.7 (2.3.7) 21.11.2011

- camera: added possibility to focus during video recording (via focus key - half pressed camera key)

- keyboard: ability to set multipress language independently from locale

- keyboard: additional German multipress set where sharp s can be entered by double press on B key (instead of S key, as double s is quite common in German)

- media: fix broken playback position in several audio players (MortPlayer Audiobook, DoggCatcher and others)

- fix possible system crash caused by lockscreen calendar events display

- fix for non-animated unlock transition

7.1.0.6 (2.3.7) 15.11.2011

- keyboard: fix "_" (ALT + C) on hw keyboard

- keyboard: revised indication of active secondary key char map

- minimal ring lockscreen style added, option for middle ring unlock

- lockscreen gestures: added music control

- etc

7.1.0.5 (2.3.7) 13.11.2011

- video recording fix

- keyboard: revised handling of multipress for cyrillic/russian key char map

- keyboard: 200ms multipress interval added

- keyboard: Lithuanian multipress set added (thanks to rokasjasonas)

7.1.0.4 (2.3.7) 12.11.2011

- graphic rendering optimizations (opaque views, opaque in skia, surfaceflinger)

- fix for concurrent access to dnsproxyd socket that could lead to loss of data connectivity

- fix for non-animated unlock transition

- updated battery bar

- support for retail Russian keyboard

- added preliminary Cyrillic (phonetic) key char map

- added multipress set for Slovenian (thanks to kv1dr)

- option to disable boot animation (5-6s shorter boot time)

- downloads bind mounted to data block if there's no ext partition on sdcard - to help with low space in cache block that some people experience

7.1.0.3 (2.3.7) 10.11.2011

- support for secondary hw keyboard character map (russian, hebrew, arabic); when enabled, it can be toggled by menu/lang key on hw keyboard

- support for russian hw keyboard layout with swapped 'search' and 'menu/lang' keys

- multipress feature for entering alternate characters on hw keyboard (currently for cs, da, de, es, fi, fr, hu, it, nl, no, pl, pt, ro, ru, sk and sv). Future contributions of sets for other languages are welcome, see https://github.com/nadlabak/android...6e8f2e21ad9f2252cd3d96017c8160bb824d31d#L0R90

- keyboard features are configurable under CyanogenMod settings>Input (but it will be moved to Device settings in the future)

- Motorola specific AudioEffect replaced by newer AudioEffectSettings (fixes fx settings for speaker not restored after reboot), accessible from DSPManager menu

- added Compass Calibrator (Settings>Device settings)

- lockscreen can display both alarm and calendar events together

- important fixes to omap specific stagefright issues (multimedia)

- Market should no longer crash because of locale

- fix for occasional LatinIME crash

- many other fixes

7.1.0.2 (2.3.7) 23.10.2011

- fixed wlan MAC address

- instead of fonts, pico tts files are moved to /cdrom (should fix some 'frozen on M logo' cases)

- now correctly tagged as KANG: as before, this is not official cyanogen release - it's a self-kang of CM7 for Milestone ;)

- various additional improvements and fixes from upstream

7.1.0.1 (2.3.7) 21.10.2011

- DSPManager service made stoppable again, by global DRC option

- system fonts are now stored in otherwise unused /cdrom block to make more space in /system (CMWallpapers can be included again)

- optional unlock by keyboard slide

- many fixes; among others: EAP (WLAN) lost password issue, possible system crash caused by lockscreen calendar events display, possible system crash by ring lockscreen, fixed bluetooth AVRCP 1.3 responses, possible DSPManager FC while editing EQ...

- updated power_profile.xml

- dalvik.vm.dexopt-cache-only property reintroduced (enabled by default); those whose app's dalvik-cache won't fit to /cache block can set it to 0 in /system/build.prop

- kernel tweaks included (in /etc/sysctl.conf)

- versioning changed according to new upstream style

7.1.0-11.10.12 (2.3.7)

- odexed build (main purpose is to gain more space in /data - only /cache/dalvik-cache is used, /data/dalvik-cache is empty), be sure to wipe both cache and dalvik-cache in OR when updating

- various fixes

7.1.0-11.10.05 (2.3.7)

- new feature: separate headset and speaker media volume

- various fixes

7.1.0-11.09.30 (2.3.7)

- release build of CyanogenMod 7.1.0 for Milestone (Android 2.3.7)

changelogs for previous releases: http://android.doshaska.net/cm7changelog

download links:

CM 7.2.3: https://github.com/nadlabak/android/downloads

Google Apps: gapps-gb-20111216-signed.zip - http://www.mediafire.com/?botrs7cz11h8v5x

same as the official gapps-gb-20110828 with:

- Market (Vending.apk) updated to 3.4.4 version

- CarHomeGoogle updated to 2.2.1.4 version (it seems to fix Sygic launch issues)

- new talk with audio/video chat included to make a single gapps update package again

- updater script fixed to be fully compatible also with odexed ROMs

Additional downloads:

- BPSW (2.2 - Froyo): http://code.google.com/p/cyanogenmo...?name=update-bpsw-MSG39UPEU_A1.19_0.90-I4.zip

if you are updating to CM from 2.1 firmware, you can use this package to update your baseband processor software to 2.2 version

- devtree (2.2 - Froyo): http://code.google.com/p/cyanogenmod4milestone/downloads/detail?name=update-devtree.zip

if you are updating to CM from 2.1 firmware, you can use this package to update your devtree to 2.2 version

Notes:

- 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

- Adobe Flash can be downloaded and installed directly from Adobe web or Android Market

Installation:

- use OpenRecovery Apply Update menu to install the zip copied to /sdcard/OpenRecovery/updates

- data wipe/factory reset is highly recommended when you are upgrading from another rom/firmware (or having any issues ;) )

- if you are in France, you should replace ro.product.brand=MOTO_RTEU with ro.product.brand=MOTO_RTFR in /system/build.prop (the ap_gain_france.bin will be used then)

OpenRecovery Mod (with CyanogenMod for Milestone specific customizations):

http://code.google.com/p/androidiani-openrecovery/