모바일 HW 이야기/삼성

갤럭시S DH19 루팅 및 IO최적화 완벽 강좌

MIRiyA☆ 2010. 8. 21. 15:39

2010년 8월 21일, 오늘자로 삼성에서 갤럭시S DH19 펌웨어가 새로 나와 강좌를 소폭 수정했습니다. 기존 DH09와 달라진점은 스크린샷 두개 정도뿐입니다. 방법은 완전히 동일합니다.


저는 참 정체성이 모호한 블로거입니다. 아이폰 탈옥 및 다운그레이드 강좌 등등 아이폰 관련 글을 올릴때는 애플빠라는 소리를 보통 듣고, 얼마전에 UXfactory에 아이폰 UI비판 글을 올리자 삼성 내지는 MS라인이라는 말까지 들었습니다. 그리고 한참 전에 NX10 렌즈 비교 리뷰 쓸때는 펜탁스 유저들에게 삼성 알바라는 말을 들었지요. 웃기는건 제가 펜탁스로 사진을 시작해 펜탁스 모든 렌즈 및 모든 바디 리스트를 쓴 사람이라는겁니다. 펜탁스동 공지로 지정되어있죠. 하여튼 뭐만 씹었다 하면 그 반대의 속성으로 저를 정의하려 하시는게 온라인의 속성인것 같습니다. 뭐 그에 대한 대응책은 삭제 및 차단으로 쉬이 굳어졌지요. 이번에는 애플빠들이 그렇게 씹어댄다는 갤럭시S에 관한 가이드 글을 올려드립니다.


자.. 루팅 및 IO최적화 글을 진행하기 전에 몇마디 상식이 되는 글을 적어보겠습니다.

갤럭시S는 다들 아시다시피 세계 최고의 벤치 머신입니다. 벤치 머신이라 함은 Quadrant Standard 벤치 마크를 돌렸을 때 성능이 가장 좋게 나온다는 말이지요. 루팅 하기 전, IO최적화 하기 전의 갤럭시S는 Quadrant Standard 점수가 기껏 800점 근처에서 맴돌지만, 루팅과 IO최적화를 해주면 점수가 2000점을 훌쩍 넘어버립니다. 2000점 정도면 현재 기준으로 세계에서 이것보다 더 빠른 놈이 없을 정도죠. 그 말인 즉슨 삼성이 이 스펙 좋은 휴대폰을 내놓을때 IO발적화를 해서 속도가 묶여있다는 말이지요. IO최적화로 이 속도를 부쩍 끌어올리기 전에 먼저 해야하는 작업은 바로 '루팅'입니다. 보통 안드로이드 폰은 관리자 권한을 막아놓아 시스템을 외침으로부터 보호해둡니다. 하지만 루팅을 할 경우 이런 관리자 권한을 사용자가 가질 수 있게 되어 카메라 셔터음을 없앤다던가, 안드로이드 마켓의 속도를 향상시킨다던가, 스크린샷을 찍는다던가, 맘에 안드는 기본 어플들을 지운다던가 이러한 여러가지 고급 작업들을 할 수 있게 됩니다. 오늘은 이렇게 갤럭시S를 루팅하여  기계의 속도를 두배 이상 끌어올리고, 입출력(I/O)을 최적화 하는 방법에 대해 알려드리겠습니다.



들어가기에 앞서..

이 글에서 소개하는 루팅 및 IO최적화 방법은 맛클의 레이븐님의 방법을 기초로 했습니다. 흔히 말하는 루팅+내장SD 패치입니다. 맛클에는 참 많은 팁들이 올라오지만, 일반인들의 지식과는 크게 거리가 있습니다. 제가 개발자가 아니다보니 맛클에 올라오는 내용들을 이해하기 무척 어려웠고, 대부분의 사용자들도 갤럭시S의 기능들을 널리 활용하는데 어려움을 겪었을것 같습니다. 저는 이 글을 쓰느라 공장 초기화를 한 30번 정도 한것 같네요. 이젠 무한 로딩이라던가, 벽돌이 되었다던가 이래도 그닥 걱정이 안됩니다. 여튼, 제가 삽질한 부분을 토대로 각종 시행착오를 정리하여 여러분들이 진행하는데 어려움이 없도록 쉬운 용어로 이 글에서 풀어드리겠습니다. 다만 휴대폰이 고장났다고 저한테 물어내라던가, 새벽에 전화한다던가 하는 일은 없었으면 합니다. 루팅과 IO최적화는 그만큼의 위험 부담을 안고 하는겁니다.



