posted by By훈트 2010.07.28 02:36

제가 아직 모르는 게 많다는 걸 또 느낍니다. '복사방지'를 걸어놓고서 복사 후 붙여넣기를 하라고 한참을 설명했으니 쯧쯧...

 

복사방지 해제하였습니다. 불편을 끼쳐드려 죄송합니다.

 

****************

 

 

언제나 여러 고수님들의 주옥같은 게시글과 지식을 스폰지처럼 흡수하여 다른 초수님들에게 지식의 징검다리 역할을 하는 느티나무입니다.

 

7월 23일자로 모토로이 루팅에 대한 사실이 알려지면서 게시판이 들끓고 있는데도 저 역시도 글을 읽으면서 흥분을 감출수가 없네요. 그래서...

 

게시판 글들을 하나씩 소화하면서 루팅을 시도합니다. 동시에 이 글을 써나가면서 저보다 나중에 루팅에 뛰어든 분들에게 조금이라도 도움을 드리고자 합니다.

 

각설하고, 시작해 볼까요?

 

 

 

 I. 루팅이 뭔가요?

 

 

1. 안드로이드폰의 루팅이란

 

   안드로이드는 리눅스 기반으로 사용자의 권한도 리눅스 시스템의 정책을 따릅니다. 리눅스에 있어서 루트라는 것은 유닉스 기반 시스템에서 최고권한을 갖는 사용자를 지칭하는 것으로 루트 권한을 획득하면 일반 사용자에 금지된 조작을 수행하는 것도 가능합니다.

 

   따라서 안드로이드 폰을 루팅할 경우 일반적으로 금지된 조작 - 특히 하드웨어에 직접 접근하는 조작들이 가능해집니다. 대표적인 예로 오버클럭킹을 통한 속도의 향상, 시스템에 설치된 기본어플의 삭제 등... 이외에도 지금까지 상상할 수 없었던 여러가지 일들을 할 수 있습니다.
 
  다만 루팅을 위해서는 부트로더를 Unlock하게 되는데, 이는 추후 커스톰 롬을 설치하는 방법으로까지 발전할 가능성이 있다고 합니다. 이 경우 거의 폰 제작자의 손아귀를 벗어나는 탈주범이 되는 것으로 이해됩니다.

2. 루팅... 위험하지 않나요?
 
   루팅에 대해서 혹시라도 나중에 정상적인 업데이트나 A/S가 불가능하므로 하지 말라고 하시는 분들도 많습니다. 저도 약간 두려운 마음이 듭니다.
 
   그러나 일부 안드로이드폰은 이미 루팅이 가능한데도 불구하고 루팅때문에 큰 문제가 생겼다는 소식은 듣지 못했습니다. 
 
   또한 아래 글을 읽고나니 크게 문제가 될 것도 없다는 생각이 드는데 이건 비전문가인 저의 만용인지도 모르겠습니다. 하여튼 저는 Go!입니다. http://hacker.or.kr/34
 
3. 루팅했다가 다시 제자리로 돌릴 수 있나요?
 
   소위 언루팅하는 방법에 대한 게시글은 없네요. 제가 들은 얘기와 짐작으로는 모토로라 홈페이지가서 다시 펌웨어 업그레이드를 하면 문제가 없을 것 같은데... 고수님들의 조언 바랍니다.
 
4. 루팅을 하다가 벽돌이 되는 경우 폰을 못쓰게 되지는 않나요?
 
  이 부분도 제가 당해보지 않아서 분명히 말씀드릴 수는 없지만 게시판을 찾아보니 RSD lite와 같은 복구프로그램이 있다고 하네요.
 
☆ 이상의 내용은 논란의 여지가 많다고 느낍니다. 제가 잘 모르는 분야라서 자세한 근거와 친절한 설명으로 비전문가인 저에게 한수 가르쳐 주실 고수님들의 건설적인 조언을 기대합니다. (다만, 성의없는 비판은 사양합니다.) 
 
결론적으로 루팅을 하느냐 마느냐의 개개인의 판단에 달린 일입니다. 그러나 저는 무식하고 용감하게 자유를 향하여 돌진하렵니다.

 

 

 

 II. 루팅권한의 획득

 

