갤럭시 S4 LTE-A에 리니지OS 16 설치하기

Posted by

서론

매 주마다 윈도우 10 인사이더 프리뷰의 새로운 빌드에 대한 소식을 올리면서 되도록이면 윈도우 공식 블로그에 올라온 글을 단순히 한글로 번역해서 전하는 것에만 그치지 않고, 여기에서 소개된 변경점이나 새로운 기능을 직접 체험해 본 뒤 느낀 경험을 바탕으로 나만의 스타일을 더해 소식을 전하려고 하는 편이다.

하지만 이 중에서 ‘사용자 휴대폰’ 앱에 추가된 새로운 연동 기능에 대한 내용은 해당 기능을 체험해 보지 못한 채 단순 번역식으로 작성할 수밖에 없었다. 필자가 메인으로 사용하는 폰이 ‘사용자 휴대폰’ 앱의 기능을 완전히 지원하지 않는 iPhone 시리즈였기 때문이다.

‘사용자 휴대폰’ 앱에 iPhone을 연동할 수는 있지만 안드로이드 폰과 비교하면 활용할 수 있는 연동 기능이 현저히 적은 편이고, 새로 추가된 기능을 사용할 수 있는 대상도 항상 안드로이드 폰에 국한되어 왔기 때문에, iPhone 사용자 입장에서 ‘사용자 휴대폰’ 앱의 새로운 기능을 쓴다는 것은 완전히 불가능에 가까운 일이었다.

그래서 이러한 상황을 타개하기 위해 옛날에 메인 폰으로 썼던 안드로이드 폰들을 다시 꺼내봤는데, 이 중에서 제일 성능이 좋았던 스마트폰이 2013년에 삼성전자에서 출시한 갤럭시 S4 LTE-A, 속칭 갤포아다.

‘사용자 휴대폰’ 앱에서 제공하는 대부분의 연동 기능을 사용하기 위해서는 안드로이드 7.0 이상을 구동하고 있는 폰을 연동해야 한다. 그러나 이 폰의 공식 소프트웨어 업데이트는 안드로이드 5.0을 마지막으로 끝났기 때문에, 이 폰도 역시 순정 펌웨어를 사용한다면 요구 사항에 부합하지 않아 ‘사용자 휴대폰’ 앱의 새로운 기능뿐만 아니라 기존의 연동 기능마저도 사용할 수 없었다.

하지만 한편으로 ‘사용자 휴대폰’ 앱 하나 쓰겠다고 최신 안드로이드 폰을 마련하기에는 내심 돈이 아까웠다. 그래서 결국 기존에 있는 갤럭시 S4 LTE-A커스텀 펌웨어를 설치하여 폰에서 안드로이드 7.0 이상의 버전을 구동할 수 있도록 나름대로의 개조를 하기로 결심했다. 이제 출시된 지 거의 7년이 다 되어 가는 기종인데다, 메인으로 쓰는 스마트폰도 아니어서 막 굴리다 망가져도 상관없는, 이른바 ‘잃을 게 없는’ 폰이었기 때문에 이런 결심을 매우 쉽게(?) 할 수 있었다.


설치하기 전에

서론이 꽤 길었다. 이 글에서는 갤럭시S4 LTE-A에 커스텀 펌웨어, 그 중에서도 리니지OS(LineageOS)를 설치하는 작업을 다룰 것이다. 필자가 사용한 기기는 SKT용 SHV-E330S 모델이지만, KT용이나 LG유플러스용 기기에서도 해당 방법을 무리 없이 적용할 수 있을 것이라고 생각한다.

안드로이드 폰을 위한 커스텀 펌웨어의 종류는 리니지OS(LineageOS), 레저렉션 리믹스(Resurrection Remix) 등으로 꽤 다양하다. 그런데 굳이 리니지OS를 설치하는 이유는 필자가 옛날부터 자주 사용해 왔던 커스텀 펌웨어인지라 친숙한 면도 있고(사실 예전에도 옛 블로그에 리니지OS를 설치하는 글을 올린 적이 있다), 또한 커스텀 펌웨어를 다루는 대부분의 포럼들에는 리니지OS 관련 자료들이 높은 비중을 차지하고 있어 설치 작업을 수월하게 준비할 수 있기 때문이다.