[루팅하기 전 준비물]

- 백업을 모두 마치고 더 이상 아쉬울게 없는 갤럭시S 한대(SD카드 필요없음)

- Kies와 USB드라이버가 잘 깔려있는 PC와 USB케이블

- 각종 툴이 압축되어있는 첨부파일 하나.(아래에서 줄 예정)


보통 루팅 과정이 문제 없이 진행될 경우, 자기가 깔아둔 어플들이 무사히 남아있기에 굳이 백업이 필요하진 않습니다. 하지만, 제가 루팅과 IO최적화를 여러차례 시도하며 알아본 결과 백업은 거의 필수라 생각됩니다. PC 포멧 직전의 자세로 휴대폰 내부 정보들을 백업해줍시다. 주소록, 각종 어플, 기타 등등.. 다시 말하지만 데이터 날아갔다고 제가 책임지지 않습니다. 전 분명 책임지지 않는다 했으니 이 밑에 내용 읽고 실천하는건 모두 감수하고 하는겁니다.





[루팅]




1. 펌웨어 버전 확인


현재 제 가이드는 삼성 갤럭시S, 2010년 8월 21일자로 나온 최신 DH19 펌웨어에 맞춰져있습니다. 따라서 그 이전 펌웨어나 그 이후 펌웨어에서는 제대로 작동하지 않을수 있습니다. 또한 갤럭시S가 아닌 다른 휴대폰에서도 당연히.. 제대로 작동하지 않습니다. 아래 안내대로 펌웨어 버전을 확인하고 DH19가 아닐 경우 업데이트 해줍니다. 업데이트 방법은 너무 쉽지만 모르는 사람들은 이 글을 참조하세요.


::펌웨어 버전 확인하는 법::

갤럭시S의 전원을 켜고, 환경설정휴대폰 정보를 봅니다. 여기서 빌드 번호가 ECLAIR.DH19라면 DH19펌웨어가 맞습니다. 펌웨어 버전이 이거보다 낮다면 업그레이드 해줘야합니다.


::펌웨어 업그레이드하는 법::

PC에서 삼성 Kies를 실행하고, USB로 갤럭시S를 연결해줍니다. Kies 화면 우측에 펌웨어 업그레이드가 있다고 나오면 그걸 클릭해서 안내대로 펌업을 해줍니다.









2. 준비물 다운로드

루팅 준비를 위해 먼저 다음의 파일을 다운받아 압축을 풀어줍시다.


[준비물.zip 다운로드]


만약 위 주소로 다운로드가 안될 경우, 여기에서 다운받아주세요.



압축을 풀면 그 안에 Odin3_v1.0.exeraven.0.7.11_NOC.tarraven이라는 폴더 하나가 들어있습니다. 이중 Odin3_v1.0.exe는 간단히 말해 '오딘'이라고 부를겁니다. 이 오딘으로 여러분의 갤럭시S를 루팅하고, 갤럭시S에 새로운 펌웨어를 깔고, 갤럭시S가 벽돌이 되면 되살리는 등 각종 작업을 할겁니다. 그리고 raven.0.7.11_NOC.tar은 루팅할때 사용할 파일입니다. 그리고 raven 폴더에는 루팅과 IO최적화를 할때 사용할 Superuser.apk 등 각종 파일들이 들어있습니다.




3. raven 폴더 복사


루팅 작업을 위해 raven 폴더 안의 각종 준비물들을 휴대폰 내장메모리에 복사해줘야합니다. 아까 받았던 파일중 raven 폴더를 통채로 내장메모리에 넣어줍니다.


내장 메모리는 옆 화면과 같이 13.4GB 정도 사이즈의 이동식 디스크입니다. 잘 모르겠으면 알아서 찾아보시기 바랍니다. 


실수로 내장 메모리가 아니라 외장 SD카드에 복사할 경우, 다음 과정에서 오류가 나서 벽돌이 되어 몹시 귀찮아질 수 있으니 SD카드는 아예 빼주는 편이 좋습니다.






이런식으로 내장 메모리의 맨 첫번째 폴더에 raven이라고 복사 되어있어야 합니다. 사실 이 부분은 너무 기초적인 부분이라 이 정도도 헷갈리는 분들에겐 루팅과 IO최적화를 권장하지 않습니다. 