이 작업의 가장 기초가 되는 Superuser로서의 권한을 획득하는 방법입니다. 이 소스를 만드신 분은 얼마나 많은 날밤을 새웠을까요? 그러나 우리는 이미 파악된 방법을 이용하므로 아주 간단합니다.

 

게시글은 토토로얌님의 http://cafe.naver.com/androiders/177514과 메이스님의 http://cafe.naver.com/androiders/177874을 참조하였습니다. 특히 제가 영어에 자신이 없어서 메이스님의 글을 거의 전적으로 따라했습니다.

 

 

1. 먼저 컴퓨터에 드라이버가 설치되어 있어야 합니다. 혹시 설치되어 있지 않은 분들을 위하여 서비스...


 

1) 모토로라 다운로드센터로 갑니다. 요기 http://www.mymotorola.co.kr/product/PrdDownProduct.aspx?id=0045. 다음 그림이 뜹니다.


2)1번: 모델명 선택에서 Motoroi(xt720)을 선택하고 엔터를 치고

 

3) 2번: 자신의 컴퓨터에 맞는 Usb Driver를 골라 클릭합니다. (저의 경우는 32bit인데 윈7을 쓰시는 분들은 64bit용을 받아야 하는 것 같습니다.)

 

4) 압축파일이 다운되면 알집 등을 이용하여 압축을 풀어줍니다. 32bit를 사용하시는 분은

Motorola_End_User_Driver_Installation_4.5.0 라는 파일이 생길겁니다.(첨부 #1)

 

5) 이 파일을 클릭하면 설치마법사가 설치를 진행... 필요한 부분에서 'I agree'를 선택하면 설치완료

 

*** 주의 : 드라이버를 설치할 때 반드시 폰과 컴퓨터의 연결을 해지한 상태에서 하세요. 요것땜에 문제가 생기는 분들이 많더군요.(제대로 깔렸는지는 내컴퓨터-속성-장치관리자에 들어가서 확인하시면 됩니다.)

 

 

2. 자신의 모토로이로 가서 필요한 준비작업을 합니다.

   1) <메뉴-설정-무선 및 네트워크>로 가서 'Wi-Fi'와 'Bluetooth'의 체크를 해제합니다.

   2) <메뉴-설정-계정 및 동기화>로 가서 '자동 동기화'의 체크를 해제합니다.

   *** 아예 '비행모드'로 설정하면 된다고 어떤분이 올리셨는데 그렇게 하면 위의 사항이 전부 먹통이 되니까 더 간단할 것 같습니다.

   3) <메뉴-설정-응용프로그램-개발>로 가서 'USB 디버깅'에 체크합니다.

   4) 중간에 폰화면이 꺼져서 화면잠금이 되면 잘 안될 수 있으니<메뉴-설정-소리 및 디스플레이>로 가서 화면시간 제한을 넉넉하게(10분 또는 30분) 잡아주세요.

 

 


3. 케이블을 사용하여 컴퓨터와 모토로이를 연결하면 알림창에 '삼지창'이 보입니다. 이것을 끌어내려 'USB연결'을 누르고 4개 중에서 맨 위의 '모토로라 휴대전화 도구'를 선택합니다.

4. 이제 컴퓨터로 갑니다. 첨부 #2 파일을 다운받아서 압축을 풉니다. 이 때 <내컴퓨터-C:\>로 간 후 아래쪽의 '새폴더'를 누른 후 아래 왼쪽 그림처럼 새로운 폴더명에 'adb'라고 입력합니다. 확인을 누르고 진행하면 아래 오른쪽 그림처럼 압축이 완료되며 C:\adb에 8개의 파일이 생성된 것을 볼 수 있습니다.(앗! 나의 실수...새폴더를 만드실 필요 없습니다. C:\에서 곧바로 압축을 풀면 곧바로 'adb'라는 폴더가 생깁니다.)




*** 요 부분부터 메이스님의 가르쳐 주신대로 진행하겠습니다.

 