갤럭시 S4 LTE-A는 일반 갤럭시 S4와 다르게 해외 수출용 기기와 하드웨어 구조가 크게 다르지 않기 때문에 해외의 커스텀 펌웨어 제작자들에게 ‘ks01lte’라는 코드명으로 알려지며 커스텀 펌웨어의 개발이 활발하게 이루어지고 있다.

한때는 리니지OS의 정식 지원 기종에 포함되기도 했지만, 현재는 안드로이드 6.0을 기반으로 한 리니지OS 13을 마지막으로 정식 지원이 중단되었다. 그래서 그 이후 버전의 리니지OS를 사용하기 위해서는 정식으로 개발된 공식(Official) 빌드가 아니라 개인 제작자가 개발한 비공식(Unofficial) 빌드를 설치해야 한다. 필자는 안드로이드 7.0 이상의 환경을 구현하는 것이 목표이기에 이 글에서는 당연히 비공식 빌드의 리니지OS를 설치하는 과정을 다룰 것이다.

갤럭시 S4 LTE-A용으로 개발된 리니지OS의 비공식 빌드들 중에서는 일본의 개발자 ‘kyasu‘가 개발한 비공식 빌드가 제일 안정적으로 동작한다고 알려져 있다. 이곳에 접속하여 해당 개발자가 빌드한 다양한 버전의 리니지OS를 내려받을 수 있다.

kyasu의 리니지OS 비공식 빌드 중에서 제일 최근에 개발된 버전은 안드로이드 10 기반의 리니지OS 17이다. 하지만 리니지OS 17은 현재까지도 개발이 계속 진행되고 있는 버전이기 때문에 안정성을 보증하기 어렵다. 그래서 이 글에서는 2019년 12월 즈음에 개발이 완료된 것으로 보이는 안드로이드 9 기반의 리니지OS 16을 설치할 것이다.

리니지OS를 새로 설치하면 폰에 원래 저장되어 있던 데이터가 날아가거나 쓰지 못할 수도 있으니 설치하기 전에 폰에 중요한 파일이 저장되어 있다면 반드시 다른 곳에 백업해 두자.


설치 과정

갤럭시 S4 LTE-A에 리니지OS를 설치하는 과정은 크게 6가지의 단계로 설명할 수 있다.

  1. 필요한 도구와 파일을 준비
  2. 폰에 TWRP 리커버리 설치
  3. 폰에서 TWRP 리커버리에 진입 후 공장 초기화
  4. 폰에서 TWRP 리커버리를 띄우고 있는 상태에서 USB 케이블로 폰과 PC를 연결
  5. PC에서 폰으로 리니지OS 설치 파일을 전송
  6. TWRP 리커버리에서 리니지OS 설치 파일을 실행
  7. 폰을 재부팅하여 커스텀 펌웨어의 설치를 완료

먼저, 커스텀 펌웨어를 설치하는 작업에 필요한 도구와 파일을 준비해야 한다.


필요한 도구

삼성 통합 USB 드라이버: 여기에서 PC와 폰을 USB 케이블로 연결할 때 필요한 장치 드라이버를 내려받아 설치한다. PC에 이미 Smart Switch나 Kies가 설치되어 있을 경우 이를 따로 설치할 필요가 없다.

Odin 3.09.3: 폰에 TWRP 리커버리를 설치하기 위해 사용하는 도구이다. 설치 과정 중에 오류가 발생하여 순정 펌웨어로 복구할 때에도 이 도구를 사용한다.

TWRP 리커버리: 리니지OS를 설치하기 이전에 폰을 공장 초기화하고, 본격적으로 리니지OS를 설치하기 위해 사용하는 시스템 도구이다.


필요한 파일

TWRP 리커버리 설치 파일: 앞서 언급했던 Odin 3.09.3을 이용해 폰에 TWRP 리커버리를 설치하기 위한 .tar 형식의 패키지 파일로, 압축을 풀지 않고 이용한다. 이곳에 접속하여 제일 최근에 나온 .tar 형식의 파일을 내려받는다. 이 글을 작성하는 시점에서 제일 최근에 나온 파일은 twrp-3.3.1-0-ks01lte.img.tar이다.

