최근 수정 시각 : 2024-11-26 10:53:41

CyanogenMod


||<tablealign=center><tablewidth=500><tablebordercolor=#34a853><tablebgcolor=#ffffff,#1f2023> 파일:1px 투명.svg파일:안드로이드(운영체제) 로고.svg파일:안드로이드(운영체제) 로고 컬러 화이트.svg
커스텀 펌웨어
||
{{{#!wiki style="margin: 0 -10px -5px"
{{{#fff {{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -6px -1px -11px"
지원 중
AOSPABlissRomsCarbonROMCorvus OS
crDroiddotOSEvolution XHavocOS
LineageOSArrowOS/e/ OSOmniROM
Pixel OSPixelPlus UI
{{{#!wiki style="margin: 0 -10px -5px"
{{{#fff {{{#!folding 지원 종료
{{{#!wiki style="margin: -6px -1px -11px"
AospExtendedAOKPCyanogenModDirty Unicorns
FIUISayanogenSlimRomsViperOS
XenonHDXOSP곰돌라이트독도 프로젝트
MoKee ROMResurrection RemixPixel ExperienceProject Elixir
POSPPixelExtended
}}}}}}}}}}}} ||
}}}}}}}}}}}} ||

CyanogenMod
파일:CyanogenMod-New.png
발표일 2009년 7월 1일[1]
기반 Android
개발자 CyanogenMod
오픈소스 커뮤니티
개발 상태 개발 종료
공식 사이트 CyanogenMod 홈페이지 [2]
최신 버전 CM 14.1.0
(Lineage 14.1으로 승계)

1. 개요2. 특징3. 설치
3.1. 커스텀 리커버리 설치
4. 버전
4.1. 빌드 버전
5. 기타
5.1. 제조사와의 관계5.2. Cyanogen Inc 창립과 소스비공개5.3. 커스텀롬 개발자들의 문제
6. 개발 중단 선언

[clearfix]

1. 개요

안드로이드의 대표적인 커스텀 펌웨어 중 하나.

Cyanogen (Steve Kondik)이 주로 제작하며 XDA Developers 커뮤니티에서 엄청난 도움을 받는다. 대개는 줄여서 CM+버전번호로 불린다.

읽는 방법은 "sigh-AN-oh-jen-mod"[3]. 즉 cyanogen이라는 단어의 영어식 발음과 거의 같다고 보면 된다[4] cyanogen이라는 단어는 일반 명사이고, 어느 나라의 말로 쓰였는지에 따라 당연히 읽는 방법도 달라지겠지만, CyanogenMod라는 안드로이드의 커스텀 펌웨어는 그렇지 않다. 이는 고유 명사이며 그 개발진 당사자들이 어떻게 발음하면 된다고 명시해놓기까지 했으므로 읽는 방법에 대해 왈가왈부할 이유가 전혀 없다.

마스코트는 원래 일반 안드로이드 마스코트에 파란색과 스케이트를 추가한 Andy라는 캐릭터였으나 2012년부터 Cid(CyanogenMod ID의 줄임말)라는 캐릭터로 교체되었다.

파일:external/www.xda-developers.com/CyanogenMod1.png
파일:external/androidspin.com/cyanogenmod-cid.png
위쪽 Andy, 아랫쪽 Cid

2. 특징

많은 롬의 기본이 되는 커스텀 롬이다. 인터페이스가 제조사의 수정이 가해지지 않은 구글 넥서스와 흡사하며, 지원하는 모델 종류도 많고, 사용자가 많아 순정 펌웨어와 함께 호환성의 기준이 된다. 홈런쳐는 CM7까지는 구글 순정이 아닌 ADWLauncher를 내장했고, CM9 이후부터는 CyanogenMod 팀에서 구글 순정 런처를 개조해서 여러 옵션을 지정할 수 있게 한 Trebuchet[5]이라는 런처를 내장하고 있다.

