Saturday, February 4, 2012

CyanogenMod

From Wikipedia, the free encyclopedia
CyanogenMod
CyanogenModLogo.png
Screenshot-1318632299047.png
Company /developerCyanogen (Steve Kondik), CyanogenMod team
Programmed inC (core), C++ (some third party libraries), Java (UI)
Source modelOpen source
Initial release3.1 (Dream & Magic)
Latest stable release7.1.0 (various) / October 10, 2011
Marketing targetFirmware replacement for AndroidMobile Devices
Supported platformsARM
Kernel typeMonolithic, Linux kernel modified
Default user interfaceADW.Launcher
LicenseApache License 2 and GNU General Public License v2[1]
Official websitewww.cyanogenmod.com

CyanogenMod is a replacement firmware of over 60 smart phones and tablet computers, based on the Androidmobile operating system. It offers features and options not found in the official firmware distributed by vendors of these devices.

Features supported by CyanogenMod include native theming support (also called the "T-Mobile Theme Engine"),Free Lossless Audio Codec (FLAC) support, a large Access Point Name list, an OpenVPN client, a reboot menu, support for Wi-Fi, Bluetooth, and USB tethering, CPU overclocking and performance enhancements, soft buttons and other "tablet tweaks", toggles in the notification pull-down (such as Wi-Fi, Bluetooth and GPS), apppermissions management, as well as other interface enhancements. CyanogenMod is also stated to increase performance and reliability compared with official firmware releases.[2]

CyanogenMod is developed as free and open source software based on the official releases of Android byGoogle, with added original and third-party code.

Although only a subset of total CyanogenMod users elect to report their use of the firmware,[3] as of 26 January 2012, CyanogenMod has recorded over 1.1 million active installs on a multitude of devices.[4][5]

Contents

History and development

Soon after the introduction of the HTC Dream (named the "T-Mobile G1" in the United States) mobile phone in September 2008, a method was discovered to attain privileged control (termed "root access") within Android's Linux-based subsystem.[6] 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".[7]

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

Like many open source projects, CyanogenMod is developed using a distributed revision control system with the official repositories being hosted on Github.[9] Contributors submit new feature or bug fix changes using Google's source code review system, Gerrit.[10] Contributions may be tested by anyone, voted up or down by registered users, and ultimately accepted into the code by one of a handful of CyanogenMod developers.

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.[11] A release candidate of CyanogenMod 6 became available on 11 July 2010,[12] and the stable version was released on 28 August 2010.[13]

CyanogenMod 7

CyanogenMod 7 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 improved launcher tray, dialer, and browser) and code from established open source projects (such as BusyBox in the shell).[14]

CyanogenMod 7 development began when Google released Android 2.3's source code.[15] On 15 February 2011, the first release candidates of CyanogenMod 7 were rolled out on several of the supported devices.[16][17] 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.[18] On 11 April 2011, the public version of CyanogenMod 7.0 was released, based on Android 2.3.3.[19] The latest stable version, CyanogenMod 7.1, was released on 10 October 2011, based on Android 2.3.7.[20] CyanogenMod 7.2, expected in early 2012, is expected to be the last update to the 7.x series while work and efforts are directed towards ICS and CyanogenMod 9.

A myTouch 4G running CyanogenMod

CyanogenMod 8

CyanogenMod version 8 was planned to be based on Android 3.x Honeycomb. However, no source code for Honeycomb was provided by Google until it appeared in the tree history of the Android 4.0 Ice Cream Sandwich source release. Since Honeycomb was superseded by Ice Cream Sandwich, the release schedule advanced from CyanogenMod 7 directly to CyanogenMod 9.

CyanogenMod 9

CyanogenMod 9 is based on Google's Android 4.x Ice Cream Sandwich.[21] Steve Kondik and his team have announced that they have begun work on the new release after Google released the source code of Android 4.0.1.[22] By the last days of November 2011, some alpha versions had been distributed, in particular for the Samsung mobile phones Nexus S and Galaxy S.[23]

Tools

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

Until recently, the response of tablet and smartphone manufacturers and mobile carriers has typically been unsupportive of third-party firmware development. Manufacturers had expressed concern about improper functioning of devices running unofficial software[24] and related support costs. Moreover, firmware such as CyanogenMod sometimes offers features for which carriers would otherwise charge a premium (e.g., tethering). As a result, technical obstacles such as lockedbootloaders and restricted access to root permissions were common in many devices.