리니지OS 설치파일: 폰에 리니지OS를 설치하기 위한 .zip 형식의 패키지 파일로, 압축을 풀지 않고 이용한다. 이곳에 접속하여 맨 아래의 lineage-16.0-20191212-unofficial-ks01ltexx.zip이라는 이름의 파일을 내려받는다.

GApps 설치 파일: 리니지OS 설치 파일에는 Play 스토어와 같은 기본 Google 앱들이 포함되지 않기 때문에, 기본 Google 앱을 설치하려면 별도의 패키지 파일을 준비해야 한다. 이것도 .zip 형식으로, 압축을 풀지 않고 이용한다.

이곳에 접속하여 Platform: ARM, Android: 9.0 옵션에 해당하는 파일을 내려받는다. Variant는 기본 설치되는 Google 앱의 가짓수를 결정하는 옵션인데, 권장 사항인 stock 옵션을 사용하면 시중에 판매되는 안드로이드 폰과 동일한 가짓수의 기본 Google 앱들이 설치된다. 만약 Play 스토어와 Google 검색 앱만 기본 설치로 두고 싶다면 밑에서 3번째에 있는 nano 옵션을 사용할 수 있다. 그 아래에 있는 pico 옵션은 오직 Play 스토어만 포함된 구성인데, 유독 이를 설치하려고 하면 잦은 오류가 발생하기 때문에 그닥 권장하지 않는다.


TWRP 리커버리 설치

폰의 전원을 끄고 전원 키 + 홈 키 + 볼륨하 키를 동시에 눌러서 폰을 다운로드 모드로 부팅한 뒤, USB 케이블을 통해 PC와 연결한다.

그런 다음 Odin 3.09.3을 실행한다.

PC와 폰을 연결하여 위쪽의 ID:COM 부분에 표시가 나오면 Option 섹션에 있는 ‘Auto Reboot’ 항목의 체크를 해제하고, File 섹션에 있는 ‘AP’를 누른 뒤 파일 선택 메뉴에서 TWRP 리커버리 설치 파일(twrp-3.3.1-0-ks01lte.img.tar)을 선택한다. 그런 다음 ‘Start’를 누르면 폰에 TWRP 리커버리를 설치하는 작업이 진행된다.

프로그램 왼쪽 위에 나오는 스레드에 초록 바탕으로 ‘PASS!’라는 문구가 뜬다면 폰에 TWRP 리커버리가 성공적으로 설치된 것이다.


TWRP 리커버리 진입 및 공장 초기화

Odin 3.09.3에서 TWRP 리커버리를 성공적으로 설치했다면, 폰의 배터리를 분리했다가 다시 장착하고 전원 키 + 홈 키 + 볼륨상 키를 눌러 TWRP 리커버리 모드에 진입한다.

TWRP 리커버리 모드에 처음 진입하면 시스템 파일을 읽기 전용으로 유지하겠냐는(Keep System Read only?) 화면이 표시된다. 밑의 ‘▶▶▶’ 버튼을 오른쪽으로 넘겨 계속 진행한다.

TWRP 리커버리에서 제일 먼저 수행해야 할 작업은 공장 초기화이다.

메인 화면에서 ‘Wipe’를 누른 다음, ‘Advanced Wipe’를 누르고, 그 뒤에 나오는 화면에서 ‘Dalvik / ART Cache’, ‘System’, Data’, ‘Internal Storage’, ‘Cache’를 선택한 후 밑의  ‘▶▶▶’ 버튼을 오른쪽으로 넘기면 공장 초기화가 진행된다.


리니지OS와 GApps 설치 파일을 폰에 복사

폰에 TWRP 리커버리 화면이 띄워져 있는 상태에서 그대로 USB 케이블로 PC와 폰을 연결하면 ‘MTP 모드’로 연결되기 때문에 폰에 저장된 파일을 PC에서 관리할 수 있다.

컴퓨터에 연결된 장치들 중에서 ‘GT-I9506’을 누르고, ‘Internal Storage’의 최상위 경로에 리니지OS와 GApps의 설치 파일을 복사한다.