최소한의 컴퓨터 사용에 대한 지식도 없는 상태에서 고도로 까다로운 작업을 하다가 예기치 못한 상황에 맞딱뜨리면 대게 제 글에 리플로 욕을 하기 때문입니다. 마지막으로 경고합니다만 아리까리 하신분들은 손 털고 일어나세요.


아무튼, 내장 메모리에 raven 폴더를 복사하면 준비 완료.








4. 오딘 실행 - 루팅

이제 루팅 작업을 할 차례입니다. PC에서 갤럭시S를 분리하고 전원을 꺼주세요. 그리고 아까 받은 파일 중 Odin3_v1.0.exe 파일을 실행합니다.



이렇게 무섭게 생긴 오딘 화면이 뜹니다. 이렇게 아무것도 특이한게 없어야 정상입니다. 

그리고 갤럭시S의 홈키를 누른 상태에서 전원 키를 함께 눌러줍니다. 




그럼 노란색으로 안드로보이가 삽질하는 장면이 나옵니다. 이 화면이 '다운로드 화면'이라고 불리는 화면입니다. 이 상태에서 USB 케이블로 PC에 연결해주세요. 그리고 반드시 Kies를 꺼줍시다. 켜져있으면 오류납니다. 만약 저 화면이 안나오고 바로 그냥 부팅이 되어버릴 경우, 약간의 타이밍 문제입니다. 만약 충전중이라면 충전 배터리에 보이는 바람개비 로딩이 사라지고 시도하시고, 홈키를 먼저 누르고 전원키를 추가로 누르는 식으로 켜주세요. 동시에 누르면 잘 안되더군요.


그럼 한쪽에 이렇게 노란 불이 하나 들어옵니다. 화면 중간쯤에 보이는 PDA 버튼을 클릭하세요.



아까 다운받은 파일 중 raven.0.7.11_NOC.tar 파일을 선택해서 열기를 클릭합니다.



그리고 Start 버튼을 클릭합니다.



위와 같이 뭔가 주루룩 글이 나오죠?

여기서 만약 위 화면처럼 zimage라고 나오고 멈출 경우, Odin 창을 닫고, USB케이블을 분리 후 배터리를 빼서 갤럭시S를 강제로 꺼버립니다. 그리고 다시 휴대폰을 켜보세요. 



그럼 이런 화면이 나옵니다. 펌업 실패했다는 말인데, 저는 여러번 겪은 부분이니 걱정하지 맙시다. 

이 상태에서 다시 Odin을 열고, USB케이블을 연결하고, 똑같이 PDA누르고, Start 눌러서 재시도 해주세요. 



그럼 이런식으로 잘 될겁니다. 위쪽 화면에 뭔가 나오고, 자동으로 과정이 진행된다음 휴대폰이 재부팅될겁니다. 잘 안되면 또 해보세요. 제 휴대폰은 이렇게 zimage에서 한번 막히고 넘어가는데, 다른 분들은 그냥 대충 잘 되는 분도 있나보더라구요. 아무튼 휴대폰이 잘 재부팅되어 켜지면 첫단계는 넘긴겁니다. 휴대폰이 잘 켜졌으면 이제 확인을 해볼 차례입니다. 갤럭시S에서 환경설정 → 휴대폰 정보를 봅니다.


            



아까 순정 상태와 비교해봅시다. 왼쪽이 순정, 오른쪽이 루팅된 이후의 모습입니다. 커널 버전 부분이 root@craven #15라고 변해있으면 아까 오딘을 통해 제대로 루팅한거죠. 이제 루팅을 마무리지어봅시다.




5. Superuser 설치

그냥 루팅 작업만 하면 끝나는게 아니라, 관리자 권한을 줄 수 있는 수퍼유저 앱을 깔아야 뭐가 됩니다. 



기본 어플중 하나인 '프로그램 탐색기'를 실행해서 위에 보이는 Superuser Permissions 앱을 설치해줍니다. 출처를 알 수 없어 조심하라고 하는 말은 [확인]버튼 눌러서 무시해줍니다. 마지막 화면처럼 수퍼유저 앱이 깔리면 루팅 과정이 끝난겁니다. 루팅 완료!




[I/O최적화]



6. I/O최적화 하기

루팅만 해도 쓰는데는 문제가 없지만 I/O 최적화를 하지 않으면 속도면에서 거의 빨라진걸 못느끼실겁니다. 이번에는 IO최적화를 통해 속도를 올려봅시다.


         