CM 이전의 롬이란 것은 각 하드웨어 제조사들이 내놓은 순정 롬을 마개조해서 만들어지는 게 보통이었으나 CM은 AOSP[6]를 직접 주물러서 각 스마트폰에 맞게 롬을 만든다. 각종 스마트폰 제조업체 역시 자사 제품에 들어가는 순정 펌웨어를 이런 식으로 만든다. 이러한 방식의 장점으로는 제조사 펌웨어에 얽매이지 않기 때문에 자유롭게 자신들만의 색을 가진 롬이나 최신 버전 안드로이드 기반 롬을 만들어 낼 수 있으며,[7][8] 단점으로는 완전한 서드파티 롬이다 보니 예상치 못한 안정성 문제가 발생할 수 있다는 것이다. 최근에는 커널 까지도 CM 기반의 소스로 독립.

원래는 마켓 등 구글 앱을 내장하고 있었으나 특허 관련 소송을 우려해서 CM7부터는 해당 앱들만 따로 구글 앱스라는 명칭으로 묶여서 배포된다. 줄여서 Gapps(갭스)라고도 한다. 롬 제작자들이 자신의 롬에 최적화된 갭스만을 묶어 배포하는 경우도 있지만 범용적으로는 OpenGapps가 사용된다. 구글 앱들의 종류와 용량이 커지다 보니, 넣을 것은 넣고, 뺄 것은 뺀 여러 버전의 갭스들이 나와있다. 자신이 구글앱을 많이 사용하지 않거나 필요한 것만 마켓에서 따로 받아서 사용하고 싶다면, 플레이 스토어 구동과 구글 싱크를 위한 최소한의 기능만 들어있는 Pico나 Micro 버전의 갭스를 다운받자.

사용자가 성능이나 UI를 조절하기 쉽다. 상태바나 앱 아이콘 등을 바꾸는 테마 기능을 비롯하여 순정에서는 볼 수 없는 CPU 클럭 조정부터 상태바 배터리 표시와 퀵패널 순서 변경 등 공돌이가 실험하기 좋은 기능들이 많이 있다.[9]CM7까지는 설정-CyanogenMod 설정, CM9 이후로는 분산되어 설정 앱 내에 잠금 화면, 테마, 시스템 등의 메뉴와 함께 CPU클럭이나 가버너 등은 설정-Performance에서 찾아볼 수 있다.

같은 안드로이드 커스텀 롬인 Omni, MIUI와 비교해서 훨씬 가볍다. 이들은 퍼포먼스 위주의 롬이라기보단 실용성과 디자인에 중심을 두고 있기 때문이다. 외국판 디바이스 기준으로 인기 있는 기종은 최적화가 잘 되고[10] 인기없는 폰들은 발적화는 물론이고 롬이 없는 경우도 있다.[11]

허니콤이 나오기 전 진저브레드 버전인 CM7에서부터 이미 타블렛형 기기를 정식으로 지원했는데, 후술할 Advent Vega나 B&N Nook Color, 그리고 HP 터치패드 같이 물리버튼이 부족한 타블렛 기기를 위해서 상태바가 허니컴 버전처럼 휴대폰에서의 상단이 아닌 하단에 나타나고 허니컴 버전같은 소프트웨어 터치 버튼을 상태바에 붙일 수 있으며, 또한 이 상태에서 타 애플리케이션 실행시 전체화면 모드에서도 상태바가 숨지 않는 기능까지 제공하고 있다. [12]

또 하나의 전설적인 이야기는 소스가 없는 부분도 어찌어찌 마개조해서 작동하게 만들어 버린다. 일례로 넥서스 원의 하드웨어는 FM라디오 작동에 필요한 모든 하드웨어가 있지만 AOSP기반의 순정에서는 라디오 기능이 없었는데 CM에서는 직접 커널을 개조하여 라디오 기능을 작동하게 만들었다. 이 외에 제조사의 커스텀 기능이라서 소스가 제공되지 않는 아트릭스의 지문인식의 지원. OS가 전혀 다른 HP 터치패드의 안드로이드 OS로 교체 등.

3. 설치

모든 설치 가이드에 나와 있겠지만 설치 중에 발생하는 모든 피해는 본인의 책임이다.

심한 경우는 벽돌이 되기도 하고, 기기를 못 쓰게 되는 상황이 될 수 있으므로 신중함이 필요하다.

그리고 루팅-리커버리 선에서 무상 A/S 등의 서비스를 보장받지 못하는 경우가 많다.[13]