필자의 경우에는 이미 리니지OS 설치를 완료한 이후에 스크린샷을 찍어 ‘Internal Storage’가 어느 정도 차 있는 상태로 나오지만, 공장 초기화를 완료한 직후 본 작업을 수행할 때에는 ‘Internal Storage’가 비어 있을 것이다.

또한 MicroSD 카드가 있다면, 이러한 과정을 거칠 필요 없이 MicroSD 카드에 리니지OS 설치 파일과 GApps 설치 파일을 복사해 둔 뒤 TWRP 리커버리를 설치하기 전부터 폰에 장착해 두어도 된다.

두 설치 파일이 폰에 모두 복사되면 PC와 폰의 연결을 해제한다.


리니지OS와 GApps를 설치한 뒤 재부팅

다시 TWRP 리커버리의 메인 화면으로 돌아와서, 이번에는 ‘Install’을 눌러 나오는 파일 목록에서 리니지OS의 설치 파일(lineage-16.0-20191212-UNOFFICIAL-ks01ltexx.zip)을 선택한다.

그런 다음에 ‘Add more zips’를 누르면 앞서 봤던 파일 목록이 또 나오는데, 여기에서는 GApps의 설치 파일(open_gapps_arm-9.0… 으로 시작하는 파일명)을 선택하여 리니지OS를 설치한 후 곧바로 GApps가 연이어 설치되도록 해 준다.

최종적으로 밑의 ‘▶▶▶’ 버튼을 오른쪽으로 넘기면 선택한 설치 파일들이 실행되며 본격적으로 리니지OS와 GApps의 설치 과정이 진행된다.

설치 과정이 모두 마무리되면 ‘Reboot System’을 눌러 폰을 재부팅한다.

재부팅하기 직전에 공식 TWRP 앱을 설치할 지에 대한 여부를 묻는데, 여기에서는 ‘Do Not Install’을 누른다.

리니지OS의 부팅 애니메이션이 나오면서 재부팅이 이루어진다. 초기 부팅은 최대 5분 정도가 소요되는데, 부팅이 완료되고 안드로이드 초기 설정 화면이 나오면 모든 설치 작업이 성공적으로 완료된 것이다.


설치 후 이모저모

앞서 말했듯이 리니지OS 16은 안드로이드 9를 기반으로 했기 때문에, 설정의 [휴대전화 정보]에 나오는 ‘Android 버전’을 연속해서 누르면 안드로이드 9의 Pie 이스터에그를 감상할 수 있다.

또한 해외 수출용 기기에 맞게 제작된 커스텀 펌웨어를 설치했기 때문에 국내용 기기에만 적용된 DMB 기능을 사용할 수 없고, 기기의 모델명도 기본적으로 해외 수출용 기기의 모델명인 ‘GT-I9506’으로 취급된다.

리니지OS 16을 실사용하면서 느낀 경험은 전반적으로 만족스럽다. Wi-Fi, GPS, 블루투스, 적외선 센서 등과 같이 폰에 내장된 하드웨어가 모두 정상적으로 작동했고, 최근 며칠 동안 일상적인 용도로 사용하면서 강제 재부팅 현상을 한 번도 겪지 않았을 정도로 펌웨어 자체의 안정성도 좋다.

또한 필자가 리니지OS를 설치한 궁극적인 이유였던 ‘사용자 휴대폰’ 앱의 연동 기능 사용도 가능했다. 마치 원래부터 안드로이드 9.0 버전을 구동하고 있던 스마트폰이었냐는 듯이 모든 연동 기능들이 원활히 작동했다.

리니지OS를 설치한 이후 딱 한 가지 결점으로 꼽을 수 있는 점이 있다면, TWRP 리커버리를 설치한 시점부터 워런티가 깨지기 때문에 폰을 처음 켜고 부팅 로고가 뜰 때마다 오른쪽 위에 노란 글씨로 ‘Set Warranty Bit : kernel’이라는 문구가 항상 표시된다.

오로지 부팅 로고가 표시될 때에만 잠깐 나오고 그 이후에는 폰을 정상적으로 사용할 수 있기 때문에 필자도 그냥 신경쓰지 않고 계속 쓰고 있지만, 만약 이런 부분에 민감하다면 설치를 한 번 더 고려해 보길 바란다.