However, as community-developed software has grown popular[25][26] and following a statement by the Librarian of Congress (US) that permits the use of "jailbreaking" mobile devices,[27] manufacturers and carriers have softened their position regarding CyanogenMod and other unofficial firmware distributions, with some, including HTC,[28] Motorola[29], Samsung[30][31] and Sony Ericsson,[32] 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 unlockablebootloaders, 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,[24] and Samsung sent several Galaxy S II phones to the CyanogenMod team with the express purpose of bringing CyanogenMod to the device.[33] Mobile carrier T-Mobile has voiced its support for the CyanogenMod project, tweeting "CM7 is great!"[34]

Licensing

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 acease 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.[35][36][37][38] 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.[39][40][41]

Following a statement from Google clarifying its position[42] 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.[43][44] 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.[45] 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.[46]

Other Uses

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

Version history

CyanogenMod VersionAndroid versionRelease
date
Notable changes
3.1Android 1.5 (Cupcake)2009
3.22009
3.3.x2009
3.4.x2009
3.5.x2009
3.6.x20093.6.8 onwards based on Android 1.5r3
3.9.x20093.9.3 onwards has FLAC support
4.0.xAndroid 1.5/6 (Cupcake/Donut)2009
4.1.x20094.1.4 onwards based on Android 1.6 (Donut); QuickOffice removed from 4.1.4 onwards; Google proprietary software separated due to cease and desist from 4.1.99 onwards
4.2.x20094.2.3 onwards has USB tethering support; 4.2.6 onwards based on Android 1.6r2; 4.2.11 onwards added pinch zoom for Browser, pinch zoom and swipe for Gallery
5.0.0Android 2.0 / 2.1 (Eclair)2010-02-14[48]
5.0.12010-02-14[49]
5.0.22010-02-14[50]
5.0.3.x2010-02-20[51]
5.0.4.x2010-02-27[52]
5.0.5.x2010-03-19[53]
5.0.62010-04-16[54]
5.0.72010-05-25[55]
5.0.82010-07-19[56]Introduced ADWLauncher as the default launcher
6.0.0Android 2.2 (Froyo)2010-08-28[13]Introduced dual camera and ad-hoc wifi support
6.1.x2010-12-06[57]6.1.0 onwards based on Android 2.2.1
7.0.xAndroid 2.3 (Gingerbread)2011-04-10[19]7.0.0 onwards based on Android 2.3.3
7.1.02011-10-10[58]Based on Android 2.3.7

Supported devices

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