공장롬[14]이라 불리는 원래의 기본롬으로 돌아갈 수 있는지도 미리 알아보자. 설치된 앱은 확실히 사라지고 SD카드와 내장메모리에 든 파일들도 설치 중 사라질 수 있으므로 미리미리 백업해놓자.

설치하는 법은 가지각색이기 때문에 "(기기의 모델명 혹은 이름) CM"으로 검색해서 XDA의 영어로 된 스레드나 블로그를 우선으로 따라하는게 좋다. 기본적으로 CM이 공식적으로 지원하는 기기는 해당 기기의 CM 위키가 개설되어 있고, 기본적인 설치법이 기술되어 있다.[15]

대부분의 CM롬은 md5 같은 펌웨어 파일이 아니라, 그저 zip 파일로 되어있다. Odin 같은 툴로는 롬 자체는 설치를 하지 못한다는 뜻이다. CM롬을 위한 커스텀 리커버리를 오딘을 통해 깔아준 뒤, SD카드, OTG USB 등을 사용하여 파일을 인식할 수 있게 하던가, 전원을 킨 상태에서 공유 기능을 통해 넣어둔 상태로 깔자. 아래 내용은 이해가 안 되거나 문제가 생겼을 때 참고용으로 보자.

대게 커스텀롬의 설치는 커스텀 리커버리 설치 후 롬과 GApps[16]를 플래싱하는 순서로 이루어진다.

커스텀 리커버리는 제조사에서 만든 기본 복구 모드를 대체하는 것으로 터치가 지원되는 TWRP나 CM 개발진이 만든 CWM이 유명하다. 리커버리 설치는 기본적으로 시스템 파티션을 조작하는 방법이기 때문에 최소 루팅, 기기 제조사나 통신사에 따라 부트로더[17] 언락[18][19]이 필요하다.

롬 자체는 공식 지원되는 기기의 경우 여기에서 받을 수 있다. 비공식적으로 만들어지는 롬은 직접 찾아서 받아야 한다. 빌드 버전에 따라 성능이 저하되는 경우도 있고 통화나 카메라 등이 작동되지 않기도 하기 때문에 주의를 필요로 한다. 미주나 유럽에 출시된 경우 그 유명한 XDA에서 해당 기기의 포럼을 찾으면 된다. CM이 아닌 개인이 포팅한 경우 대부분 해당 롬의 스레드명에 UNOFFICIAL(비공식)이라는 명칭이 들어간다.

플래싱에는 컴퓨터에 연결해서 하는 방법과 리커버리에서 하는 방법이 있다.[20]

컴퓨터에서 플래싱하기 위해선 장치의 드라이버가 필요하다.[21] 드라이버 설치에 문제가 있는 경우 제조사에서 제공하는 프로그램[22]으로 컴퓨터와 Fastboot 모드로 연결돼야 하는데 기기마다 다르지만 꺼진 상태에서 전원 키와 볼륨 아래 키를 같이 누르는 경우가 많다.

리커버리에서 플래싱할 때 핸드폰에 롬과 GApps의 ZIP 압축파일[23]을 넣어놔야한다.[24][25] 안드로이드 4.4 이후의 Gapps는 이제부터 OpenGApps라는 오픈소스 프로젝트에서 편하게 받을 수 있다. 보통 새로운 롬이라면 초기화(wipe data 또는 Factory Reset)를 한 뒤에 해야 문제가 생기지 않는다. SD카드의 내용은 없어지지 않지만 설치된 앱과 구글 계정 등 시스템이 초기화 된다. 다만 순정롬 리커버리의 그것은 아예 SD카드를 초기화 시키기도 하니 주의해야 한다.

3.1. 커스텀 리커버리 설치

커스텀롬을 설치하려면 가장 기본적으로 필요한게 커스텀 리커버리이다. 순정 리커버리는 update.zip이라는 형식의 OTA 업데이트 설치와 공장 초기화 정도밖에 제공되지 않으나, 커스텀 리커버리는 커스텀 롬, 커스텀 커널 설치와 더불어 부분적 초기화[26], 낸드로이드 백업[27]과 더불어 자체 내장된 파일 매니저를 이용해 리커버리에서 시스템 파일을 수정할 수도 있다.

