본문 바로가기

이전 글 보기

안드로이드를 루팅하다! (1편): 이해

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

필자는 국내에서 출시된 최고의 안드로이드폰 모토로이 부 터 지금의 갤럭시S2까지 약 2년 정도의 시간 동안 스마트폰을 써왔다. 애플의 유혹이 있었지만 사실 애플의 경우에는 쓰는 사람도 많았고 당시에는 A/S에 대한 부분을 크게 생각해서 애플의 것을 사지 않았다. 뭐 하여간 그렇게 길다면 긴 시간을 안드로이드와 같이 생활하다 보니 느끼는 점이 있었다.

"스마트폰은 자기만족이다" 라는 것이다. 뭔 소리인고 하니 스마트폰을 가장 많이 보는 것은 "남"이 아니라 "나"이고 그렇기 때문에 자신에게 가장 잘 맞도록 셋팅하고 설정하여 두는 것이 좋다는 것이다. 그리고 내가 보기에 멋지게 꾸미면 그뿐이다. 보통은 "그거 2주짜리야"라고 하지만 필자의 경우에는 갤럭시S2를 구입하고 난 뒤 여러 번 테마를 변경하고 하였다. (아마 내 블로그에 올라와 있는 스마트 폰 사진을 보면 어느 정도로 바꾸는지 이해가 되실 듯.)


안드로이드 계열이야 애플에 비해서 자유도가 높아 루팅 없이도 충분이 "어둠의 경로"로 에서 어플을 받아서 설치하고 또 이용이 가능하다. 그리고 배경화면이나 위젯의 설정 같은 부분에 있어서도 쉽게 내 멋대로 바꾸는 것이 가능하다. 그런데 테마는 그렇지 못하다. 그리고 상대적으로 늦게 나온 스마트폰들의 1위 박탈감을 해소하기 위한 오버쿨러도 안 된다. 나는 쓰지도 않는 시스템 어플들을 지우는 것도 안 된다. 아이폰 보다야 자유도가 높다고 하지만 역시 한계는 존재하다.

그래서 루팅이라는 것을 한다. 필자도 "삼성에서는 권하지 않습니다" 라고 하는 루팅을 여러 번 했고 주제넘게 시스템파일을 건드렸다가 공초(공장초기화)하고 리셋하기를 여러 번 하였다. 모토로이때부터 지금의 갤스2까지 말이다. 그러다 보니 안드로이드 스마트폰을 산 친구들이 자꾸 나에게 루팅을 해달라니 어쩌니 부탁을 한다. 개중에 개념 있게도 루팅만 배우는 것이 아니라 루팅에 관련된 여러 용어 및 이해의 해석을 바라는 녀석들도 있었다. 그래서 그런 친구들을 위해서 "루팅 시리즈 물 첫 번째, 용어의 해석 편"을 작성한다.


루팅이란?


루팅(Rooting)이란 아이폰 유저에게는 해킹으로 불려진다. 이는 운영체제의 해킹을 통해서 관리자 권한을 얻는 것을 의미한다. 어원은 리눅스에서부터 시작되었다. 안드로이드 OS가 리눅스를 기반으로 한다는 것은 알만한 사람은 다 아는 사실이다. 그리고 리눅스에서 관리자권한 즉, 최고권한을 루트라고 한다. 이러한 권한을 얻는 것에서 파생된 것이 바로 루팅이다. 이건 개인적인 생각이지만 루트라는 것이 OS의 뿌리라고 할 수 있는 시스템파일을 건드릴 수 있어서 나온 게 아닌가 싶다.

이렇게 루팅을 하고 나면 2편에서 설명할 슈퍼유저(Super User)아이콘이 생성되면서 관리자로 인정받게 된다. 


팅에 필요한 것(용어)


 
루팅을 하기 위해서는 몇 가지 필요한 것들이 있다. 정보도 필요하고 소프트웨어도 필요하다. 정보라는 것은 스마트폰의 펌웨어 버전을 말하는 것인데 위 사진에서 보면 2.3.5라는 것과 빌드번호 EI21을 통해서 확인할 수 있다. 소프트웨어오딘이라고 하는 커널을 덮어 씌우는 프로그램이다. 자 여기서 중요한 것 2가지가 나왔다. 커널과 펌웨어!

친구에게 커널과 펌웨어를 설명할때는 그냥 단순히 이해만 돕기 위해서 아래와 같이 설명했다.
 - 안드로이드OS가 윈도우라면 펌웨어는 XP, 비스타,7 같은거고 커널은 윈도우7 홈에디션, 얼티메이트 와 같은 것!
