Nec Terrain 루팅 및 실사가이드 -2- 루팅, 용량 확장 > 휴대폰포럼

본문 바로가기

즐겨찾기
딜바다
커뮤니티
정보
갤러리
장터
포럼
딜바다 안내
이벤트

Nec Terrain 루팅 및 실사가이드 -2- 루팅, 용량 확장
정보 |
부기팝
쪽지보내기 자기소개 아이디로 검색

작성일: 2016-09-10 15:33:53
조회: 2,072  /  추천: 4  /  반대: 0  /  댓글: 0 ]

본문

파일의 업로드를 위해 네이버 디벨로이드 2.0 카페의 킴클라우드 서버가 사용되었습니다.

이용하시는 분은 상단 배너의 광고 한 번씩 클릭해주시면 서버 운영자에게 도움이 되십니다.

 

====2016년 1월 22일 리포팅====


1. '순간'님의 리포팅으로 확인된 결과 어떤 백신은 첨부드린 nec_terrain-master.zip 에 있는 run_root_shell 파일을 악성코드로 잡는다합니다. 혹시 nec_terrain-master.zip 의 압축을 해제하셨을 때 recovery 폴더에 run_root_shell 이라는 파일이 없다면 백신의 실시간 감시 기능을 일시정지하신 후 이 과정을 진행하시기 바랍니다. 제보감사합니다.
 
2. 역시 '순간'님의 리포팅으로 확인해보니 용량확장할 때 순서가 잘못되었습니다. 순서상 14번 파티션을 먼저 제거한 후에 13번 파티션을 제거하고 재생성해야 하는 거였는데 어째 기록 순서를 잘못 했네요. 제가 같이 진행하면서 한게 아니라 기억을 더듬으면서 썼다보니 이런 실수가 있었던 것 같습니다. 이전까지 성공하셨던 분들이 대단하십니다. 대체 어떻게들 하셨을까요.
안되는게 당연했는데. 본 내용은 게시글에 반영하여 업데이트 했습니다.

====내용이 업데이트 되었습니다. 내장 용량 확장까지 한꺼번에 진행했습니다(15/10/02)====
 
 
앞선 글에서 ADB 드라이버 설치를 마쳤습니다.
단계별로 글을 작성하고 있으니 단계별로 질문해주시면 어느 단계에서 막히셨는지 이해하기가 편할 것 같습니다.

이번 글에서는 XDA의 alex-kas 라는 분이 만든 커스텀 부트 이미지와 커스텀 리커버리를 직접 설치 한 후 파티션의 크기를 조절해서 내장용량 확장까지 진행할 겁니다.
 
alex-kas 의 커스텀 리커버리와 커스텀 부트 이미지를 굳이 직접 설치를 하는 이유는 
내장용량확장을 위해서 입니다. 그 외에 파티션 이슈 등이 해결되어 있습니다.
어느 정도 안정화 되어 사용할 수 있습니다. 미친 듯이 느린데다가 가끔 강제 재부팅이 일주일에 한 두번 꼴은 봅니다만.
실사가 가능은 하네요.

두 번째글 시작합니다.
준비물 : 안드로이드 표준 USB 케이블, Nec Terrain 에 장착된 micro sd 카드(8기가 이상 권장), 게시글 정독할 시력과 집중력