5. 컴퓨터 왼쪽 아래에 '시작'을 누르고 바로 위의 '실행'을 누르면 아래의 창이 뜨네요. 'cmd'라고 입력하고 확인을 누릅니다. 그러면 그 아래그림처럼 도스창이 떴습니다.(앗! 내가 있는 PC방 이름이...)

 


 


6.도스창에 다음의 명령어를 차례대로 입력하였습니다.

 

   1) 실제로는 다음 글을 복사(Ctrl+C)하여 도스창에 붙여 넣었습니다. 붙여넣는 방법은 도스창에서 바로 위 그림처럼 마우스 오른쪽 클릭하여 붙여넣기를 선택하면 됩니다.(직접 입력하실 분은 띄어쓰기 대/소문자에 유의하세요.)


cd C:\adb
adb push Superuser.apk /sdcard/Superuser.apk
adb push su /sdcard/su
adb push busybox /sdcard/busybox
adb push exploid /sqlite_stmt_journals/exploid
adb shell

cd sqlite_stmt_journals
chmod 755 exploid
./exploid
rootshell

 


 

   2) 암호입력을 요구하면 "secretlol"을 입력하였습니다.

 

   3) 이어서 아래 글을 역시 복사하여 도스창에 붙여 넣었습니다.


cp /sdcard/Superuser.apk /system/app/Superuser.apk
cp /sdcard/su /system/bin/su
cp /sdcard/busybox /system/bin/busybox
chmod 4755 /system/bin/su
chmod 4755 /system/bin/busybox
rm /system/bin/rootshell
exit
exit

 

아래 그림은 위에서부터 입력한 과정 전체를 보여줍니다. 성공했을까요? 기대가 되네요. 


*** 참고로 저는 비밀번호 입력시에 승인거부를 몇 번 당해서 폰을 재부팅 시킨 후에 진행했더니 승인이 떨어지더군요.

 

7. 제대로 일이 진행되었는지 확인해 봅시다.

 

   1) 도스창에 다음을 역시 복사하여 붙여넣기합니다.

 

adb shell

su

 

   2) 모토로이의 화면에, "Superuser Request"라고 해서 root계정에 접근하려 한다는 메시지와 함께 허용할것이냐고 묻는 메시지가 뜨네요. 메이스님의 말씀대로 정말로 신속 과감하게 "Allow"를 눌렀습니다.

 

   3) 메이스님 말씀에 따르면 "Allow를 늦게 누르거나, 루팅이 제대로 되지않았다면 도스창에 Permission Denied 라는 메시지가 뜰 것이고, 성공했다면 도스창에 보이던  $ 모양이었던 커맨드라인 맨 앞 글자가 #로 바뀝니다."라고 했는데 제 화면에는 이렇게 뜨네요.


 

저는 과연 성공한 걸까요? "exitadb: permission denied"라는 걸 보면 실패한 것 같고, 맨 아래의 "#"표시를 보면 성공한 것 같기도 하고...??????????????????????

 

*** 커서 앞부분이 #으로 변했으면 성공한 게 맞는군요. 또한 성공했는지 여부는 폰의 바탕화면으로 가서 Drawer(런처프로의 경우 Dock의 가운데, 순정 홈의 경우 가운데에 있는 ▲ 표시)를 누르면 보이는 여러가지 어플 중에 "Superuser Permissions"라는 어플이 보이면 성공한 것입니다.

 

*** 런처프로보다 순정홈에서 루팅을 하면 더 성공확률이 높다는 의견들도 있네요.  

 

 

 III. 성공여부 확인을 위해 오버클럭킹을 해봅시다.

 

 

