2016-11-24

Galaxy S3 에 Nougat (CM 14.1) ROM 올리기

준비물)

- PC (odin을 실행하기 위해서는 PC가 필요)
- adb (PC, Osx, Linux 등 adb가 실행되는 환경)
- Galaxy S3 (M440S) 4.3 젤리빈
- Odin v3.09 ( http://odindownload.com )
- CF-Auto-Root-m0skt-shwm440s.tar.md5 ( https://download.chainfire.eu/249/CF-Root/CF-Auto-Root/CF-Auto-Root-m0skt-m0skt-shwm440s.zip )
- twrp-2.8.7.3-i9300.img  ( https://dl.twrp.me/i9300/twrp-2.8.7.3-i9300.img.html )
- cm-14.1-20161122-UNOFFICIAL-i9300.zip ( https://www.androidfilehost.com/?w=files&flid=125173 )
- open_gapps-arm-7.1-stock-20161124.zip ( http://opengapps.org )
- wififix.zip ( http://forum.xda-developers.com/showpost.php?p=50233122&postcount=3838 )


1. 루팅

- 폰을 개발자 모드로 만든다 ( 설정 / 휴대폰 정보 에서 빌드번호 7번 터치 )
- 설정 / 개발자 옵션 에서 USB debugging 허용 을 ON으로 한다.
- 설정 / 보안 에서 외부앱 설치 허용한다.
- PC에 Odin v3.09을 설치한다.

- 폰을 다운로드 모드로 전환 (전원을 끈 후, 홈-볼륨 DOWN-전원 버튼을 동시에 누른다. 알림 메시지가 뜬 후 볼륨 UP 버튼을 눌러 다운모드로 진입)
- 폰을 usb케이블로 PC와 연결한다.
- Odin을 실행한다 (실행시 화면의 상단의 ID:COM 부분에 연결된 COM 포트번호가 떠야 한다. 폰을 연결했는데도 화면 변화가 없으면 USB 드라이버 문제이거나 폰의 USB 연결모드가 올바르지 않거나 Odin 버전 문제가 있는 것이다)
- Odin의 AP 버튼을 눌러 위에서 다운로드한 CF-Auto-Root-m0skt-shwm440s.tar.md5 파일을 선택한 후 버튼을 눌러 루팅을 시작한다.



2. 커스텀 복구툴 (TWRP) 설치

- 루팅후 리부팅된 폰에 SU 앱이 설치된 것을 확인한다.
- 폰을 PC에 USB로 연결한 후, 다음 명령으로 TWRP 이미지를 폰에 설치한다.

$ adb push twrp-2.8.7.3-i9300.img /sdcard/DCIM/
$ adb shell
shell@m0skt:/ $ su
root@m0skt:/ # cd /sdcard/DCIM/
root@m0skt:/ # dd if=twrp-2.8.7.3-i9300.img of=/dev/block/mmcb


3. TWRP 실행하여 Wipe 및 CM14.1, GAPPS 설치

- 폰의 전원을 끈 후 홈-볼륨UP-전원키를 동시에 3-7초 정도 누르면 TWRP가 실행된다.
- TWRP 홈화면에서 를 터치하여 internal SD, external SD, USB OTG를 제외한 모든 영역 Wipe

- 폰을 PC에 USB로 연결한 후, 다음 명령으로 CM-14.1, wififix, GAPPS 이미지 파일을 폰으로 옮긴다.

$ adb push cm-14.1-20161122-UNOFFICIAL-i9300.zip /sdcard/DCIM/
$ adb push wififix.zip /sdcard/DCIM/
$ adb push open_gapps-arm-7.1-stock-20161124.zip /sdcard/DCIM/

- TWRP의 홈화면에서 을 선택하여 위에서 폰으로 copy한 CM14.1, wififix, GAPPS 파일을 선택하여 설치한다.
- TWRP의 홈화면에서 을 선택하여 리부팅한다.

* CM14.1 과 GAPPS 파일에 붙은 날짜는 파일이 빌드된 시점으로 위 site에 올라온 가장 최근의 파일을 선택하는 것이 좋다.
* 국내버전의 갤럭시 S3에서는 wififix를 설치하지 않으면 wifi가 동작하지 않는다.


<커스텀 롬을 올리는 일반적인 방법>
1. 루팅
커스텀 복구이미지를 시스템 영역에 설치하기 위해서 필요함. PlayStore에서 su앱을 설치하는 것만으로 가능한 폰도 있는 반면 제조사용 전용 프로그램( ex: odin )을 사용해야 하는 경우도 있다.

2. 커스텀 복구 이미지 설치
루팅이 된 경우 adb 프로그램으로 가능하다. 폰의 아키텍처에 맞는 복구이미지(TWRP 등)을 검색하여 다운로드 한후 폰에 copy한 후 adb shell로 폰의 shell에 접속하여 폰의 복구영역 (폰마다 다름)에 dd 명령으로 이미지를 복사하면 된다.

3. 커스텀 롬 및 앱 설치
폰의 복구모드로 진입하여 위에서 설치한 커스텀 복구프로그램을 실행한 후, 기존 이미지를 지우고(WIPE), 커스텀 롬과 버전에 맞는 앱들을 구하여 설치(INSTALL) 한다.


참조사이트
http://trueandroid.com/en/how-to-root-galaxy-s3-shw-m440s-easy-guide/
http://trueandroid.com/en/framaroot-root-many-android-devices-without-pc-how-to-tutorial/

2016-11-23

adb를 사용하여 LG G2 (F320S) 폰에 CM13 (Marshmellow) 롬 올리기

LG G2를 구매했을 때는 Kitkat 이 올려져 있었다. 지금은 사용하지 않는 기기가 되었지만 반은 재미로 반은 최신 OS로 업그레이드하여 개발용으로 쓰고자 커스텀롬을 올리게 되었다.

LG G2는 전세계적으로 많이 팔린 폰이어서 CM13 롬을 올릴 때 참조할 자료는 많았다. 다만 한국용(F320) 버전에 대한 설명이 적었고 recovery 이미지인 TWRP 를 flashing하는 과정에 대한 설명이 불분명해서 시행착오를 여러번 겪었다.

다음은 OSX에서 adb를 사용하여 LG G2 (F320S) 에 CM13 롬을 올린 과정이다.

준비물)
- Mac

- LG G2 F320x (한국버전) (Kitkat 이 설치되어 있는 버전으로 테스트함)

- adb (osx에 adb가 설치되어 있지 않으면 여기 참조 http://stackoverflow.com/questions/31374085/installing-adb-on-mac-os-x)

USB로 G2와 Mac을 연결한 뒤 아래 명령으로 G2가 연결되어 있는지 확인한다.

$ adb devices -l 
 List of devices attached
 061a4800900083bc       device usb:337915904X product:g2_skt_kr model:LG_F320S device:g2



- 루팅앱
https://towelroot.com 에 접속하여 tr.apk 다운로드

- TWRP 2.8.7.3 image file

안드로이드 기기에서 사용되는 대표적인 custom 복구 이미지 소프트웨어로 터치를 통해 써드파티 펌웨어 설치 및 시스템 복구등을 수행할 수 있다. 이 이미지를 설치하기 전에 안드로이드 기기는 먼저 루팅되어야 한다.

국내버전의 G2에 설치하기 위해서는 2.8.7.3 버전을 준비한다.
 http://www.gregtwallace.com/lgg2-projects/twrp/?version=2.8.7.3

- bootstack image file
안정성을 향상시키기 위해 처음 flashing하는 이미지(BUMP kernel에서만 사용해야 함). F320 버전을 아래 url의 사이트에서 다운로드 받는다.
 http://forum.xda-developers.com/lg-g2/development/boot-g2-hybrid-bootstacks-t3183219


- cm13 core image file
Marshmellow 버전의 이미지로 국내버전을 지원한다.
아래 URL에서 F320을 지원하는 가장 최근의 이미지를 다운로드한다.
http://forum.xda-developers.com/lg-g2/development/rom-temaseks-unofficial-cm13-lg-g2-d80x-t3406778

- openapp image file
위 cm13 사이트에서 GAPPS 링크를 타고 들어가서 다운로드한다.  아래의 URL로 바로 들어가도 된다. Platform은 ARM, Android version은 6.0, Variant는 stock (stock이 일반적임) 을 선택한다.
http://opengapps.org


1. 루팅
1.1 개발자 모드로 변경
설정 / 디바이스 정보 에서  '빌드 번호' 표시 영역을 7번 탭하여 개발자 모드로 변경

1.2 외부 앱 설치 허용
설정 / 보안 에서 '알 수 없는 출처' 에 체크하여 임의의 앱을 설치할 수 있도록 변경

1.3 tr.apk 설치 및 실행

아래명령으로 위에서 다운로드한  tr.apk를 폰으로 copy
$adb push tr.apk /sdcard/DCIM/

폰에서 파일매니저를 사용하여 DCIM 폴더에 있는 tr.apk 설치

1.4 towelroot 앱 실행
1.3에서 설치한 towelroot 실행. 실행한 후 화면에서 'make it ra1n' 버튼을 터치하여 루팅 진행.


2. TWRP 설치

위에서 다운로드한 twrp-2.8.7.3-f320-bump-blastagator-signed.zip 파일을 압축해제.
아래 명령으로 압축해제된 폴더내의 tarp 이미지(recovery.img) 파일을 recovery 영역으로 이동

$ unzip twrp-2.8.7.3-f320-bump-blastagator-signed.zip
$ cd twrp-2.8.7.3-f320-bump-blastagator-signed
$ adb push recovery.img /sdcard/DCIM/
$ adb shell
shell@g2:/ $ su
root@g2:/ # cd /sdcard/DCIM
root@g2:/ # dd if=recovery.img of=/dev/block/platform/msm_sdcc.1/by-name/recovery

3. 복구모드 진입

3.1 G2의 전원을 끈다.
3.2 Up버튼과 전원버튼을 동시에 누른다.
3.3 화면에 LG 로고가 표시되면 UP버튼을 누른 채로 전원버튼에서 손을 떼었다가 다시 누른다.
3.4 화면에 '복구모드' 가 표시된다.

위 과정 진행 중 일반부팅이 되면 처음부터 다시한다.

4. TWRP 실행

G2가 복원모드로 진입하면 TWRP가 수행된다. 아래과 같은 순서로 커스텀롬 및 앱들을 설치한다.

4.1 wipe
'Wipe' 버튼을 터치하여 interal SD,  external SD 영역을 제외한 모든 항목을 wipe

4.2 bootstack flashing
아래 명령으로 bootstack 이미지 copy.
$ adb push bootstack-f320s-CAF-signed.zip /sdcard/DCIM/

'Install'을 터치하여 DCIM 폴더에서 bootstack-f320s-CAF-signed.zip 파일을 선택한 후 플래싱

4.3 CM13 및 APPS flashing
아래 명령으로 CM13, APPS 파일 copy.
$ adb push cm-13.0-20160720-UNOFFICIAL-f320.zip /sdcard/DCIM/
adb push open_gapps-arm-6.0-stock-20161111.zip /sdcard/DCIM/

'Install'을 터치하여 CM13 롬 이미지 및 APPS 이미지 파일 선택 후 플래싱

4.4 리부팅
'Rebooting' 터치하여 리부팅

위 과정중에서 다른 파일 및 과정은 검색하여 쉽게 찾을 수 있었으나, 내 기기(G2 F320S) 에 맞는 TWRP 파일 찾는 것과 설치하여 복구모드 진입하는 단계가 시간이 걸렸다.

위 참조사이트 외 아래 사이트 정보들도 참조함.

http://forum.xda-developers.com/lg-g2/development/rom-team-bliss-t3290984
F320 G2 기기에서 커스텀 롬 올리는 순서 참조함

http://20byte.tistory.com/4
루팅방법 참조함

http://ko.myds.me/board_nothing/202457
G2 복구모드 진입 방법 참조함.

http://forum.xda-developers.com/lg-g3/general/d855-one-click-root-twrp-recovery-t3072767/page11
manul로 이미지파일을 폰에 옮기고 플래싱하는 방법 설명.