먼저 안드로이드 마켓에서 Terminal로 검색하여 Android Terminal Emulator앱을 설치합니다.


주의 :: 앱 실행 전에 반드시 USB 케이블을 뽑아줍시다.

연결되어있는 상태에선 명령어가 안먹히는 등의 경우가 발생한다고 합니다.


          


설치한 터미널 에뮬레이터 앱을 실행하면 왼쪽과 같은 무서운 화면이 나옵니다. 

이제 한글자도 틀리지 말고 잘 입력해야합니다. 두번째 줄에 보이는 $ 뒤에 su라고 입력하고 엔터.

그럼 오른쪽과 같은 관리자 권한 허용/거부 창이 나옵니다. Allow 눌러줍니다. 그러면 줄이 바뀌고 #이라는 문자가 보입니다. 이 상태에서 정확히 이렇게 적어주고 엔터 쳐줍니다.

busybox sh /sdcard/raven/sd.sh




제대로 되었다면 위와 같은 화면이 나옵니다. 곳곳에서 원제작자인 레이븐님의 은총이 느껴지네요.

여기서 d를 입력하고 엔터. 그럼 자동으로 IO최적화를 하고 재부팅합니다. 만약에 저게 안나오고 다른 메시지가 나온다면, 저 위쪽 3번의 raven 폴더 복사를 잘못한겁니다. 다시 복사해주고 시도하던가 하세요.




이렇게 Extract linux.ex4.tar.bz Wait !!! Don't shutdown이라고 나오면, 몇분간 한참 기다려줍니다. 심할 경우 30분 기다리신 분도 있습니다. 한~참 초조하게 기다리면 뭔가 글이 주루루룩 올라가고, 완료되었다는 말이 나오고 자동으로 휴대폰이 재시작됩니다. 무사히 재시작되면 루팅 및 I/O 최적화 패치가 성공적으로 끝난겁니다.


이제 테스트를 한번 해볼까요?

안드로이드 마켓에서 Quadrant Standard Edition을 다운받아 설치합니다. 그리고 Full Benchmark를 돌려보면 아래와 같은 화면이 나올겁니다.


          


왼쪽이 I/O최적화 전, 오른쪽이 I/O최적화 후입니다. 중간에 Samsung Galaxy S 보이죠? 주황색이 여러분의 단말기 점수입니다. 뭔 프로요 적용한 넥서스원보다 더 빠르네요. 이들 점수는 벤치마크를 돌릴때마다 조금씩 바뀌지만, I/O 최적화 이후에 두배 이상 좋아졌다는걸 알 수 있습니다. 여튼 다들 이 글을 보시고 어려운 루팅 및 IO최적화를 쉽게 하시길 빕니다. 끝없이 질문이 쏟아지는 댓글은 조만간 막을까 합니다. 저도 잘 모릅니다.


마지막으로 이 글이 가능하게 방법을 뚫어주신 Raven님과 Liliniser님, 감사합니다.



순정으로 돌아가는 법 - 이 글을 참조하세요. 

나중에 프로요 나오면 그냥 덮어 씌워도 됩니다. 프로요를 덮어씌우면 루팅이 풀리기 때문이지요.


:: 문제 해결 ::

#1. 참고로 강좌 따라하시다가 벽돌 되었을 경우 이 글을 보시고 대처하시면 됩니다. 

      펌웨어를 덮어씌우고 공장초기화를 한번 해주는거라 기계 자체에는 무리가 없습니다. 

#2. 루팅 후 공장초기화를 할 경우 간혹 T-스토어 앱이 사라질 수 있습니다. 이 경우 펌웨어 원상 복원 하시고 다시 루팅을 몇번 반복하면 루팅 폰에서도 T스토어를 사용하실 수 있습니다.

#3. 루팅 후 Kies에서 폰 인식이 안될 경우, 아래 스크린샷을 참조하여 시스템 > 장치관리자에서 네트워크 어댑터 > SAMSUNG Android Networking을 사용 안 함으로 설정하시고 재부팅하시면 인식이 될겁니다. 

이거 질문 많습니다








이 강좌 쓴다고 제가 잠시 빌린 갤럭시S는 위와 같이 되어버렸네요. 원채 배터리 빼서 복원을 한두번 하는게 아니라서-_-; 




M110S-NPS-IMAGE-REV03-DH09-2002-USER.tar.torrent
0.01MB