일단 폰이 상당히 버벅거린다는 느낌입니다. 하지만 아마 루팅을 하는 과정에 이것 저것 만진 탓으로 생각하고 일단 오버클럭킹을 해보고 제대로 되면 성공한 거겠죠? 

 

   1) 아래 메시아님의 게시물을 참조하여 Milestone Over clock이라는 프로그램을 다운 받았습니다.

       http://cafe.naver.com/androiders/178674

 

   2) 실행을 시키니 "load module"이라는 단추가 보이네요 누룹니다.

 

   3) 앞에서 떴던 "Superuser Request"가 뜨네요. 반사적으로 "Allow"를 누룹니다.

 

   4) 가로로 긴 바가 뜨고 그 위에 "Selected frequency : 550 MHz, 56vsel(Default)라고 뜨네요. 이것이 현재의 상태인가 봅니다. 두근 두근~~~

 

   5) 바에 손을 대고 오른쪽으로 끌어봅니다. 위의 selected frequency의 수치가 변합니다. 600-800-1000-1200... 최대치까지 올려봅니다. 1200MHz, 80vsel까지 높일 수가 있군요. 얼마가 적당할까? 1/3지점의 800MHz, 66vsel에 맞추고 "Apply"를 누룹니다. 응! 아무 변화가 없네...

 

   6) 홈으로 가서 몇 가지 어플을 작동시켜보니 빨라진 느낌이 드네요. 그래도 다시 한번... 이번에는 1000으로 올려봅니다. 그리고 다시 어플을 돌려봅니다. 아 빠릅니다. 성공한 듯합니다.

 

 

*** 얼마나 속도가 빨라졌을까요? Setcpu, Quadrant Standard와 같은 어플을 깔아서 측정이 가능하다고 하는데, 저는 이런 모니터링 어플을 설치하지 않아서측정해 보지는 못했습니다. 대신 건매니아라는 분의 블로그에서 관련 글을 링크하니 참고하세요. http://www.gunmania.co.cc/tc/157

 

*** 어느정도까지 오버클럭킹을 하는 것이 적당할까요? 이 문제에 대해서는 eveismine님의 다음 조언을 참고하심이 현명하실 것으로 생각합니다. http://cafe.naver.com/androiders/180815 

 

 

 

 IV. 기본어플을 삭제해봅시다.

 

후후... 제가 의심이 좀 많은가요? 오버클럭킹에 따른 속도향상은 속도측정 어플을 안 깔아놔서 숫자로 확인할 수가 없네요. 그래서 이번에는 평소에 눈에 가시같았던 기본 어플 중 하나를 지워보겠습니다. 이건 확실하게 눈으로 확인할 수 있겠죠?

걸리기만 해봐라. 확 지워버릴테니 하고 드로어를 뒤지다가... 아참 나는 초보지...하고 그냥 카페의 모토로E님이 보여주신대로 YouTube를 선택했습니다. 모토로E님의 게시글은 아래에 있습니다.

http://cafe.naver.com/androiders/179617

 

1) 일단 케이블로 폰과 컴퓨터를 연결하였습니다. '모토로라 휴대전화 도구'를 선택합니다.

 

2) 좀 전에 작업하느라 C:\에 adb폴더 만들어 두었었죠. 곧바로 <시작-실행>을 눌러 'cmd'를 입력합니다.

 

3) 다음은 아래 명령어를 복사하여 붙여 도스창에 붙여 넣습니다.(마우스 오른쪽 사용하는 것 아시죠?) 

 

cd c:\adb

adb shell

su

mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system

cd /system/app

ls

 

4) 이런 창이 뜹니다. 내 폰에 깔린 모든 어플인데... 정말 많군요.


 

5) 주욱~ 내려가다 보니 드디어 찾았습니다. YouTube.apk! 보이시죠?


 

   6) 그냥 화악~ 지워버리고 싶지만 만일의 경우를 대비하여 백업부터 합니다(모토로E님! 이 개념이 맞나요?)

       *** 사실 sdcard/backups/apps라는 폴더에 가보면 이미 YouTube가 백업되어 있습니다. 제 생각에 별도의 백업이 필요할까 싶긴 하지만 배우는 입장에서 그대로 따라합니다.(backup이 아니라 backups입니다.) 

 

   - 먼저 폰으로 가서 파일관리자(전 Astro)를 열고 sdcard/backups/apps로 갑니다.

   - <메뉴-새폴더-디렉토리>를 선택하고 폴더이름에 'systemapp'라고 입력한 후 확인하면 폴더가 만들어졌네요.

   - 제가 지우고 싶은 파일은 폰 내장메모리의 /system/app라는 폴더에 들어있습니다. 이 녀석을 조금 전에 만든 SD카드의 폴더로 백업을 합니다. 아래 명령어를 컴퓨터의 도스창에 입력하고 엔터...(모토로E님 명령어에 's'를 더 붙였습니다.)

 