잘못된 설명이기는 하지만 이렇게 설명해야 이해가 빠를 것 같아서 그랬는데... 아래 내용에서는 더 디테일 하게 설명하였다. 혹시라도 아래의 글을 읽고도 그 부분이 이해가 가지 않는다 라고 하면 그냥 윈도우 예시처럼 이해하면 된다.


커널(kernel)은 2가지 의미가 있는데 전산적의미로 보자면 시스템의 초기화와 인터럽트를 처리하기 위한 특별한 프로세스들과 프로세스 기법을 구현하기 위한 기본적인 모니터로 구성된 것으로 프로세스들의 환경이나 교환을 생성해내는 것을 말한다. 솔직히 내가 봐도 이해가 어렵다 쉽게 설명하면 하드웨어를 제어하기 위한 API(C언어 같은 거)정도로 이해를 하면 쉽다. (자세히 들어가면 선점 형 비선점형 뭐 이렇게 나뉘기도 하는데 그건 필자도 정확하게 모른다. 솔직히 알 필요도 없다.)

그럼 펌웨어는 무엇인가? 펌웨어(firmware)하드웨어의 기본적인 동작을 제어할 수 있고 시스템 소프트웨어를 포함하는 소프트웨어를 말한다. PC를 예로 들자면 바이오스가 바로 펌웨어이다. 그럼 커널과 펌웨어의 차이는 무엇인가?


커널이라고 하는 것은 펌웨어에 부속되어 있는 것 중에 하나로 위 설명에서 나와 있듯 하드웨어의 접근권한을 얻기 위해서는 커널을 손보아야 한다. 즉, 안드로이드의 루팅을 위해서는 해당하는 펌웨어에 맞는 커널과 그 커널이 관리자권한을 얻은 루트가 된 상태여야만 한다는 것이다.

현재까지 루팅되어 나와 있는 커널들 중에서 가장 많이 사용되는 것들이 바로 테그라크(Tegrak), 스피드모드(SpeedMOD), Lulz 등이 있다.  각 커널들 마다 장단점이 있다. 필자의 경우에는 테그라크, Lulz를 사용해 보았다. 개인적으로는 Lulz가 편하고 속도도 잘 나오는 것 같다.

각 커널들의 특징
테크라크: 편의성위주, 성능중시
스피드모드: 시스템의 세세한 컨트롤 가능, 속도가 빠름
Lulz: 삼성오픈소스를 기반으로 하는 것으로 몇 가지 기능이 추가시킴 + 테크라크커널

(각 루트커널에 대한 자세한 이야기는 2편에 계속 작성토록 하겠다.)


뭐 사실 어떤 커널을 사용하던 간에 일반인의 경우에는 속도가 어떻고 오버쿨러이 어떻고 RAM이 어떻고 와 같은 문제는 상관없다. 블로그나 카페에 들어가서 찾아보면 이게 좋다. 저게 좋다. 갑론을박을 하기도 하지만 내가 보기에 스마트폰을 예쁘게 꾸미려고 하는 유저에게는 뭘 사용해도 상관이 없는 부분 같다. 실제로도 휴대폰의 커스텀마이징을 위해서 루팅을 하는 경우가 많고 말이다.


루팅을 하면?!


방금 커스텀마이징(Customize)을 위해서 루팅을 하는 사람이 많다고 했다. 그럼 여기서 말하는 커스터마이징은 무엇인가? 바로 안드로이드 스마트폰의 테마를 바꿀 수 있다는 것이다. 상단바, 키패드, 기본뮤직, 퀵패널 등 다양한 부분을 사용자가 알아서 예쁘게 본인에게 맞도록 설정할 수 있다. 물론 이 같이 테마를 직접 만든다! 는 부분에서는 다소 전문적인 능력이 필요하지만 전문적인 능력을 가지고 있는 사람들이 많기 때문에 우리는 그냥 받아서 예쁘게, 감사합니다. 하고 사용하면 된다. 

이 글을 통해서 맛클 닉네임 좋은하늘, Jiacobs3 님 등 현 사용 테마를 만들어 주신 분들에게 아주 매우 크게 감사인사를 하고 싶습니다. 감사합니다. ^^ 이쁘게 잘쓸게요. ^^