Clockworkmod[28]는 역사가 가장 오래된 커스텀 리커버리인데, CyanogenMod와 가장 밀접하게 연관된 커스텀 리커버리이다. 앱을 통해 설치할 롬을 선택해서 설치할 수 있다.
게다가 앱 내에 롬 디렉토리도 있다. Superuser.apk랑 Superuser 바이너리, 위에 나온 Google Apps, 오리지널 CyanogenMod 그리고 마지막으로 계약한 개발자 롬 한정으로 그 외 커스텀 롬이 제공되고 있다. 단점으로는 일부 기능[29]이 유료라는게 흠. [30]
다른 커스텀 리커버리인 TWRP는 최근 중국에서 만들어진 커스텀 리커버리이다. 테마설정을 할 수 있으며, cwm보다 안정성이 높다는 평을 받으며 인기를 끌고 있다. 배터리도 표시해주고 버튼은 터치하기 쉽게 커다랗게 있다. UI가 cwm과는 비교도 할 수 없을 만큼 알아보기 쉽다!

CyanogenMod 12.0 부터는 예전에 쓰던 ClockWorkMod가 아닌 Cyanogen Simple Recovery로 바뀌었다. 이유는 ClockWorkMod의 바이너리들의 버전이 너무 오래되었으며, ClockWorkMod를 개발하던 개발자가 더이상 개발을 진행하지 않고 있어서라고 한다.

옛날에는 커스텀 펌웨어를 올리려면 수동 adb로 직접 리커버리 올리고 커펌 올려야 했는데 요즘은 아무나 한다. CyanogenMod 및 다른 롬 만드는 사람도 보통 금전 이익을 목적으로 하지 않은 무보수 개발이 대부분이기 때문에 제발 요구하지 말자.

4. 버전

안드로이드 1.5 컵케이크부터 지원한 유서깊은 커스텀 펌웨어다. 2009년부터 제작을 시작했다. 자세한 버전은 아래와 같다.
Lineage 버전 안드로이드 버전 코드 네임 지원 여부 Stagefright 패치 여부
CM 3.6.8.1 1.5 Cupcake 지원 종료 X
CM 3.9.3
CM 4.1.4 1.6 Donut 지원 종료 X
CM 4.2.15.1
CM 5.0.8 2.0 ~ 2.1 Eclair 지원 종료 X
CM 6.0 2.2 Froyo 지원 종료 X
CM 6.1.3
CM 7.0.3 2.3 Gingerbread 지원 종료 X
CM 7.1
CM 7.2
CM 8.0 3.0 Honeycomb 미지원 [31] X
CM 9.1 4.0 Ice Cream Sandwich 지원 종료 X
CM 10.0 4.1 Jelly Bean 지원 종료 X
CM 10.1.3 4.2
CM 10.2.1 4.3
CM 11.0 4.4 KitKat 지원 종료 O
CM 12.0 5.0 Lollipop 지원 종료 O
CM 12.1 5.1
CM 13.0 6.0 Marshmallow 지원 종료 O
CM 14.0 7.0 Nougat 미지원 [32] O
CM 14.1 7.1 지원 종료

2016년 12월 31일, 모든 CyanogenMod에 대한 개발 및 배포가 중지되었다.

4.1. 빌드 버전

CyanogenMod에는 버그나 추가된 기능에 따라 여러 버전이 있다.
  • Nightly
    개발 중인 버전을 하루에 한 번 씩 밤중에 컴파일러가 자동으로 생성해서 올리는 테스트 버전이다. 공식 버전에서의 버그가 수정되었을 수도 있지만, 사람이 직접 생성하는 게 아니기 때문에 현재까지 작업 상황에 따라 예기치 못한 문제가 생길 수도 있다.[33] 공식 지원 기종의 경우 Nightly 빌드를 올리면 하루에 한 번씩(!) OTA로 업그레이드가 된다. CyanogenMod의 그 다음 안정화 버전이 나올 때까지. 가끔 새로운 기능이 추가되었다가 없어지기도 한다.
  • Experiments
    Release 버전을 뽑기 전에 확인하는 버전 비슷한 의미의 버전이다.
  • Release
    예전의 Milestone, Snapshot, Stable 버전과 같은 의미이다. 버그가 없는 안정한 버전이다. 현재 Release 버전에서는 Snapshot이라는 이름으로 배포되는 중이다.

