※ 이 글에서의 '넥서스 7'은 '넥서스 7 2세대 (2013), 코드네임 flo/deb'을 지칭합니다.
오늘은 평소에 작성하던 글과 다르게, '오래된 넥서스 7을 다시 사용할 수 있는 수준으로 만들기'에 대해 내가 밟아온 과정들을 나열하는 식으로 글을 작성하려 합니다. 이 중 쓸만한 정보를 구해가셨으면 좋겠습니다.
넥서스, 정말 오래된 이름입니다. 옛날 구글이 '안드로이드 레퍼런스 디바이스'를 위해 내놓은 브랜드였는데, 지금은 사라진 지 오래입니다. 하지만 브랜드가 사라졌어도 디바이스는 여전히 남아있습니다. 내가 갖고 있는 넥서스 7 역시 그런 경우입니다.
오늘은 이 넥서스 7을 쓸만한 수준까지 복구하는 과정을 이야기하고자 합니다.
충전하기
체감상 넥서스 7을 1년 넘게 사용하지 않았던 것 같은데, 아마 배터리가 완전히 방전되었을 것입니다. 아니나다를까, 충전 케이블을 연결하고 전원 버튼을 꾸욱 눌러보니, USB 단자 위쪽에 흰색 LED가 깜빡-깜빡 5번 정도 점멸하더군요.
검색해보니 '흰색 LED 5번 점멸'은 '배터리 잔량이 부족해 전원을 켤 수 없음'이라는 뜻이라고 합니다. 이대로 대략 하룻밤 동안 충전 케이블에 물려두었습니다. 다행이 전원이 켜집니다.
PC와 연결하기
너무 오랫동안 켜지 않아서일까요, 넥서스 7이 PC와 연결되지 않습니다. 보통 이럴 때에는 다양한 방법들이 제시되곤 합니다.
- USB 단자를 입으로 후후 불어 안의 먼지를 털어내기
- 다른 USB 케이블을 사용하기
- PC의 다른 USB 포트에 꽂기
애석하게도 모두 통하지 않습니다. 홧김에 기존에 설치되어 있던 TWRP에서 시스템 영역까지 포함해 모두 포맷을 해버린 터라, ADB를 사용할 수도 없습니다.
XDA와 구글을 전전하며 찾아본 결과, 기기를 분해하지 않고 시도해볼 만한 한가지 방법이 제시되었습니다. Lee.Son이 제시한 방법에 따르면 다음 절차를 따라보라고 합니다.
- 넥서스 7의 전원을 완전히 끈다.
- 평평한 곳에 넥서스 7의 화면이 아래쪽으로 가도록 내려놓는다.
- 'nexus' 양 옆을 지긋이 누른다.
이 때 'nexus' 양 옆에 'O' 글씨가 있다고 생각하고 그 'O'가 있을만한 부분을 눌러주면 된다.
글쓴이에 따르면, 커넥터의 연결이 헐거워져 연결이 안될 수도 있다고 합니다. 이대로 따라했더니 맙소사, 잘 됩니다. 이거 하나 때문에 Windows에 설치된 USB 디바이스들을 USBDeview를 통해 제거하기도 해보았고 삼성 USB 드라이버를 제거해보기도 했는데 단순히 기기를 좀 세게 눌러주는 것 만으로 해결이 되더군요.
이렇게 하고 나니, 이번에는 터치스크린이 작동하지 않았습니다. 답답한 마음에 화면을 손바닥으로 철썩철썩 때리니까 다시 작동하기 시작합니다. '기계는 때려야 말을 듣는다'라니, 허 참.
펌웨어 설치하기
이제 순정 펌웨어를 설치한 후, 그 위에 커스텀 펌웨어를 설치해야겠죠. 바로 커스텀 펌웨어를 설치할 수도 있겠지만, 오랫동안 사용하지 않았으므로 일종의 불안감 해소를 위해 순정 펌웨어 먼저 설치하기로 했습니다.
구글에 검색을 하면 이 사이트가 나타나는데, 여기서 잠시 당황했습니다. 그도 그럴 것이, 'flo' 하나만 머릿속에 담아두고 검색을 했는데 나오지 않았으니까요. 구글링을 조금 해보니, 답이 나왔습니다.
내가 사용중인 '넥서스 7 (2013) Wi-Fi'의 경우, Device Identifier는 'flo'가 맞습니다. 하지만 'Firmware Identifier'는 'razor'가 되는 것입니다. 그러니까 대충 이런 표가 되겠네요.
Device Identifier | Firmware Identifier | 기기 |
flo | razor | 넥서스 7 (2013) Wi-Fi |
deb | razorg | 넥서스 7 (2013) LTE |
grouper | nakasi | 넥서스 7 (2012) Wi-Fi |
tilapia | nakasig | 넥서스 7 (2012) LTE |
뭐, 결론은 'razor'라고 표시된 펌웨어를 쓰면 됩니다. 마지막 펌웨어는 안드로이드 6.0.1(마시멜로) (MOB30X) 입니다.
그런데 나중에 알고보니, 이게 다 쓸모없는 것들이었습니다. RESTOCK이라는 도구를 쓰면 알아서 최신 펌웨어를 깔아주거든요...
공식 펌웨어는 마시멜로 까지였지만, 우리에게는 XDA가 있습니다. 그리고 그곳은 온갖 커스텀 펌웨어로 가득한 곳이죠. 특히나 오래된 기기의 경우 개발이 어느정도 되어 있는 경우가 많습니다. 너무 오래되면 아예 개발이 끊기지만요.
넥서스 7가 한창 현역이었을 때에는 온갖 커스텀 펌웨어들이 나올 때였습니다. Slimrom이라던가, AOKP라던가... 상당히 많았는데 지금은 남아있는게 별로 없습니다. 안드로이드 10을 검색해보니 LineageOS 17.1밖에 남아있지 않네요. LineageOS 역시 상당히 좋은 커스텀 펌웨어이므로 LineageOS를 사용하기로 했습니다.
LineageOS 17.1 역시 두 사람이 개발중입니다. 하나는 ripee가 유지보수중인 비공식 LineageOS 17.1 빌드이고, 하나는 ud4가 유지보수중인 공식 LineageOS 17.1 빌드입니다. 둘의 차이가 뭔가 했는데, ripee가 친절하게도 답변을 이미 해두었습니다.
- 내장된 su root가 제거됨.
- 태블릿 정보 > LineageOS 업데이트 항목이 활성화 되어 공식 빌드를 OTA로 다운로드 받을 수 있게 됨.
- 공식 빌드는 LineageOS 팀의 서명이 적용되어 있으므로 Play Store의 SafetyNet을 통과할 수 있음.
기왕 쓰는거, 공식 빌드를 쓰기로 했습니다. 양쪽 다 안드로이드 보안 패치를 꼬박꼬박 적용하는터라 공식 빌드를 쓰는건 단순한 장식 정도밖에 안되긴 합니다만...
이 역시 나중에 CROSS 도구를 통해 자동으로 받을 수 있다는 것을 깨닫고 좀 허망해했습니다만, 그래도 양쪽의 차이가 무엇이 있는지 아는 것만으로도 큰 수확이었습니다.
RESTOCK과 CROSS 사용하기
아까 말했던 RESTOCK과 CROSS를 사용하지 않을 수도 있었습니다만, LineageOS를 설치할 때 system 파티션의 크기를 재조정해야 한다는 이야기를 듣고 이 글에 있는 방법대로 따라하려 했습니다. 그런데 XDA의 DevDB가 날아가면서 첨부파일도 같이 날아갔네요.
네이버 블로그에 누군가가 다운로드 받아 올려둔 파일을 적용했더니, 이번엔 모든 파티션의 크기가 0MB가 되었습니다. 맙소사.
잘 되나 싶었는데 순식간에 벽돌이 되어버린 내 넥서스 7에 내려온 구원의 손길은 RESTOCK이었습니다. RESTOCK의 기능 중 하나가 '파티션 구조 초기화'였거든요.
기능은 참으로 많고 많습니다. 대충 요약해보면...
- flo와 deb 기기 지원
- 다운로드 파일 사이즈 작음 (2.5MB)
- 자동으로 최신 순정 펌웨어(MOB30X)와 USB 드라이버를 구글 서버에서 받아와 설치
- 다양한 Windows 버전에서 잘 작동함
- eMMC 메모리 테스트와 진단 가능
- 자동 기기 언락 지원
- 순정 파티션 구조로 초기화 지원
- 사용자 조작 최소화 및 자동화 처리완료
자세한 사용법 및 설명은 XDA 본문을 참조하시면 됩니다. RESTOCK 하나로 지금까지 했던 작업들이 그닥 쓸모없는 행위가 되어버렸더군요. 오히려 이게 손으로 하는것보다는 안전하고 검증되었으니 안할 리 없겠지만요.
그렇게 RESTOCK으로 최신 순정 펌웨어를 올린 다음 CROSS를 사용하기로 했습니다.
CROSS 역시 RESTOCK 제작자가 만든 자동화 스크립트입니다. RESTOCK이 순정 펌웨어 및 복구쪽에 초점이 맞추어져 있다면, CROSS는 커스텀 펌웨어 설치 및 설정에 초점이 맞추어져 있습니다.
- LineageOS 14.1, LineageOS 17.1(공식 및 비공식) 지원
- 자동으로 개발자 웹사이트를 찾아 최신 펌웨어 버전을 확인함
- 필요한 모든 파일들 자동으로 다운로드
- flo와 deb 기기 지원
- 사용자 조작 최소화
사실상 RESTOCK 먼저 쓰고 CROSS 쓰면 사용자 입장에선 더 받거나 할 것이 없는 것입니다. 이것 역시 자세한 사용방법 등은 XDA 본문을 참조하세요.
LineageOS 17.1 flox(공식)를 설치할 것이었는데, 왜 flo가 아닌 flox라고 이름지어졌는지 알아보니 '파티션 레이아웃 등이 달라졌으므로 flo와 구별해야 한다'라고 하더군요. 심지어 사용해야 하는 TWRP도 flox용으로 만들어진 TWRP를 사용해야 한답니다. 최신 TWRP 버전보다는 좀 낮은 버전이지만 어쩔 수 없죠.
그래서 성실하게 lineage-install-2-flox.bat
이 하라는대로 설치를 했습니다. 알아서 파티션 크기 조절이나 flox용 TWRP 설치, Gapps 등 필요한 작업들을 다 해주더군요. 중간에 오류가 나긴 했었는데, 단순히 넥서스 7 말고 다른 안드로이드 기기를 PC에 연결해서 생긴 문제였던지라 처음부터 다시 실행해주니 문제없이 잘 진행되었습니다.
그렇게 해서 오랫동안 사용되지 않았던 넥서스 7가 새로운 삶을 찾게 되었습니다. 짝짝짝.
마지막으로 RESTOCK과 CROSS의 파일들을 올려놓겠습니다. 이미 한번 XDA DevDB가 날아가 수많은 첨부파일들을 받지 못하게 된 만큼, 사소한 것도 불안하게 되네요.