본문 바로가기

Academy I/Tech Academy

안드로이드 롬질 다섯번째 - 커스텀 리커버리

이 뻘짓도 서서히 끝을 향해 달려가고 있습니다.



처음엔 자세하게 내가 아는걸 다 남기고 싶었는데... 정리가 안되고 힘듭니다..



전에 정펌올리는걸 했으니 이번엔 실전입니다. 커스텀 리커버리를 올려보겠습니다.

 

  • 준비물

- 커스텀 리커버리 이미지 : TWRP 다운로드 웹페이지  

 (직접 다운로드 걸어드릴수도 있지만 링크가 바뀌면 다운이 안되니 웹페이지를 링크걸어드립니다.)


 

  • 커스텀 리커버리 플래싱

 

커스텀 리커버리는 폰마다 몇몇 종류가 있는데 넥서스5에는 CWM, TWRP 등 리커버리가 있습니다.


그중 꾸준히 업데이트가 되고 있는 TWRP (Team Win Recovery Project) 리커버리를 받아서 올리겠습니다.


상단 링크의 웹페이지에 가보면 글을 쓰는 시점에서는 최신버전으로 2.8.3.0 버전이 업데이트되어 있네요.






저는 붉은표시를 한 2.8.3.0 버전을 다운받겠습니다.


저는 openrecovery-twrp-2.8.3.0-hammerhead.img 라는 파일명 그대로 받아 사용하겠습니다.

다운받아진 img 파일을 ADB,Fastboot 파일이 있는 폴더에 넣습니다.



폰을 부트로더에 진입시켜 놓고 PC와 연결합니다.


그리고 커맨드창을 열어서 ADB 폴더로 이동합니다. 연결 테스트는 지난강좌에 몇번 썼으니 직접 해보시기 바랍니다.



커맨드 창에서 다음처럼 명령어를 작성합니다.



 - 명령어 : fastboot flash recovery 파일명


파일명에는 확장자(.img)까지 포함하며, 다른 경로에 파일이 있다면 경로까지 지정을 해주어야 합니다.



저는 위에 adb, fastboot 파일이 있는 폴더에 img파일을 넣었으니 경로 없이 파일명만 지정하겠습니다.

아래처럼 실행이 되었네요.





명령어를 좀 살펴보자면 fastboot 을 이용해서 recovery 파티션에 파일명의 img 파일을 플래싱하겠다는 의미입니다.


(파일명이 길다면 fastboot flash recovery op 정도만 치고 탭을 누르면 해당 폴더에 op로 시작되는 파일명이 자동으로 작성됩니다. op로 시작되는 파일이 많다면 탭을 여러번 누르면서 선택하면 됩니다.)



위 작업이 잘 진행되었으면 리커버리로 진입해볼까요?


bootloader 상태에서 볼륨 상하버튼을 이용해서 리커버리 메뉴를 선택한 후 전원버튼을 누릅니다.


저는 아래 화면처럼 리커버리가 잘 플래싱되었네요


 


리커버리까지 플래싱이 완료되고 위와 같은 화면을 보셨다면 이제 다 따라 오신겁니다.


순정리커버리는 공장초기화 기능정도밖에 없지만 커스텀리커버리들은 공초를 포함하여 zip 파일들을 플래싱할 수도 있고, 백업 복구도 할수 있습니다.


이제 남은건 커스텀롬들을 받아서 커스텀리커버리에서 설치하는것만 남은거죠.




기타사항 1.


커스텀리커버리가 설치되어 있다고 문제되는 부분은 아무것도 없지만 가끔 폰을 완전순정처럼 돌려놓길 바라시는 분들이 계십니다.


순정리커버리로 돌리려면 어떻게 하면 될까요?


똑같습니다. 순정 리커버리 이미지(img) 파일을 위에 커스텀 리커버리 올리듯이 명령어를 써서 플래싱하면 됩니다.


순정리커버리 이미지 파일은 정펌올리는 네번째 강좌를 보시면 다운받았던 factory image 파일에 있습니다. 압축을 두번풀고 파일을 모두 adb 폴더로 옮겼을텐데 그중에 압축파일(image-hammerhead-lrx22c.zip) 이 하나 더 있었을 겁니다. 해당 압축파일 안에는 img 파일들이 몇개 있고 그중에 recovery.img 파일이 순정리커버리 이미지입니다.


위 파일을 빼내어 adb 폴더에 넣고 위에 했던 방법대로 fastboot flash recovery recovery.img 라고 명령어를 날리면 순정으로 복구가 됩니다.



기타사항 2.


리커버리도 버전과 제품별로 지원사항이 다릅니다. 가끔 하위버전의 리커버리 상위버전 롬에 쓰거나 하위버전롬에 상위버전 리커버리를 올려서 쓰다가 벽돌이 되는 경우를 보았습니다.


앞서 리커버리 명령어로 올릴때 recovery 파티션에 img 파일명을 플래싱한다고 했던 것처럼 안드로이드는 내장메모리가 여러 파티션으로 되어 있고 롬버전이 올라갈때 파티션이 조금씩 변경될수도 있습니다. 그렇기 때문에 자기 롬에 맞는 버전의 리커버리가 아니면 엉뚱한 파티션에 데이터를 써서 벽돌이 될수도 있고, 리커버리 자체가 제대로 동작하지 않을수도 있습니다.


안드로이드 버전이 바뀌면 리커버리 버전도 해당롬에 지원되는 버전으로 맞추는게 좋습니다.


가장 안정적이고 완벽한 방법은 내가 올리려는 커스텀롬이 롤리팝버전이라면 롤리팝 버전의 순정이미지를 올려서 파티션을 완벽하게 구축해놓고 롤리팝이 지원되는 리커버리를 올린 후에 롤리팝버전의 커스텀롬을 올리는 겁니다.


이해가 갈런지 모르겠지만 중요한 내용입니다.


길게 쓰기가 귀찮군요. 리커버리는 끝내겠습니다.