5. 기타

5.1. 제조사와의 관계

삼성전자에서 CM팀에게 개발용으로 갤럭시 S II를 제공했다. 당시에는 자사 핸드폰을 개조 못 하게 꼭꼭 걸어잠그는 추세인 LG전자, 팬택 등과는 대조적인 모습이라고 칭찬 받았다.....였는데 갤럭시 S II 공식 출시 이후로 차기 S 시리즈에 대한 커널 소스를 한 줄 조차 넘겨주지 않은 것으로 알려져 있다[34] HTC도 2011년부터 부트로더를 걸어잠그는 등 폐쇄적인 정책으로 나가다가[35] 요즘은 한 번 거하게 까이고 나서 부트로더도 언락하고 센스용 SDK를 배포하는 등 나름대로 개발 친화적인 환경을 조성하려 노력하고 있다. 소니 에릭슨의 경우 자사 기종을 무상 제공하고 카메라 모듈 코드 등의 개발에 필요한 것을 지원했다.

이후 밝혀진 바에 따르면, Cyanogen(Steve Kondik)이 삼성전자 모바일 개발자로 고용되었다고 페이스북에 남겼다. 대신 자신이 하고있는 CM 롬 개발도 병행한다고.

하지만 2013년에 삼성전자를 그만두었다고 한다.* 삼성전자에 불만이 있는 건 아니고 자신이 새로 하고 싶은 일이 있어서 그만 둔다고 한다.

5.2. Cyanogen Inc 창립과 소스비공개

2013년 9월, CyanogenMod의 제작자들이 모여 Cyanogen Inc라는 이름의 회사를 창립했다. HTC와 중국의 스마트폰 제조사 OPPO와 협력하여 CM폰을 만든다고 공식으로 발표했고, 수많은 XDA의 개발자들이 상당한 기대를 했다. 그러나 CM에 들어가는 카메라 앱 Focal을 개발하던 개발자가 앱을 마켓에서 내리면서 구글 플러스에 그 이유를 밝혔는데, 앞으로 CyanogenMod의 소스는 Core(핵심)부분을 제외한 모든 부분을 Closed(비공개)할 예정이라는 충격적인 내용이 담겨있었다. # ## 그 동안 코드를 커밋해오던 기여자들의 노고를 가로채는 행위였기 때문에 XDA와 CM의 개발자들 사이 크게 논란이 일었다. 결국 XDA에서는 CM을 대신할 커스텀롬으로 Omni를 밀어주고 있다. #

5.3. 커스텀롬 개발자들의 문제

CyanogenMod는 엄연히 GPL 라이센스 하에 배포되고 있는데 국내와 해외(물론 XDA 포함)의 CyanogenMod를 이용해서 커스텀롬을 만드는 개발자들은 소스를 공개하지 않는 경우가 대부분이다. 요즘은 Apache 2.0 라이센스로 바뀌어서 비공개 하여도 상관 없다는 소리가 많다.

6. 개발 중단 선언

2016년 12월 31일을 기점으로, CyanogenMod의 모든 나이틀리 빌드와 관련된 서비스가 중지되었다.참조 Cyanogen Inc.가 새로운 Cyanogen Modular OS 개발에 집중하기로 결정하면서 발생한 일이다. 소스 코드는 계속 열어둬 개인적으로 빌드하고 싶은 사람은 빌드할 수 있다.

다만 완전히 죽었다고는 볼 수 없다. 창시자인 Steve Kondik과 CyanogenMod쪽의 개발자들이 Cyanogen Inc.를 나와, CyanogenMod를 LineageOS[36]로 이름을 바꿔 개발을 계속할 것이라고 한다.

