Jump to content

CyanogenMod

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 15.203.233.80 (talk) at 16:17, 7 November 2011 (Fixed the refs that weren't resulting in usable URLs). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

CyanogenMod
File:CyanogenModLogo.png
File:Screenshot-1318632299047.png
DeveloperCyanogen (Steve Kondik) / CyanogenMod team
Written inC (core), C++ (some third party libraries), Java (UI)
Source modelFree and open source software
Initial release3.1 (Dream & Magic)
Latest release7.1.0 (various) / October 10, 2011 (2011-10-10)
Marketing targetFirmware replacement for Android Mobile Devices
PlatformsARM
Kernel typeMonolithic (modified Linux kernel)
Default
user interface
ADW.Launcher
LicenseApache 2 and GPL v2[1]
Official websitewww.cyanogenmod.com

CyanogenMod is an aftermarket firmware distribution for over sixty cell phones and tablets based on the open-source Android operating system. It offers features and options not found in the official Android-based firmwares of vendors of these devices including native theming support (also known as the "T-Mobile Theme Engine"), a codec for the Free Lossless Audio Codec (FLAC), compressed cache (compcache), a large APN list, an OpenVPN client, a reboot menu, support for Wi-Fi, Bluetooth, and USB tethering, kernel scheduler enhancements and overclocking profiles, soft buttons and other "tablet tweaks", toggles in the notification pull-down (such as Wi-Fi, Bluetooth, GPS, and many more), as well as other interface enhancements. CyanogenMod claims to increase performance and reliability compared with official firmware releases.[2]

Although only a subset of total CyanogenMod users elect to report their use of the firmware,[3] as of 27 October 2011, CyanogenMod has recorded over 750,000 active installs on a multitude of devices.[4]

History and development

Shortly following the introduction of the HTC Dream (known as the "T-Mobile G1" in the United States) mobile phone in September 2008, a method was discovered to attain privileged control (known as "root access") within Android's Linux-based subsystem.[5] Having root access, combined with the open source nature of the Android operating system, allowed the phone's stock firmware to be modified and re-installed onto the phone.

In the following year, several modified firmwares for the Dream were developed and distributed by Android enthusiasts. One, maintained by a developer named JesusFreke, quickly became popular among Dream owners. In August, 2009, JesusFreke stopped work on his firmware, and suggested users switch to a version of his rom that had been further enhanced by developer Cyanogen (Steve Kondik) called "CyanogenMod".[6]

CyanogenMod quickly grew in popularity, and a small community of developers, known as the CyanogenMod Team (and informally as "Team Douche"), made contributions. Within a few months, the number of devices and features supported by CyanogenMod blossomed and CyanogenMod quickly became one of the more popular Android firmware distributions.

CyanogenMod 6

Steve Kondik released CyanogenMod 6, based on Android 2.2 codenamed "Froyo", for the Nexus One, Dream, Magic, Droid, Aria, Legend, Desire, Evo 4G, Hero, Wildfire, Incredible and myTouch 3G Slide.[7] A release candidate of CyanogenMod 6 became available on 11 July 2010[8], and the stable version was released on 28 August 2010.[9]

CyanogenMod 7

The current CyanogenMod firmware is based on Android 2.3 (Gingerbread) with additional custom code contributed by the CyanogenMod Team. The custom portions of CyanogenMod are primarily written by Cyanogen (Steve Kondik) but include contributions from the xda-developers community (such as an enhanced launcher tray, an improved dialer, and an improved browser) as well as code from established open source projects (as with the inclusion of BusyBox in the shell).[10]

CyanogenMod 7 development began when Google released Android 2.3 (Gingerbread)'s source code.[11] On 15 February 2011, the first release candidates of CyanogenMod 7 was rolled out on several of the supported devices.[12][13] The fourth release candidate was released on 30 March 2011 and brought increased support for the Nook Color and similar devices as well as many bug fixes.[14] On 11 April 2011, the public version of CyanogenMod 7.0 was released, based on Android 2.3.3.[15] The latest stable version, CyanogenMod 7.1, was released on 10 October 2011, based on Android 2.3.7.[16]

CyanogenMod 8/9

CyanogenMod version 8 was planned to be based on the Honeycomb (3.x) release of Android. However, no source code was ever provided by Google. Thus, the next version, based on Google's forthcoming Ice Cream Sandwich (4.x) branch of Android, will be called CyanogenMod 9.[17]

Nightly builds

In addition to the stable releases discussed above, CyanogenMod is also offered for many supported devices as a nightly build, informally known as "nightlies".[18] The nightly builds are installable versions of CyanogenMod created from the latest source code approximately every 24 hours. As the code for CyanogenMod is continually updated by developers, the nightly build allows users to test the most recent changes. While they provide access for non-developers to the latest fixes, nightly builds may also contain newly-introduced bugs. The CyanogenMod nightly builds are available on many web sites, which taken together constitute a "mirror network".[19]

ClockworkMod Recovery

The CyanogenMod source code repository also contains the ClockworkMod Recovery (a "recovery image", maintained by Koushik "Koush" Dutta), which is used to install CyanogenMod and other custom upgrades. A recovery image is a special boot mode, which is used to back up or restore the device's storage and repair or upgrade system software. ClockworkMod Recovery can be automatically installed onto many rooted devices supported by CyanogenMod with Dutta's companion app, "Rom Manager", which is available on the Android Market.

Industry reaction

Carriers and manufacturers

Until recently, the response of tablet and smartphone manufacturers and mobile carrier has typically been less than supportive of third-party firmware development. Manufacturers had expressed concern about improper functioning of devices running unofficial software[20] and related support costs, with some, such as former Apple CEO Steve Jobs, claiming that jailbreaking phones was "immoral" and warning that unofficial software could even "gum up" the cellular network itself.[21][22][23] Moreover, firmware such as CyanogenMod sometimes offer features for which carriers would otherwise charge a premium (e.g. Tethering). As a result, technical obstacles such as locked bootloaders and restricted access to root permissions were common in many devices.

However, as community-developed software has grown popular[24][25] and following Library of Congress regulations that permit the use of "jailbreaking" mobile devices[26], manufacturers and carriers have softened their position regarding CyanogenMod and other unofficial firmware distributions, with some including HTC[27] and Motorola[28] even actively providing support and encouraging development.

In 2011, the need to circumvent hardware restrictions to install unofficial firmware lessened as an increasing number of devices shipped with unlocked or unlockable bootloaders, similar to the Nexus series of phones. Device manufacturer HTC has announced that it would support aftermarket software developers by making the bootloaders of all new devices unlockable,[20] and Samsung sent several Galaxy S II phones to the CyanogenMod team with the express purpose of bringing CyanogenMod to the device.[29] Mobile carrier T-Mobile has voiced its support for the CyanogenMod project, tweeting "CM7 is great!"[30]

Google licensing issues

Until version 4.1.11.1, CyanogenMod included several proprietary software applications by Google, such as Gmail, Maps, Market, Talk, and YouTube, as well as several proprietary hardware drivers. These packages were included with the vendor distributions of Android, but not licensed for free distribution. After Google sent a cease and desist letter to CyanogenMod's chief developer, Steve Kondik, in late September 2009 demanding he stop distributing the aforementioned applications, development ceased for a few days.[31][32][33][34] The reaction from many CyanogenMod users towards Google was hostile, with some claiming that Google's legal threats hurt their own interests, violated their informal corporate motto "don't be evil" and was a challenge to the open source community Google claimed to embrace.[35][36][37]

Following a statement from Google clarifying its position[38] and a subsequent negotiation between Google and Cyanogen, it was resolved that the CyanogenMod project could continue, albeit in a form that did not directly bundle in the proprietary “Google Experience” components.[39][40] It was determined that the proprietary Google apps may be backed-up from the Google-supplied firmware on the phone and then re-installed onto CyanogenMod releases without infringing copyright.

Cyanogen has also warned that while issues no longer remain with Google, there are still potential licensing problems regarding proprietary, closed-source device drivers.[41] However, he is rebuilding the source tree, and believes the licensing issues with drivers can be worked out. He is also receiving assistance from Google employees.[42]

Uses

CyanogenMod has been used on an HTC G1 Android phone coupled with an Arduino board to create the autonomous "brain" of a robot.[43]

Version history

Version History
Version Android version Release
date
3.1 Android 1.5 (Cupcake) 2009
3.2 2009
3.3.x 2009
3.4.x 2009
3.5.x 2009
3.6.x 2009
3.9.x 2009
4.0.x Android 1.6 (Donut) 2009
4.1.x 2009
4.2.x 2009
5.0.0 Android 2.0 / 2.1 (Eclair) 2010-02-14[44]
5.0.1 2010
5.0.2 2010
5.0.3.x 2010
5.0.4.x 2010-02-27[45]
5.0.5.x 2010-03-19[46]
5.0.6 2010-04-16[47]
5.0.7 2010-05-25[48]
5.0.8 2010-07-19[49]
6.0.x Android 2.2 (Froyo) 2010-08-28[9]
6.1.x 2010-12-06[50]
7.0.0 Android 2.3 (Gingerbread) 2011-04-10[15]
7.0.1 2011-04-25[51]
7.0.2 2011-04-25[52]
7.0.3 2011-05-05[53]
7.1.0 2011-10-10[54]

Supported devices

CyanogenMod officially supports over 60 devices, with many non-official ports also available. Devices that are considered officially-supported include the following[55]:

Supported Devices
Manufacturer Model Code Name Form factor Notes Latest CM Support
Advent Vega vega tablet 7.1.x
Barnes and Noble Nook Color encore tablet 7.1.x
Commtiva Z71 z71 phone Also sold as Apanda A60, Chinavision Excalibur, Cincinnati Bell Blaze , Gigabyte Gsmart G1305, Motorola XT502, Muchtel A1, Nexian Journey, Optimus Boston, Orange Boston, Spice Mi-300 , Vibo A688, Wellcom A88 7.x
GeeksPhone One one phone 7.1.x
GeeksPhone Zero zero phone 7.1.x
Google Nexus One passion phone Manufactured by HTC. 7.1.x
Google Nexus S crespo phone Manufactured by Samsung. 7.1.x
Google Nexus S 4G crespo4g phone Manufactured by Samsung. 7.1.x
Hewlett Packard TouchPad tenderloin tablet Is currently in pre-full official support (alpha).
HTC Aria liberty phone 7.1.x
HTC Desire (GSM) bravo phone 7.1.x
HTC Desire (CDMA) bravoc phone 7.1.x
HTC Desire HD ace phone Also marketed as the AT&T Inspire 4G. 7.1.x
HTC Desire S saga phone 7.1.x
HTC Desire Z vision phone Also marketed as the T-Mobile G2. 7.1.x
HTC Dream dream_sapphire phone Also marketed as the T-Mobile G1 & Era G1. 6.1.x
HTC Eris desirec phone 7.1.x
HTC Evo 3D (CDMA) shooter phone Is currently in pre-full official support (alpha).
HTC Evo 4G supersonic phone 7.1.x
HTC Evo Shift 4G speedy phone 7.1.x
HTC Hero (CDMA) heroc phone 7.1.x
HTC Hero (GSM) hero phone 7.1.x
HTC Incredible inc phone 7.1.x
HTC Incredible 2 vivow phone 7.1.x
HTC Incredible S vivo phone 7.1.x
HTC Legend legend phone 7.x
HTC Magic dream_sapphire phone Also marketed as the T-Mobile myTouch 3G, Rogers HTC Magic, DoCoMo HT-03A 6.1.x
HTC myTouch 4G glacier phone Also marketed as HTC Panache. 7.1.x
HTC myTouch 4G Slide doubleshot phone Is currently in pre-full official support (alpha).
HTC myTouch 3G Slide espresso phone 7.1.x
HTC Sensation pyramid phone Is currently in pre-full official support (alpha).
HTC Tattoo click phone 7.1.x
HTC Wildfire buzz phone 7.1.x
Huawei U8220 u8220 phone Also marketed as the T-Mobile Pulse. 7.1.x
LG T-Mobile G2x p999 phone 7.1.x
LG Optimus 2X p990 phone Also marketed as the LG Optimus Speed. 7.1.x
LG Optimus Black p970 phone Is currently in nightly only official support.
Motorola Backflip motus phone 7.1.x
Motorola Cliq morrison phone Also marketed as the Motorola Dext. 7.1.x
Motorola Cliq XT zeppelin phone Also marketed as the Motorola Quench. 7.1.x
Motorola Defy umts_jordan phone 7.1.x
Motorola Droid sholes phone Official support is for only the Motorola Droid, not the Motorola Milestone. 7.1.x
Motorola Droid 2 cdma_droid2 phone 7.1.x
Motorola Droid 2 Global cdma_droid2we phone 7.1.x
Motorola Droid X cdma_shadow phone 7.1.x
Samsung Captivate captivatemtd phone 7.1.x
Samsung Fascinate fascinatemtd phone 7.1.x
Samsung Galaxy S galaxymtd phone Official CyanogenMod support for ONLY for the International Version (GT-I9000), Bell Vibrant (GT-I9000M), and Telcel Galaxy S (GT-I9000T). Not other models. 7.1.x
Samsung Galaxy S II galaxys2 phone Official CyanogenMod support for ONLY for the International Version (GT-I9100), Bell Vibrant (GT-I9100M), and Telcel Galaxy S (GT-I9100T). Not other models. 7.1.x
Samsung Galaxy S II (AT&T) galaxys2att phone 7.1.x
Samsung Mesmerize mesmerizemtd phone 7.1.x
Samsung Showcase showcasemtd phone 7.1.x
Samsung Vibrant vibrantmtd phone 7.1.x
Sony Ericsson Xperia Arc anzu phone 7.1.x
Sony Ericsson Xperia Neo hallon phone 7.1.x
Sony Ericsson Xperia Mini smultron phone 7.1.x
Sony Ericsson Xperia Mini Pro mango phone 7.1.x
Sony Ericsson Xperia Play (GSM) zeus phone 7.1.x
Sony Ericsson Xperia Ray urushi phone 7.1.x
Sony Ericsson Xperia X8 shakira phone 7.1.x
Sony Ericsson Xperia X10 es209ra phone Is currently in nightly only official support.
Sony Ericsson Xperia X10 Mini robyn phone 7.1.x
Sony Ericsson Xperia X10 Mini Pro mimmi phone 7.1.x
ViewSonic G Tablet smb_a1002 tablet 7.1.x
ZTE Blade blade phone Also marketed as the Orange San Francisco. 7.1.x
ZTE V9 v9 tablet 7.1.x

References

  1. ^ "Licenses". Android Open Source Project. Open Handset Alliance. Retrieved 15 Sept 2010. {{cite web}}: Check date values in: |accessdate= (help)
  2. ^ About Page
  3. ^ "CM Stats explanation". Retrieved 27 Oct 2011.
  4. ^ "CyanogenMod Stats". Retrieved 21 Oct 2011.
  5. ^ Ben Marvin (14 May 2009). "How To: Root Your G1 And Install Android 1.5 Cupcake". The Android Site. Retrieved 28 Oct 2010.
  6. ^ calls it quits
  7. ^ Cyanogen (23 June 2010). "CM6 targets". Twitter. Retrieved 23 Dec 2010.
  8. ^ Cyanogen (11 July 2010). "CyanogenMod-6.0.0 RC1". CyanogenMod blog. Retrieved 23 Dec 2010.
  9. ^ a b Whitson Gordon (29 August 2010). "CyanogenMod 6.0 Released, Brings Custom Froyo Goodness to Tons of Android Phones". Lifehacker. Gawker Media. Retrieved 23 Dec 2010.
  10. ^ development thread.
  11. ^ Cyanogen (17 December 2010). "Gingerbread Release". Twitter. Retrieved 23 Dec 2010.
  12. ^ Cyanogen (16 February 2011). "CyanogenMod-7 Release Candidates!". CyanogenMod blog. Retrieved 16 Feb 2011.
  13. ^ Whitson Gordon (16 February 2011). "CyanogenMod 7 RC Brings Gingerbready Goodness, Canned SMS Responses to Android". Lifehacker. Gawker Media. Retrieved 16 Feb 2011.
  14. ^ Cyanogen (30 March 2011). "CyanogenMod-7.0.0-RC4 has arrived". CyanogenMod blog. Retrieved 30 Mar 2011.
  15. ^ a b Cyanogen (10 April 2011). "CyanogenMod 7.0 Released!". CyanogenMod blog. Retrieved 10 Apr 2011.
  16. ^ Cyanogen (10 October 2011). "CyanogenMod 7.1 Released!". CyanogenMod blog. Retrieved 10 Oct 2011.
  17. ^ on CM9 and ICS
  18. ^ Nightly Builds
  19. ^ a CyanogenMod download mirror
  20. ^ a b "Unlock Bootloader". Retrieved 2011-10-30.
  21. ^ Jobs on the dangers of unauthorized apps
  22. ^ Warns OS Users of Jailbreaking Risks
  23. ^ Jobs Calls Jailbreaking iPhones "Immoral"
  24. ^ discusses popularity of CyanogenMod
  25. ^ AndroidAndMe: MIUI firmware is "popular"
  26. ^ LoC rules in favor of jailbreaking
  27. ^ HTC's bootloader unlock page
  28. ^ Motorola Offers Unlocked Bootloader Tool
  29. ^ "CyanogenMod coming to the Galaxy S 2, thanks to Samsung". Android Central. 6 June 2011.
  30. ^ "CM7 is great!"
  31. ^ Taylor Wimberly (24 September 2009). "CyanogenMod in trouble?". Android and Me. Retrieved 28 Oct 2010.
  32. ^ Dan Nosowitz (25 September 2009). "Google Threatens Cyanogen Android Hacker With Cease-and-Desist". Gizmodo. Gawker Media. Retrieved 28 Oct 2010.
  33. ^ Nilay Patel (24 September 2009). "Google hits Android ROM modder with a cease-and-desist letter". Engadget. AOL. Retrieved 28 Oct 2010.
  34. ^ Darryl K. Taft (28 September 2009). "Google Irks Android Developers with Cyanogen Move". eWeek. Ziff Davis. Retrieved 28 Oct 2010.
  35. ^ One of many forum discussions on the Google C&D.
  36. ^ Reaction to C&D on Google's own discussion forum.
  37. ^ Another thread on Google's Android forum.
  38. ^ Dan Morrill (25 September 2009). "A Note on Google Apps for Android". Android Developers. Retrieved 28 Oct 2010.
  39. ^ Cyanogen updates users on licensing controversy.
  40. ^ Roselyn Roark (28 September 2009). "Google Muscles Android Developer, Offers Olive Branch". Wired. Retrieved 28 Oct 2010.
  41. ^ Cyanogen's tweet about the driver issue.
  42. ^ Quick Update from Cyanogen.
  43. ^ Miran Pavic (5 March 2010). "Android Phone Grows Up, Becomes Brain for Real Robot". Wired. Retrieved 28 Oct 2010.
  44. ^ Cyanogen (14 February 2010). "CyanogenMod 5.0 (Nexus One)". CyanogenMod blog. Retrieved 23 Dec 2010.
  45. ^ Cyanogen (27 February 2010). "CyanogenMOD 5.0.4 Released". xda-developers. Retrieved 23 Dec 2010.
  46. ^ Chase Bahers (19 March 2010). "CyanogenMOD v5.0.5 for HTC/Google Nexus One Released". AndroidSPIN. MobileTweek, Inc. Retrieved 23 Dec 2010.
  47. ^ Cyanogen (16 April 2010). "CyanogenMod 5.0.6 – Tax Deductible". CyanogenMod blog. Retrieved 23 Dec 2010.
  48. ^ Cyanogen (25 May 2010). "CyanogenMod 5.0.7 for Dream and Magic!". CyanogenMod blog. Retrieved 23 Dec 2010.
  49. ^ Cyanogen (19 July 2010). "CyanogenMod-5.0.8 has landed!". CyangenMod blog. Retrieved 23 Dec 2010.
  50. ^ Cyanogen (6 December 2010). "CyanogenMod-6.1 Stable Has Landed!". CyanogenMod blog. Retrieved 23 Dec 2010.
  51. ^ Cyanogen (25 April 2011). "CyanogenMod-7.0.1 Update Release". CyanogenMod blog. Retrieved 25 April 2011.
  52. ^ >Cyanogen (25 April 2011). "CyanogenMod-7.0.2 Released (oops)". CyanogenMod blog. Retrieved 25 April 2011.
  53. ^ >Cyanogen (5 May 2011). "CyanogenMod 7.0.3 Released". CyanogenMod blog. Retrieved 5 May 2011.
  54. ^ >Cyanogen (10 October 2011). "CyanogenMod 7.1 Released". CyanogenMod blog. Retrieved 10 Oct 2011.
  55. ^ official device list