1. 우선 링크(http://www.kimcloud.kr/_etc/Nec-Terrain) 에서 nec_terrain-master.zip 을 다운로드 받습니다.
헷갈리지 않으시도록 필수 파일만을 제가 편집한 압축파일인데,
해당 파일의 원출처는 https://github.com/alex-kas/nec_terrain 입니다.

2. 파일의 압축을 해제하시면 boot 와 recovery 두 폴더가 생깁니다.
이 두 폴더 안에 들어있는 내용물들을(폴더채가 아니라 내용물들만 따로)
모두 전 글에 말씀드렸던 adb 폴더에 복사해서 넣어줍니다.

이까지 완료되었다면 adb.exe 가 위치한 폴더에 kas.recovery.bin, kas.boot.bin, adbr.bat, adbb.bat 등의 파일들이
모두 위치하게 됩니다. 저는 이 위치를 C:\adb\ 라고 가정하겠습니다.

3. 이제 전에 말씀드렸던 방식대로 현재 위치에서 명령창 열기를 해줍니다.




이렇게 진입합니다.



그러면 이렇게 명령창이 뜨게 될겁니다. 이제 Nec Terrain 과 컴퓨터를 USB로 연결합니다.
이 때 Terrain 은 앞 단계에서 완료한 디버깅 모드가 되어있어야 하며,
컴퓨터에는 ADB driver 가 설치되어 있어야 합니다.
연결 후에 잠시 기다렸다가 명령창에,

4. adbb.bat
를 입력하고 엔터를 해줍니다.

그 후에
5. adbr.bat
를 입력하고 엔터를 해줍니다. 이 과정은 약간 걸릴 겁니다.
완료가 되면 잠시 기다렸다가
adb reboot recovery
를 입력해줍니다.

6. 그러면 Nec Terrain 이 강제 종료 되고 재부팅 됩니다.
그리고 화면에 NEC 글씨가 지나간 후 검은 화면에서 넘어가지 않을 겁니다
(혹은 녹색의 kas recovery 이미지가 뜰 수도 있습니다. 제 컴퓨터 기준으로는 그냥 까만 화면이네요.
왜 이런지는 저도 잘 모르겠습니다만 작동은 정상이니 괜찮습니다).

7. 잠시 기다렸다가 명령창에 adb shell 이라고 입력해봅시다.



명령창이 위와 같이

RECOVERY:/ #

저게 나와주면 성공입니다.
제작자는 Nec Terrain 의 커스텀 리커버리를 이렇게 컴퓨터로 명령어를 입력하는 체계로 완성했습니다.
때문에 Terrain 을 공장초기화 하거나 티타늄 백업 등을 거치지 않고 전체 백업을 한다거나 할 때는
언제나 이렇게 컴퓨터가 필요합니다(그것도 adb driver 가 설치되어 있는).

혹시 7번 단계에서

error: more than one device and emulator

라는 에러 메시지가 출력될 경우,

adb kill-server

를 입력하신 후에 다시

adb shell

을 입력해 보시면 되겠습니다.

7-1. 만약 7번 과정에서 device not found 등의 에러 메시지가 출력될 경우,
recovery 상태인 terrain의 adb 드라이버를 다시 설치해줘야 하는 경우입니다.
당황하지 마시고 terrain 을 연결해둔 채로 이전글 Nec Terrain 루팅 및 실사가이드 -1- 을 참조하셔서
adb 드라이버를 설치해주시면 되겠습니다.

8.  지금부터는 리눅스 명령어이기 때문에, 부호나 띄어쓰기 같은 것이 헷갈리시면 그냥 복사해서 붙여넣으셔도 됩니다.
오른쪽 마우스 방지를 일부러 걸어두지 않았습니다.
명령어 창에 Ctrl + c 나 Ctrl + v 는 먹히지 않습니다만 오른쪽 마우스를 누르면 '붙여넣기'를 지원합니다.
Ctrl + c 는 절대로 누르지 않으시는 게 좋습니다.
리눅스 명령어 상태에서 이 키는 복사가 아니라 진행하는 작업의 강제 종료를 의미합니다.

이제 저 상태의 명령창에서

cd /rbin
엔터
./flash_boot.sh
엔터

를 입력해줍니다. 과정이 완료될 때까지 기다려줍니다.
과정의 완료란 모든 문구가 지나가고 RECOVERY:/ # 가 다시 나타나서 다른 명령어를 입력할 수 있게 되는 것을 말합니다.

일단은 이까지 마치면 alex-kas 가 제작한 커스텀 리커버리와 부트 이미지의 설치가 완료됩니다.
 
이 과정까지만 마치고 부팅을 시도한 ㅅㄷ님이 부팅이 되지 않는 벽돌상태가 됨을 제보해주셨습니다.
그러므로 바로 다음과정까지 진행하도록 하겠습니다. 다른 분들이 또 벽돌이 되시면 안 되니까요.
이 과정에는 Nec Terrain 의 내장용량 확장 과정이 포함됩니다(드디어).
 
9. 백업 단계입니다. 파티션을 새로 포맷할 것이기 때문에 따로 백업하실 것이 없어도 이 과정은 필수입니다.
이 과정을 하지 않으시면 다음 과정을 진행하시다가 벽돌이 되실 겁니다. 복구는 가능합니다만 좀 귀찮아지지요.
 
8번 과정 후에 RECOVERY:/ # 문구가 다시 나타나면 아래와 같이 입력해줍니다.
 
cd /rbin
엔터
./bu_full.sh
엔터
 
한참 걸릴 겁니다. 설치되어있는 어플리케이션부터 시스템 영역, 내장SD카드에 있던 내용들까지 전부
장착된 외장SD 카드로 백업하기 때문입니다.
모든 과정이 완료될 때까지 인내를 가지고 기다리시고 다시 화면에
RECOVERY:/ #
가 나타날 때까지 기다려주시면 되겠습니다.
 
다음 과정은 내장 용량 확장 과정입니다.
 
=== 아래에는 Terrain 용량 확장 개념의 이해를 돕기 위해 기재한 설명 부분입니다. 귀찮으시면 바로 10번으로 진행 하시면 되겠습니다. 바로 10번으로 진행하시면 약 3.8G 의 어플리케이션 용량과 약 1G 의 내장 SD용량을 갖게 되실 겁니다.===
 
Terrain 의 내장용량 확장은 숨겨둔 용량을 꺼내는 것이 아닙니다. 원래 있던 용량을 사용하는 것입니다.
따라서 내장용량을 늘린다는 것은 다른 곳의 용량을 줄인다는 것을 의미합니다.
Terrain 의 원래 용량 상태는 이렇습니다.
 
 13        2818048         4456447   800.0 MiB  8300  userdata
 14         4456448        13565951   4.3 GiB    FFFF  GROW
 
앞에 있는 숫자 13, 14 는 파티션의 순서입니다. 컴퓨터의 C, D 드라이버와 같은 개념입니다.
그 다음으로 있는 숫자 2818048 은 파티션의 시작 위치입니다. 응? 자, 천천히 이해해 봅시다.
말씀드렸다시피 13, 14 는 파티션입니다. 파티션이라 함은 하나의 메모리를 여러 부분으로 나누어둔 상태를 말합니다.
 
Terrain 은 31개의 파티션으로 구성되어 있는데, 이를테면 31조각짜리 피자인 셈입니다.
각각 시작 위치가 다르겠죠. 첫번째 조각은 1~10cm, 두 번째 조각은 그럼 10~20cm 하는 식입니다.
두 번째 숫자는 cm 단위 처럼 파티션의 시작 위치를 말합니다.
세 번째 숫자는 파티션의 끝 위치, 즉 조각의 처음과 끝을 지정해주는 것입니다.
 
처음과 끝의 갭이 크다는 것은 무엇을 의미할까요? 크기가 크다는 것을 의미합니다.
현재 저 순정 상태에서의 파티션을 보시면 userdata 라는 부분이 800M 이고 GROW 라는 부분이 4.3G 임을 보여주고 있습니다. userdata 는 어플리케이션을 설치하는 데에 쓰이는 내장용량이고 GROW는 파일의 다운로드, 안드로이드 어플리케이션 외부 참조 데이터(obb파일), 사진이나 스크린샷의 기본 저장 위치 등에 쓰이는, 흔히 우리가 내장 SD카드 라고 부르는 영역입니다.
 
800M 는 도저히 실사할 수 있는 내장용량이 아닙니다. 그래서 우리는 저 내장 SD 용량을 줄이고 userdata 라고 불리는 어플리케이션 설치 용량을 늘릴 겁니다.
 
장황하게 설명드린 이유는 제가 설정한 값 말고도 자율적으로 필요하신 만큼 파티션을 진행하시는 데에 도움이 되셨으면 했기 때문입니다.
 
요지는 이것입니다.
1) 우리는 13번 파티션 userdata 를 늘리는 대신 14번 파티션 GROW 를 줄입니다.
2) 나머지 파티션을 건드리지는 않을 것입니다. 그러므로 13번 파티션의 시작값(2818048)은 변경하지 않습니다.
3) 14번 파티션의 끝값(13565951) 역시 변경하지 않습니다. 이것들을 건드리면 12번 파티션, 15번 파티션에도 영향을 주기 때문입니다. (혹은 빈공간이 발생하거나)
4) 시작값과 끝값 설정에 팁을 드리면 2048 이 대략 1M 입니다. 위의 기본 파티션을 참조하시면 13번 userdata 파티션의 시작값 2818048 과 끝값 4456447 의 차이는 1638399 인데, 이를 2048 로 나누면 799.999 입니다. 이해하시겠습니까? 대략 800M 를 의미하는 것입니다.
5) 이러한 이해들을 기반으로 하여 각자 파티션을 필요하신만큼 쓰시면 되겠습니다.
 