cp /system/app/YouTube.apk /sdcard/backups/systemapp/YouTube.apk

 

 - 폰으로 가서 새로 만든 폴더를 살펴보니 YouTube가 들어와 있군요. 일단 백업 성공

 

   7) 이제 보기 싫은 녀석을 없애버립시다. 아래 명령어를 입력합니다.

 

rm YouTube.apk

 

   8) 이제 확인사살... 'ls'라고 치면 아까 앞에서처럼 모든 어플 목록이 뜹니다. 그 중에 살펴보면 유투브가 없을 겁니다. 또는 아래 명령어를 입력하시면 "No such file or directory"라고 뜰겁니다. 성공이군요.

 

ls YouTube.apk

 

  9) 그래도 의심많은 저는 기어이 다시한번 총을 쏩니다.

 

   - 먼저 컴퓨터의 도스창에 reboot를 칩니다. 저절로 재부팅이 됩니다.

   - 어플들이 모여있는 Drawer로 갑니다. 아무리 찾아도 유투브는 없네요. 사망하셨습니다. 명복을 빕니다.

 


<<< 기본어플 삭제에 관한 몇 가지 팁들>>>

 

*** 1. 어떤 어플들은 지워도 문제가 없는지, 또 어떤 어플들은 지우면 안되는지에 대해서는 Kyuuu님이 올려주신 http://cafe.naver.com/androiders/179997 게시물을 참고하셔서, 위 3)번 명령어를 주고나서 지우고 싶은 어플 이름을 정확히 적어둔 후에 위 7)번과정의 rm(한칸 띄고)어플이름을 입력 후 엔터치면 싹 지워집니다. 만일을 위하여 백업을 해 두시려면 위 6)번 과정을 미리 거치시면 되구요.

 

*** 2. 기본어플을 지우는 더 쉬운 방법도 있습니다. 바로 Root Explorer라는 어플을 사용하는 방법인데(유료어플로 2.55달러... 카페 검색하면 나오는데 마치 Astro와 같은 필수어플입니다.) 이것을 작동시킨 후 기본어플이 깔려있는 /system/app이라는 폴더로 가서 오른쪽 위에 보이는 'Mount r/o'를 눌러 'Mount r/w'로 변경 후(아마도 read only, read/write를 의미하는 듯...) 해당 파일을 길게 누르고 'Delete' 할 수 있습니다.

 

*** 3. 또한 내장메모리 확보 목적이 아니라면 해당파일을 길게 누른 상태에서 'Rename'을 선택하여 이름을 바꾸어도 Drawer에서는 없어집니다.(파일확장자를.bak로 바꾸어서 백업파일로 활용하는 기가막힌 방법에 대해서 iruka41님께서 http://cafe.naver.com/androiders/182267에서 제안해 주셨습니다.)

 

*** 4. 이왕 시작한 김에 한가지 더... 해당파일을 백업하려면 지우기 전에 해당 파일을 길게 눌러 'Copy'한 후 백업할 위치(예, sdcard/backups/systemapp)로 이동하여 아래쪽에 있는 'paste'를 누르면 되구요.

 

  

 

 V. 루팅후기

 

여러 고수님들의 도움으로 루팅에 성공했습니다. 트로로얌님, 메이스님,  메시아님, 모토로E님 진심으로 감사드립니다.

 

제가 글을 쓰다보니 다른 분들의 지식을 훔친듯한 느낌이 들어서 약간 찜찜합니다. 제가 이 글을 쓴 목적은 초보인 제가 초보분들에게는 더 쉽게 설명이 가능할 것 같아서 저도 루팅을 시도 해 볼겸 글을 작성하게 된 것이니 넓은 마음으로 이해하여 주시길 바랍니다.

 

혹시라도 본인의 글을 제가 잘못 인용하였다고 생각되시면 즉시 지적하여 주십시오. 게시물 자삭 등 모든 필요한 조치를 취하겠습니다.

 

수고하세요. 끝.


[출처] 네이버 안드로이드 스마트폰 공식 사용자모임 카페의 느티나무 님의 글 입니다.

신고