[1] 안드로이드 1.5로 시작.[2] 홈페이지 폐쇄[3] 출처: CyanogenMod 공식홈페이지 'About' 항목[4] 한글로 표기하면 '사이애노젠모드' 내지는 '사이아노젠모드'가 될 것이다.[5] 트레뷰셋이라 읽는다.공성병기[6] Android Open Source Project; 즉, 안드로이드 기본 소스. 안드로이드가 오픈소스라는 말은 사실 이 부분을 두고 하는 말로, 정식으로 안드로이드라는 명칭이 붙은 것들은 구글이 상표권을 가지고 몇 가지 자사가 개발한 서비스들을 결합시켜둔 탓에 구글로부터 찍히면 제대로 된 안드로이드는 영영 못 쓰게 된다.[7] 제조사가 최신버전의 안드로이드를 지원하지 않는 디바이스더라도 제조사 펌웨어에 얽매이지 않으므로 얼마든지 최신버전으로 제작 가능하다.[8] 물론 이 방법도 하드웨어, 특히 커널과 깊은 관련이 있는 AP 제조사가 지원을 끊거나 소스를 공개하지 않으면 힘들다.[9] 오히려 요즘은 CM이 이 쪽으로 많이 빈약한 편인데 CM의 파생 롬들이 빵빵히 지원하니 잘 찾아보자.[10] 특히 옵티머스 원이나 모토로라 디파이[11] Xoom 이외의 허니콤 타블렛이 특히 더하다. 허니컴 소스가 없어서 커널 개발이 주를 이룬다.[12] CyanogenMod 팀이 HP 터치패드에 내기 걸린 (3000불+) 안드로이드 올리기 시합에 참가하자마자 저 기능들이 빠르게 발전했다.[13] 소니의 경우 언락을 지원하지만 무상 워런티는 끝난다. 즉, 루팅하는 그 즉시 영구 유상 워런티로 전환되는 것이다.[14] factory 또는 stock 롬[15] 해당 기기의 다운로드 페이지에 공식 위키로 가는 링크가 있으니 잘 찾아보자.[16] 유튜브, 플레이 스토어 등 구글이 제공하는 기본 앱들. 법적인 문제로 사전 설치 앱에서 제외됐다. 여기에서 버전에 맞는 것을 받으면 된다.[17] PC에서의 바이오스와 같은 역할을 한다.[18] HTC 기기에서 S-OFF[19] 통신사의 네트워크 사용의 심 언락과 다름에 주의[20] Flashfy와 같은 앱을 이용하는 방법도 있다. 대부분 이 방법도 리커버리로 자동으로 넘어가서 설치하기에 뭔가 리커버리를 직접 조작하지 않는다는 것만 빼면 동일하게 작동한다.[21] 일부기종의 경우에는 Odin(갤럭시 일부), Flashtool(소니 엑스페리아 일부) 같은 프로그램이 있기도 하다.[22] 갤럭시의 경우 스마트 스위치를 설치하거나 안드로이드 SDK를 설치해보자.[23] 구글 앱들을 사용하지 않을거라면 필요가 없다.[24] SD카드가 꼭 필요한 경우도 있다.[25] 기기에서 직접 파일을 받는것도 당연히 가능하다.[26] 시스템만 초기화 한다든가 cache, sdcard 쪽 파티션만 초기화 한다든가[27] 스마트폰이나 태블릿에 설치된 운영체제 통째로 백업하는 기능. 물론 복원해도 내외장메모리에 저장되어있었던 데이터나 음악, 사진 등은 지워지니 유의하자. 물론 부분적인 백업이나 복구도 가능하다.[28] cwm이라고 줄여쓰기도 한다.[29] 업데이트 체크, 일부 개발자 롬 다운로드[30] 요즘은 CWM 기반으로 한 Philz Touch도 꽤나 인기가 있는 편이다.[31] 소스코드 미공개[32] 7.1 공개로 인한 개발 중단[33] 통신이 안된다던가, 조도센서가 먹통이라던가. 가끔 통신이 완전히 나가버리는 일이 터지기도 한다.[34] 엑시노스 한정.[35] 사실 예전부터 폐쇄적이였다. 디자이어 부터 NAND lock을 걸었고 당시 모토로라의 RSA 2048bit 다음으로 가장 센 보안이였다. S-OFF 하는것도 힘든데 여기에 추가적인 보안을 걸어서 S-OFF 툴을 만들기 힘들어지자 욕을 먹었다.[36] 깃허브 주소