ManufacturerModelCode nameDevice typeNotesLatest CM support
AdventVegavegatablet7.1.x
Barnes and NobleNook Colorencoretablet7.1.x
CommtivaZ71z71phoneAlso 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 A887.1.x
GeeksPhoneOneonephone7.1.x
GeeksPhoneZerozerophone7.1.x
GoogleNexus OnepassionphoneMade by HTC7.1.x
GoogleNexus ScrespophoneMade by Samsung7.1.x
GoogleNexus S 4Gcrespo4gphoneMade by Samsung7.1.x
Hewlett PackardTouchPadtenderlointabletAs of 2011 has pre-full official CM support (alpha)
HTCArialibertyphone7.1.x
HTCDesire (GSM)bravophone7.1.x
HTCDesire (CDMA)bravocphone7.1.x
HTCDesire HDacephoneAlso marketed as AT&T Inspire 4G7.1.x
HTCDesire Ssagaphone7.1.x
HTCDesire ZvisionphoneAlso marketed as T-Mobile G27.1.x
HTCDreamdream_sapphirephoneAlso marketed as T-Mobile G1 & Era G16.1.x
HTCDroid Erisdesirecphone7.1.x
HTCEvo 3D (CDMA)shooterphoneAs of 2011 has pre-full official CM support (alpha)
HTCEvo 4Gsupersonicphone7.1.x
HTCEvo Shift 4Gspeedyphone7.1.x
HTCHero (CDMA)herocphone7.1.x
HTCHero (GSM)herophone7.1.x
HTCDroid Incredibleincphone7.1.x
HTCDroid Incredible 2vivowphone7.1.x
HTCIncredible Svivophone7.1.x
HTCLegendlegendphone7.1.x
HTCMagicdream_sapphirephoneAlso marketed as T-Mobile myTouch 3G, Rogers HTC Magic, DoCoMo HT-03A6.1.x
HTCmyTouch 4GglacierphoneAlso marketed as HTC Panache.7.1.x
HTCmyTouch 4G SlidedoubleshotphoneAs of 2011 has pre-full official CM support (alpha)
HTCmyTouch 3G Slideespressophone7.1.x
HTCSensationpyramidphoneAs of 2011 has pre-full official CM support (alpha)
HTCTattooclickphone7.1.x
HTCWildfirebuzzphone7.1.x
HuaweiU8220u8220phoneAlso marketed as T-Mobile Pulse7.1.x
LGAT&T Thrill 4Gp925phoneAs of Jan 2012 has nightly only official CM support
LGOptimus Blackp970phoneAs of 2011 has nightly only official CM support
LGOptimus Hube510phoneAs of Jan 2012 has nightly only official CM support
LGOptimus Onep500phoneAs of Jan 2012 has nightly only official CM support
LGOptimus Proc660phoneAs of Jan 2012 has nightly only official CM support
LGOptimus Sole730phoneAs of Jan 2012 has nightly only official CM support
LGOptimus 2Xp990phoneAlso marketed as LG Optimus Speed7.1.x
LGOptimus 3Dp920phoneAs of Jan 2012 has nightly only official CM support
LGT-Mobile G2xp999phone7.1.x
MotorolaAtrix 4GolympusphoneAs of 2011 has nightly only official CM support
MotorolaBackflipmotusphone7.1.x
MotorolaCliqmorrisonphoneAlso marketed as Motorola Dext7.1.x
MotorolaCliq XTzeppelinphoneAlso marketed as Motorola Quench7.1.x
MotorolaDefyumts_jordanphone7.1.x
MotorolaDroidsholesphoneOfficial CM support for only the Motorola Droid, not the Motorola Milestone7.1.x
MotorolaDroid 2cdma_droid2phone7.1.x
MotorolaDroid 2 Globalcdma_droid2wephone7.1.x
MotorolaDroid Xcdma_shadowphone7.1.x
SamsungCaptivatecaptivatemtdphone7.1.x
SamsungEpic 4GepicmtdphoneAs of Dec 2011 has nightly only official CM support
SamsungFascinatefascinatemtdphone7.1.x
SamsungGalaxy SgalaxysmtdphoneOfficial CM support for only the International Version (GT-I9000), Bell Vibrant (GT-I9000M), and Telcel Galaxy S (GT-I9000T); no other models7.1.x
SamsungGalaxy S IIgalaxys2phoneOfficial CM support for only the International Version (GT-I9100), Bell Vibrant (GT-I9100M), and Telcel Galaxy S (GT-I9100T); no other models7.1.x
SamsungGalaxy S II (AT&T)galaxys2attphone7.1.x
SamsungMesmerizemesmerizemtdphone7.1.x
SamsungShowcaseshowcasemtdphone7.1.x
SamsungVibrantvibrantmtdphone7.1.x (Support removed) [60]
Sony EricssonXperia Arcanzuphone7.1.x
Sony EricssonXperia Neohallonphone7.1.x
Sony EricssonXperia Minismultronphone7.1.x
Sony EricssonXperia Mini Promangophone7.1.x
Sony EricssonXperia Play (GSM)zeusphone7.1.x
Sony EricssonXperia ProiyokanphoneAs of Dec 2011 has nightly only official CM support
Sony EricssonXperia Rayurushiphone7.1.x
Sony EricssonXperia X8shakiraphone7.1.x
Sony EricssonXperia X10es209raphoneAs of 2011 has nightly only official CM support
Sony EricssonXperia X10 Minirobynphone7.1.x
Sony EricssonXperia X10 Mini Promimmiphone7.1.x
ViewSonicG Tabletsmb_a1002tablet7.1.x
ZTEBladebladephoneAlso marketed as Orange San Francisco7.1.x
ZTEV9v9tablet7.1.x


No comments: