Computer >> 컴퓨터 >  >> 시스템 >> Android

안드로이드 기기에 GSI(일반 시스템 이미지) 설치하기: 실패 없는 단계별 완벽 가이드

안드로이드 기기에 GSI(일반 시스템 이미지) 설치하기: 실패 없는 단계별 완벽 가이드

2017년 구글은 '프로젝트 트레블(Project Treble)'을 도입하며 안드로이드의 아키텍처에 큰 변화를 가져왔습니다. 핵심은 모든 기기에서 동일하게 사용되는 안드로이드 운영체제와, 기기마다 다른 저수준(low-level) 소프트웨어를 분리한 것입니다. 덕분에 제조사(OEM)와 커스텀 ROM 개발자는 안드로이드 9 이상이 탑재된 기기에서 이전보다 훨씬 빠르게 업그레이드를 진행할 수 있게 되었습니다.

프로젝트 트레블은 GSI의 탄생 배경이기도 합니다. GSI(Generic System Image, 일반 시스템 이미지)는 순수한 안드로이드 구현체에, 프로젝트 트레블을 지원하는 어떤 기기에서든 작동하도록 설정을 조정한 시스템 이미지입니다. GSI를 활용하면 제조사가 OTA 업데이트를 배포하기 전에도 새로운 안드로이드 버전을 미리 체험할 수 있습니다.

이번 가이드에서는 GSI를 지원하는 안드로이드 기기에 GSI를 설치(플래시)하는 방법을 단계별로 자세히 알려드립니다.

GSI 설치 전 필수 준비 사항

안드로이드 기기에 GSI를 설치하는 과정 자체는 어렵지 않지만, 시작하기 전에 반드시 확인해야 할 항목들이 있습니다. 원활한 작업을 위해 아래 내용을 하나도 건너뛰지 마세요.

  • 윈도우 PC와 정상 작동하는 USB 케이블을 준비하세요.
  • 기기 배터리가 최소 50% 이상 충전되어 있는지 확인하세요.
  • 중요한 데이터를 모두 백업하세요. (설치 과정에서 공장 초기화가 진행됩니다.)
  • 마이크로소프트 공식 가이드를 참고해 안드로이드 기기용 USB 드라이버를 자동으로 설치하세요.
  • PC에 ADB 및 Fastboot 플랫폼 도구(Platform Tools)를 다운로드하고 설정하세요.
  • 안드로이드 기기의 부트로더를 언락(unlock)하세요.

모든 준비가 끝났다면, 아래의 GSI 설치 절차를 진행할 수 있습니다.

1단계: 기기의 프로젝트 트레블 지원 여부 확인

무엇보다 먼저, 사용 중인 안드로이드 기기가 트레블화(Trebalized, 프로젝트 트레블 호환)되었는지 확인해야 합니다. 구글은 안드로이드 8(오레오) 이후 출시되는 모든 기기에 프로젝트 트레블이 탑재되도록 하는 것을 기본 원칙으로 삼고 있지만, 직접 확인해 보는 것이 안전합니다.

안드로이드 기기에 GSI(일반 시스템 이미지) 설치하기: 실패 없는 단계별 완벽 가이드

가장 간단한 방법은 구글 플레이 스토어에서 'Treble Info' 앱을 다운로드하는 것입니다. 앱을 실행한 뒤 Treble and VNDK 섹션으로 이동했을 때 왼쪽에 초록색 체크 표시가 나타나면, 해당 기기는 프로젝트 트레블을 지원하는 것입니다. 요약 화면에는 기기의 안드로이드 버전에 해당하는 VNDK(Vendor Native Development Kit) 버전 정보 등 추가 정보도 함께 표시됩니다.

2단계: CPU 아키텍처 및 파티션 정보 확인

안드로이드 GSI는 ARM, ARM64, x86, x86-64 등 다양한 CPU 아키텍처를 대상으로 배포됩니다. 따라서 자신의 기기 CPU에 맞는 올바른 GSI를 받아야 합니다. 기기의 CPU 아키텍처를 확인하려면 'Treble Info' 앱을 다시 실행하고, Architecture 섹션에서 CPU 종류를 확인하세요.

안드로이드 기기에 GSI(일반 시스템 이미지) 설치하기: 실패 없는 단계별 완벽 가이드

앱을 닫기 전에 Dynamic Partitions(동적 파티션) 섹션에서 해당 기기가 동적 파티션을 사용하는지도 확인하세요. 이 정보는 이후 GSI를 fastboot 모드로 설치할지, fastbootd 모드로 설치할지 결정하는 데 필요합니다.

Fastboot 또는 Fastbootd 모드는 안드로이드 OS가 구동되지 않은 상태에서 접근할 수 있으며, 폰의 플래시 메모리를 읽거나 쓸 수 있게 해주는 강력한 도구입니다. 이 모드를 사용할 때는 각별히 주의해야 합니다.

3단계: GSI 다운로드

기기의 CPU 아키텍처 정보를 파악했다면, PC에서 구글의 GSI 릴리스 페이지로 이동해 적합한 GSI를 찾아보세요. 반드시 현재 안드로이드 버전과 같거나 그 이상의 버전에 맞는 GSI를 다운로드해야 합니다.

구글 플레이 서비스가 포함된 GSI를 원한다면, 파일 이름에 gms가 포함된 것을 선택하세요. 다운로드가 완료되면 GSI zip 폴더 안에서 system.imgvbmeta.img 파일을 찾을 수 있습니다.

