쓸때없는 서론
2013년 8월에 런칭한 LG G2에 최신의 Android PIE를 올려보았다.
해외제품인 d80x시리즈는 Lineage OS에서 정식으로 지원되어 별탈없이 공식지원되는 이미지를 사용하면 별탈없이 사용가능하나, 일부사양변경된 국내형 F320x의 경우 정상적인 부팅이 되지 않았다.
관심없는 과정
부팅과정을 분석하여 Kernel 부터 로드가 제대로 되지않음을 확인하여 Kernel을 리빌드 해보기로 하였다.
Lineage OS의 빌드 가이드에 따라 “breakfast d802” 명령까지 실행하고 커널만 빌드하기 위해 “make bootimage” 커맨드를 사용하였다.
커널이 로드가 안되는 이유로 대상장비와 커널의 Device Tree가 맞지않음을 확인하였고 이를 맞춰주기위해 이전에 사용하던 Lambda 커널의 DTB를 추출하여 사용하였으나 부팅실패.
빌드과정에서 DTB를 바꿔서 빌드하는 등 여러가지 시도 끝에 부팅에 성공했으나 터치스크린 인식이 되지 않아 확인결과 D802와 F320의 변경사항중 하나로 터치스크린에서 사용하는 드라이버가 다른것으로 확인.
터치를잘되게 만들었으나 WiFi인식불량, 역시 드라이버 초기화 문제, 스피커 소리가 나지 않는등 여러가지 문제가 발생하였고
하나씩 수정하여 해결하다가 그냥 이글과 요글을 토대로 디바이스 포팅과정을 진행하게 되었다.
대충 요약하면
기본이 될 ~/android/lineage/device/lge/d802를 f320으로 복사하고 안의 내용을 적당히 수정해주고 (대부분 d802 문자를 찾아 f320으로..)
~/android/lineage/vendor/lineage/vendorsetup.sh파일 끝에 “add_lunch_combo f320” 추가,
이후 breakfast f320을 실행하고 커널빌드 순으로 진행하였다.
커널 설정파일(lineageos_f320_defconfig)의 짜깁기가 좀 필요했으며 삽질끝에 정상부팅가능한 커널이미지를 빌드하게 되었다.
설치 방법
아래 과정을 진행함에있어 부팅불가, 데이터 삭제 등의 문제에 대해 저는 책임지지 않습니다.
초보자분들은 따라하지 않았으면 하는 바램에 자세히 설명하지 않습니다.
루팅, 리커버리 플래싱 과정은 생략
공식지원되는 D802 이미지를 다운받아 \META-INF\com\google\android\updater-script의 디바이스 체크 구문을 지우고 TWRP를 통해 플래싱
myboot_f320_v_1.0.bin을 다운받아 해당 디렉토리에서 아래의 커맨드 실행
adb push myboot_f320_v_1.0.bin /sdcard/
adb shell dd if=/sdcard/myboot_f320_v_1.0.bin of=/dev/block/platform/msm_sdcc.1/by-name/boot
기호에 따라 기존데이터 삭제 (매우 권장)
재부팅 (첫 부팅에 5분정도 소요)
끝
인증

lineage-16.0-20190524와
lineage-16.0-20190529버전에서 정상동작 확인
확인된 기능
부팅, 터치, 소리, 와이파이, 카메라
알려진 문제점
노인학대의 끝장판이다 보니 동작이 느리다.
댓글달아주시면 감사합니다. <수정할 시간은 없고, 여기 내용 추가해드릴게요>
여담
보유하고 있던 G2 4대중 1대는 중고방출, 1대는 액정파손, 2대는 액정터치불량으로 판매를 제외하면 모든 기기에서 액정문제가 발생했다.
보유하고 있던 G2의 배터리 4개중 3개에서 스웰링이 발생하였다 (무려 75%)
LG의 초기대응은 어땠는지 모르겠지만 본인의경우 서비스센터에서 잘 수리해줬다. (사실 그래서 이번 포팅도 생각해본것)
G6 Plus 모델 삽니다. 구매완료