필자와 같은 경우는 만들 수는 있지만 남들을 위해서 그렇게 힘들게 무언가를 만들어낼 박애정신도 부족하거니와 귀찮기도 하여 박애정신이 투철하신 능력자 분들에게 감사인사를 전하며 잘 사용하고 있다. 혹시라도 루팅 이 글을 보고 루팅을 하고 또 맛클에서 테마를 변경하시려는 분들에게 이야기를 드리자면 반드시 감사인사를 꼭 전하자! 그들의 노고에 인사 한번 해주는 건 돈 드는 것도 아니고 일종의 예의 와 같은 것! 동방예의지국에서 인사정도는... 
 

커스텀마이징 뿐 아니라 오버클럭도 가능하다. 오버클럭이란 쉽게 말해서 CUP가 가지고 있는 한계를 뛰어넘도록 강제하여 속도를 빠르게 하는 것을 말한다. 이것 역시 루팅을 통해서 가능해진다. 필자는 이거 안 한다. 왜냐! 오버하면 결국은 먼저 죽게 된다. 영화에서도 나오고 현실에서도 그렇다. 기기라고 나 그럴 쏘냐.

그리고 필요 없는 시스템파일을 제거할 수 있다. 개인적으로 이 부분이 상당히 마음에 든다. 내 노트북이나 PC에서도 필요 없는 유틸이나 이런 거는 전혀 없다. 내 스마트폰도 그렇다. 딱 필요한 것만 넣어놓기를 좋아하는 필자로써는 사용하지도 않는 여러 시스템어플을 지움으로 해서 용량확보와 시스템의 속도 UP을 가능하게 하였다.


장점만 있는 건 아니다. 단점도 있다. 일단은 A/S가 유료로 바뀐다는 것이다. 인터넷에서는 "루팅을 하면 A/S가 안 된다"고 하지만 우리는 기업이 생산한 제품을 구입한 소비자이고 또한 루팅 자체가 불법이 아니기 때문에 (다만 권장하지 않을 뿐......) A/S거부 못한다. 하지만 순정 펌웨어의 문제라면 무상A/S가 되지만 권장하지 않은 걸 했기 때문에 유로로 전환된다. 뭐 서비스센터에 따라서 다를 수 있겠으나 내 친구가 최근에 받아 본 바로는 유로라고 한다. (그냥 순정 펌웨어 덮으면 될 것을......삼성 서비스센터에서 1만8천원 받았다고 한다.)

두 번째 단점은 금융업무가 불가하다는 것이다. 관리자 모드로 전환하게 되면 그 공개의 범위가 전체가 되기 때문에 보안성이 취약해 진다. 따라서 루팅을 한 스마트폰의 경우에는 금융업무가 제한된다. 물론 테그라크 커널이나 Lulz 커널 과 같은 경우에는 루팅과 언 루팅을 한번의 터치만으로 가능하기 때문에 금융업무를 볼 때에는 언 루팅만 해주면 가능해 지기는 한다.


마지막 System 파일 잘못 건드리면 벽돌 된다. 루팅에 대해서 조사를 할 때 보면 벽돌이라는 표현이 정말로 많이 나온다. 필자의 경우에도 2편에서 작성하게 될 루팅방법(과정)을 말할 때 "루팅은 본인의 선택임으로 루팅이 잘못되었다고 하여 벽돌이 되었다고 해서 필자에게 책임을 묻지 말아주세요" 하고 멘트를 달 생각이다. 벽돌이란 스마트폰이 아무런 기능도 하지 못하고 그냥 쇠붙이처럼 되는 경우를 비유하여 쓰는 표현이다.

하여간 시스템파일은 전문가가 아닌 이상 어지간 해서는 건드려서는 안 되며 굳이 건드려야겠다 싶으신 분들은 반드시 백업을 해두고 또 능력자들이 작성해 놓은 그 순서와 과정을 반드시 지켜야 할 것이다.


지금까지 루팅을 하기 전에 알아두면 좋은 것들의 용어 그리고 루팅의 장단점에 대해서 서술했다. 스마트폰은 루팅을 하면 신세계가 펼쳐진다. 피쳐폰 사용자가 스마트폰을 사용하면 신세계가 펼쳐지는 듯이 말이다. 문제는 그 신세계가 반드시 긍정적일 수 만은 없다는 것이다. 단점도 있고 또 잘못 할 경우 벽돌 되니까 말이다. 때문에 신세계는 루팅을 하게 될 당사자들이 루팅에 대해서 얼마나 이해하고 있느냐에 따라서 달라진다. 루팅을 하기 전에 전반적인 내용의 이해를 통해서 아름다운 신세계를 경험하기 바란다.

모두 읽었다면 [갤럭시S2 루팅하기 (2편)]을 통해서 루팅을 본격적으로 시작해보자.