안드로이드 기기에 GSI(일반 시스템 이미지) 설치하기: 실패 없는 단계별 완벽 가이드

이제 system.imgvbmeta.img 파일의 압축을 풀어, 앞서 준비 단계에서 설정한 Platform Tools 폴더에 넣어두세요. 파일을 플랫폼 도구와 같은 폴더에 위치시키면 이후 실행할 모든 명령어가 오류 없이 정상적으로 작동합니다.

4단계: Fastboot 또는 Fastbootd 모드로 부팅

명령어를 실행하기 전에, 안드로이드 기기를 윈도우 PC에 연결하고 USB 디버깅을 활성화해야 합니다. 그다음 Platform Tools 폴더에서 명령 프롬프트(Command Prompt) 창을 엽니다. 간편한 방법으로는 폴더의 주소 표시줄에 cmd라고 입력하고 Enter 키를 누르면 됩니다.

이제 열린 명령 프롬프트 창에 아래 명령어를 입력하고 Enter를 눌러 안드로이드 기기를 Fastboot 모드로 부팅합니다.

adb reboot bootloader
안드로이드 기기에 GSI(일반 시스템 이미지) 설치하기: 실패 없는 단계별 완벽 가이드

2단계에서 기기가 동적 파티션(Dynamic Partitions)을 지원하는 것으로 확인되었다면, 아래의 추가 명령어를 실행해 기기를 Fastbootd 모드로 부팅해야 합니다. 이 과정을 생략하면 GSI 설치 시 파티션이 존재하지 않는다는 오류가 발생합니다. 동적 파티션이 없는 기기라면 이 명령어는 건너뛰세요.

fastboot reboot fastboot

여기까지 완료되면, 추출해 둔 GSI 파일을 설치할 준비가 모두 끝난 상태입니다.

5단계: Fastboot/Fastbootd를 통해 GSI 플래시하기

GSI 부팅 문제를 방지하려면 먼저 아래 명령어를 실행해 AVB(Android Verified Boot)를 비활성화해야 합니다. AVB는 제조사가 스마트폰에서 구동되는 안드로이드 시스템의 무결성과 신뢰성을 검증하기 위해 사용하는 기능입니다. 기기에 AVB가 없다면 이 명령어는 건너뛰세요. 명령어 실행 시 파티션이 존재하지 않는다는 오류가 출력되면 AVB가 없는 경우입니다.

fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
안드로이드 기기에 GSI(일반 시스템 이미지) 설치하기: 실패 없는 단계별 완벽 가이드

다음으로, 아래 명령어를 사용해 시스템 파티션을 지워 현재 설치된 안드로이드 OS를 제거합니다. 기존 안드로이드 시스템 위에 GSI를 덮어쓰면, 아무리 오래 기다려도 부팅이 완료되지 않는 무한 부팅 루프 같은 문제가 발생할 수 있습니다.

fastboot erase system

이제 아래 명령어로 다운로드한 GSI를 시스템 파티션에 플래시(설치)합니다. 플래시 과정은 다소 시간이 걸릴 수 있으니 조금만 기다려 주세요.

fastboot flash system system.img
안드로이드 기기에 GSI(일반 시스템 이미지) 설치하기: 실패 없는 단계별 완벽 가이드

이번에는 사용자 데이터를 포맷하거나 삭제하여 이전 시스템과 관련된 모든 데이터를 제거할 차례입니다. 데이터를 지우지 않으면 부팅 문제나 기타 오류가 발생할 수 있습니다. 아래 명령어를 실행하면 기기가 공장 초기화됩니다.

fastboot -w

이제 GSI 설치가 성공적으로 완료되었습니다. 마지막으로 아래의 간단한 명령어를 실행해 새로운 안드로이드 OS로 기기를 부팅하면 됩니다.

fastboot reboot

새로운 안드로이드 OS를 설치한 후 첫 부팅은 보통 시간이 더 걸립니다. 정상적으로 부팅이 완료되었다면 GSI가 의도대로 설치된 것이며, 이제 기기에서 새로운 GSI가 제공하는 다양한 기능을 마음껏 탐색할 수 있습니다.

참고로 GSI는 최대한 많은 기기를 지원하는 것을 목표로 하기 때문에, 기본 카메라 앱처럼 특정 기기 전용 기능은 사용할 수 없습니다. 다행히 구글 카메라(Google Camera) 포트와 같은 인기 있는 우회 방법을 활용하면 카메라 관련 문제를 일부 해결할 수 있습니다.

커스텀 ROM 기반 GSI 활용하기

이 가이드에서는 구글의 공식 GSI 릴리스 페이지만 소개했지만, 선택지는 이것뿐이 아닙니다. 안드로이드 커스텀 ROM 개발자들의 덕분에 LineageOS, Pixel Experience, /e/ OS 등 선호하는 커스텀 ROM을 기반으로 한 GSI도 손쉽게 구할 수 있습니다.

따라서 GSI를 통해 새로운 기능이나 순수 안드로이드 경험을 누리는 것은 물론, 커스텀 ROM으로 기기 지원 범위까지 넓힐 수 있습니다. 더욱 좋은 점은, 제조사가 보안 패치나 버전 업그레이드 지원을 중단한 이후에도 GSI가 여러분의 기기에 새 생명을 불어넣어 준다는 것입니다.