=== 파티션 개념 정리 ===
 
이런 강좌글(?-정보글이라고 해야하려나)의 특성상, 괜찮습니다. 이해 못하셔도 됩니다.
번호만 따라하시면 대강 다 됩니다.
 
10. 내장용량 확장 개념을 제공한 alex-kas 는 본인의 리커버리에 쉽게 사용할 수 있게 5G 의 내장용량과 128M 내장SD카드 파티션 설정을 넣어두었습니다만, 저는 이것은 너무 극단적이라고 생각했습니다. 아마 그래서 이 게시글에 댓글을 달아주신 니킨 님도 조금 다르게 하셨을 겁니다.
 
따라서 저는 약 3.8G 의 내장용량, 1G 의 내장SD 로 설정하려합니다.
명령어를 그대로 복사해서 붙여넣으시면 저와 같은 파티션을 설정하시게 됩니다.
 
다시 리눅스 명령어입니다.
띄어쓰기 등 헷갈리시면 복사해서 명령창에 마우스 오른쪽 클릭을 이용하셔서 붙여넣으시면 되겠습니다.
또한 파티션을 설정하는 것은 포맷하는 것과 비슷한 개념의 과정이니 엔터 하시고 시간이 좀 걸릴 수 있습니다.
그럴 때는 잠시 기다려주시고 RECOVERY:/ # 라는 글자가 다시 떠서 정상적으로 명령어를 입력할 수 있는 상태가 되면
다시 천천히 다음 명령어를 입력해주시면 됩니다.
 
