LG 옵티머스Q2 [LG-LU6500] 의 루팅 과정
안녕하세요.
오늘은 다름이 아니라 LG 옵티머스Q2의 루팅 과정에 대해 좀 이론 처럼(?) 뺵빽 하게 적어 봅니다.
저도 초보이지만, 메모 차원에서 글을 남깁니다.
먼저 이글은 옵티머스Q2의 최초의 아이스크림 샌드위치 펌웨어인 137펌웨어를 기준으로 작성했습니다.
먼저 이글은 백원만님 (jungil0502@naver.com)에 의해 만들어질수 있었던 방법 입니다.
읽으시기전 유용할것이다 라고 생각 되면 손가락 한번씩만 눌러주십시요~^^
모바일이라면 맨 아래에서라도 괜찮다 싶으면 눌러주세요 ㅠㅠ
먼저 옵티머스Q2는 120,126,128 진저브레드 펌웨어 그리고 131 유출 아이스크림 샌드위치때는 부트로더 락이 걸려있지 않았습니다.
하지만 이번 137 ICS펌웨어에선 부트로더 락 이 걸리게 되었습니다.
엔디비아 테그라2 AP2Xh 의 부트로더에 관한 자세한 내용은 영구땡칠님이 정리하신 글이 있습니다.
http://cafe.naver.com/androidhacker/323 위 글 참조해 주시면 될듯 합니다.
또한 이 부트로더의 크랙 관련글도 위 링크에 같이 있습니다.
※크랙과 언락은 약간 다릅니다. 주로 언락은 제조사에서 부트로더 언락을 공식적으로 지원하는 경우에 사용하고, 크랙은 사용자가 직접 부트로더를 수정하는 경우가 됩니다.
이 부트로더를 크랙을 해야지만 옵티머스Q2는 루팅이 가능 합니다.
옵티머스Q2에서 사용하는 루팅 방식은 아래와 같습니다.
1. 부트이미지의 램디스크의 default.prop에서 adb 연결시 자동으로 root 권한으로 실행되게 수정
2. 부팅 완료후 adb 를 이용해 루팅 관련 파일 (su 바이너리, SuperSU등) 주입
3. 재부팅
위와 같은 과정을 사용했습니다.
하지만 이번엔 부트로더의 락에 의해
수정된 부트이미지를 부트 영역에 넣고 부팅을 할 경우 LG벽돌이 됩니다. (옛날 옵큐의 OZ벽돌이나 요즘 옵티머스의 시큐리티 에러등)
부트로더가 부트이미지가 순정 이미지가 아니라면 그대로 부팅을 중지시킵니다.
그러하여 4단계로 나눠지게 되었습니다.
1. 부트이미지의 램디스크의 default.prop에서 adb 연결시 자동으로 root 권한으로 실행되게 수정
2. 백원만님의 크랙된 137 부트로더 적용
3. 부팅 완료후 adb 를 이용해 루팅 관련 파일 (su 바이너리, SuperSU등) 주입
4. 재부팅
옵티머스Q2의 경우엔 Nvidia 사의 테그라2 3D AP25H 칩셋을 사용해 APX 모드라는 녀석이 사용이 가능 합니다.
APX 모드는 Fastboot 등과 같은 역활을 합니다. 허나 테그라2 AP20H를 사용하는 아트릭스 같은 경우엔 apx모드 사용이 불능 하여 Fastboot 을 사용합니다.
아무튼 APX 모드라는 꽤나 강력한 놈이 있기에 우린 부트로더도 손쉽게 플래싱이 가능 합니다.
APX라는 녀석이 있어서, 옵티머스 2x, Q2, Ex는 벽돌 불가폰이 되었습니다.
nvflash 라는 프로그램과 관련 라이브러리를 따로 구하셔야 합니다만 전 원 출처를 잘 몰라 제가 소유하고 있는 파일을 사용합니다.
nvflash.exe --bl 부트로더파일 --download 파티션번호 이미지.img
가 기본적인 명령 입니다.
간단히 플래싱을 할 경우에 사용하는 명령어 입니다.
옵티머스Q2의 경우엔 부트로더 영역은 4번 파티션 입니다.
하지만 크랙 부트로더 플래싱은 가장 마지막에 해야 합니다.
먼저 수정된 부트 이미지를 플래싱 합니다.
nvflash --bl bootloader.bin --download 12 ics137boot.img
# nvflash.exe --bl nvflash용부트로더 --download 12번부트로더파티션 수정된부트이미지
nvflash 의 --bl 명령어는 먼저 nvflash.exe와 APX모드를 연결할때 사용하는 부트로더를 먼저 4번 부트로더 영역에 플래싱 합니다.
저 nvflash 용 부트로더는 진저브레드때의 부트로더 입니다.
이젠 부트로더를 플래싱 하여야 합니다.
nvflash 는 한번만 --bl 명령어인 부트로더를 주입하면 됩니다. 그러하여 다음부턴 -r 명령어를 사용하여 그 전에 플래싱 했던 nvlfash 용 부트로더를 계속 사용한다고 합니다.
그러하여 아래와 같은 명령을 이용해 플래싱 합니다.
nvflash -r --download 4 ics137crackboot.bin
# nvflash.exe -r --download 4번부트로더파티션 크랙된부트로더
를 입력하여, 플래싱을 합니다.
이렇게 하였다면, 이제 모든 과정은 완료되었습니다.
이젠 그저 adb 를 사용해 약간 파일만 넣어주면 됩니다.
이곳은 제가 제작해둔 http://cafe.naver.com/optimusq2life/7591 글에 있는 One Power 라는 루팅툴의 동작을 알아보겠습니다.
일딴 휴대폰에서 설정 - 개발자 옵션 - USB 디버깅 모드에 체크가 되어야 합니다.
(진저브레드 이하의 OS의 경우 설정 - 어플리케이션 (응용프로그램) - 개발 - USB디버깅 입니다)
su 파일과 busybox,SuperSU.apk 는 rooting 이라는 폴더 내에
adb 는 adb 라는 폴더 내에 있습니다.
adb\adb wait-for-device # USB가 연결이 될때까지 기다립니다.
adb\adb remount # 모든 파티션을 마운트 합니다.
adb\adb push rooting/su /system/xbin/su # SU파일을 /system/xbin (명령어 폴더)에 넣습니다.
adb\adb shell chown 0.0 /system/xbin/su # SU파일의 소유자 정보를 수정합니다.
adb\adb shell chmod 06755 /system/xbin/su # SU파일에 755권한과 특수 권한을 부여 합니다.
adb\adb shell ln -s /system/xbin/su /system/bin/su # SU파일을 /system/bin 에 심볼릭 링크를 생성합니다.
adb\adb push rooting/busybox /system/bin/busybox # busybox 를 /system/xbin (명령어 폴더)에 넣습니다.
adb\adb shell chown 0.0 /system/bin/busybox # busybox파일의 소유자 정보를 수정합니다
adb\adb shell chmod 0755 /system/bin/busybox # busybox파일에 755 권한을 부여 합니다
adb\adb push rooting/SuperSU.apk /system/app/SuperSU.apk # SuperSU 앱을 시스템 앱으로 복사합니다.
adb\adb shell chown 0.0 /system/app/SuperSU.apk # 소유자 정보 수정.
adb\adb shell chmod 0644 /system/app/SuperSU.apk # 644권한 부여.
위 와 같은 동작에 의해 모든 과정이 완료 됩니다.
그리곤 adb\adb reboot 한번.
'iCAROS Works > 안드로이드 따라하는 개발' 카테고리의 다른 글
[따라하는 빌드 #2] 안드로이드 AOSP 또는 CM 소스 다운로드(Sync) (따라하는 안드로이드 빌드) (0) | 2015.09.24 |
---|---|
[따라하는 빌드 #1] 안드로이드 AOSP 또는 CM 개발 환경 구성 (따라하는 안드로이드 빌드) (1) | 2015.09.22 |
[Dev] TWRP 리커버리 포팅하기 (Team Win Recovery Project) (4) | 2012.11.25 |
LG 옵티머스 ICS(아이스크림샌드위치) 전기종 화이트 UI제거 하기 (0) | 2012.11.24 |
LG 옵티머스 ICS (아이스크림 샌드위치)에서 안드로이드 순정 잠금화면 사용하기 (2) | 2012.11.24 |