RECOVERY:/ # 라고 떠 있는 명령창에 다음을 입력합니다(혹은 윗부분에 설명드린 개념을 이해하신 분이라면 자기 입맛에 맞도록 파티션 값을 조정해주시면 되겠습니다).
 
sgdisk -d 14 /dev/block/mmcblk0
엔터
sgdisk -n 14:11345919:13565951 /dev/block/mmcblk0
엔터
sgdisk -c 14:GROW /dev/block/mmcblk0
엔터

sgdisk -d 13 /dev/block/mmcblk0
엔터
sgdisk -n 13:2818048:11345917 /dev/block/mmcblk0
엔터
sgdisk -c 13:userdata /dev/block/mmcblk0
엔터
 
이까지 완료되면 Terrain 의 내장용량 확장이 완료됩니다. 그러나 반드시 포맷을 해야 사용할 수 있으니 바로 다음 과정인 포맷으로 넘어가겠습니다.
 
11. 포맷 과정. 여기서 포맷을 반드시 해줘야 하기 때문에 9번에서 백업을 해두었던 겁니다. userdata 나 grow 는 상관없지만 system 영역을 날릴 거기 때문에 포맷 후에 이를 복구해주지 않으면 절대로 부팅되지 않습니다.
 
명령창에 다음과 같이 입력합니다.
 
mkfs.vfat /dev/block/mmcblk0p14
엔터
mkfs.ext2 -b 1024 -i 4096 /dev/block/mmcblk0p12
엔터
mkfs.ext2 -b 1024 -i 4096 /dev/block/mmcblk0p13
엔터
 
12. 백업 복구 과정. 9번에서 백업해두신 것을 이제 복구합니다. 명령창에 다음과 같이 입력합니다.
 
cd /rbin
엔터
./rr_full.sh
엔터
 
이 과정도 꽤 오래 걸릴 겁니다. 인내심을 가집시다.
기다리고 기다려서 마침내
RECOVERY:/ #
문구가 다시 뜨면 완료된 겁니다.
꽤 상당한 양의 작업을 연속으로 해버렸으니 Terrain 에게 잠시 5분 정도 휴식을 줍시다.
 
그 후에 명령창에 다시 입력합니다.
 
exit
엔터
adb reboot
엔터
 
긴 암흑기였습니다. Terrain 은 이제 정상 부팅 될 겁니다.
단 파티션 작업, 포맷과 복구 등 작업을 하고 난 첫 부팅은 원래 좀 오래 걸립니다.
인내를 가지고 기다리시기 바랍니다.
상황에 따라 차이가 있을 수 있으나 15분~30분이 지나도록 부팅이 되지 않는다면
아마 뭔가 빼먹은 과정이 있거나 제가 깜빡 설명을 못 드린 부분이 있을 겁니다.
혹은 명령어를 처리하다가 뭔가 에러가 발생했을 수도 있고요.
 

부디 성공하시길 빕니다. 그리고 부팅이 된다면 설레는 마음으로 알림창을 내려서 설정화면에 진입하여 사용가능한 용량을 확인하시면 되겠습니다. 


추천 4 반대 0

댓글목록

등록된 댓글이 없습니다.




개인정보처리방침    서비스이용약관    메일문의 메인으로 Copyright © 딜바다닷컴. All rights reserved. 상단으로
베터리 절약 모드 ON PC 버전으로 보기