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

FastbootD 완벽 가이드: 안드로이드 기기에 커스텀 ROM 설치하는 단계별 방법

안드로이드 폰에 커스텀 ROM을 설치하는 일은 예전에는 비교적 간단했습니다. 부트로더를 언락하고 커스텀 리커버리를 설치하면 거의 준비가 끝났으니까요.

하지만 지금은 상황이 많이 달라졌습니다. TWRP나 Fastboot으로 커스텀 ROM을 플래시할 수 없다면, 잘못된 레벨에서 플래시를 시도하고 있을 가능성이 큽니다. 최근 출시되는 대부분의 스마트폰에는 FastbootD라는 추가 단계가 존재하며, 바로 이 모드에서 시스템 파티션을 변경할 수 있습니다.

이번 글에서는 FastbootD가 무엇인지, FastbootD 모드로 진입하는 방법, 그리고 이를 활용해 커스텀 ROM 또는 GSI(제네릭 시스템 이미지)를 설치하는 방법까지 차근차근 알아보겠습니다.

FastbootD란 무엇인가?

FastbootD는 안드로이드 폰에 펌웨어 이미지를 플래시하는 데 사용되는 도구로, DDVF(Device Disabled Verification Failed) 상태의 기기를 처리합니다. 이 상태는 기기의 부트로더가 업데이트된 펌웨어의 서명을 식별하지 못할 때 나타나며, 보통 펌웨어가 서명되지 않았거나 변조되었기 때문입니다.

FastbootD는 이렇게 문제가 생긴 기기를 정상적인 사용 가능 상태로 복구하는 역할을 합니다. 하지만 실제로는 대부분의 고급 사용자와 개발자가 커스텀 ROM과 GSI를 설치할 때 이 모드를 활용합니다.

Fastboot와 FastbootD는 모두 안드로이드 디버깅 및 유지보수를 위한 저수준(low-level) 도구입니다. Fastboot는 기기의 부트로더와 직접 상호작용하며, 주로 시스템 파티션을 제외한 다른 파티션을 플래시하는 데 사용됩니다. 반면 FastbootD는 안드로이드 폰의 문제 해결과 복구를 위한 도구로, 시스템 파티션 플래시를 허용한다는 점이 핵심 차이입니다.

Fastboot를 써야 할지 FastbootD를 써야 할지 판단이 서지 않는다면, 사용 중인 안드로이드 폰이 Project Treble을 지원하는지 먼저 확인해야 합니다(아래에서 자세히 설명).

Project Treble을 지원하지 않는 폰이라면 FastbootD 모드가 없을 가능성이 높으므로 기존의 Fastboot 모드를 사용하면 됩니다. 반대로 FastbootD 모드가 있는 폰이라면, 시스템 이미지를 플래시할 때 대부분 이 모드를 사용해야 합니다.

FastbootD 모드로 진입하는 방법

주의: 여기부터의 모든 단계는 기기에 잠재적인 위험을 초래할 수 있습니다. 진행 전에 XDA 포럼에서 사용 중인 폰 모델의 관련 스레드를 반드시 읽어보세요. 전체 과정을 깊이 이해하고 실수를 예방하는 데 큰 도움이 됩니다. 또한 계획대로 진행되지 않을 최악의 상황에 대비한 완전한 백업 계획도 세워두어야 합니다.

FastbootD 모드로 진입하려면 먼저 안드로이드 기기와 PC 사이에 ADB 연결을 설정해야 합니다. ADB 사용법이 익숙하지 않다면 관련 상세 가이드를 먼저 참고하는 것이 좋습니다.

또한 FastbootD를 활용하려면 안드로이드 폰의 부트로더가 언락되어 있어야 합니다. 언락 절차는 기기마다 다르므로 XDA 포럼이나 제조사 공식 웹사이트의 안내를 따르는 것이 가장 안전합니다. 부트로더를 언락하면 모든 사용자 데이터가 삭제되므로, 진행 전에 반드시 전체 백업을 완료하세요.

1단계: ADB 설치 및 설정

ADB 설정과 부트로더 언락이 끝났다면, USB 케이블로 폰을 PC에 연결합니다. PC의 기본 ADB 폴더에서 명령 프롬프트(Windows) 또는 터미널(macOS/Linux)을 연 뒤, 아래 명령어로 ADB 연결 상태를 확인합니다. 긴 일련번호가 출력되면 정상적으로 연결된 것입니다.

adb devices
FastbootD 완벽 가이드: 안드로이드 기기에 커스텀 ROM 설치하는 단계별 방법

개발자 옵션에서 OEM 잠금 해제(OEM Unlocking)가 활성화되어 있는지 확인한 후, 아래 명령어로 부트로더 모드로 재부팅합니다.

adb reboot bootloader

2단계: 플래싱 언락

다음으로, 시스템 파티션을 포함한 각종 파티션 변경을 허용하도록 폰에서 플래싱을 언락해야 합니다. 아래 명령어를 하나씩 입력하고, 화면의 안내에 따라 볼륨 업(Volume Up) 버튼으로 확인합니다.

fastboot flashing unlock
fastboot flashing unlock_critical
FastbootD 완벽 가이드: 안드로이드 기기에 커스텀 ROM 설치하는 단계별 방법

3단계: 인증(Verification) 비활성화

이제 중요 시스템 파일 변조로 인해 기기가 잠기는 상황을 막기 위해 인증을 비활성화합니다. 이 과정에는 스톡 ROM 또는 커스텀 ROM에 포함된 VBMeta(Verified Boot Metadata) 파일이 필요합니다. VBMeta는 폰 내 다른 파티션들의 체크섬과 서명 정보를 담고 있는 파일입니다.

스톡 ROM이나 VBMeta 파일은 보통 해당 기기의 XDA 포럼이나 제조사 웹사이트에서 구할 수 있습니다. 구글 검색창에 기기 모델명과 함께 "Stock ROM" 또는 "Flash File"을 입력하면 쉽게 찾을 수 있습니다. 삼성 폰은 SamMobile, 구글 픽셀 폰은 Google 공식 페이지에서도 다운로드할 수 있습니다.

파일을 내려받았다면 압축을 해제하고 vbmeta.imgvbmeta_system.img를 ADB 폴더에 저장한 뒤, 아래 명령어를 순서대로 실행합니다.

fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_system vbmeta_system.img
FastbootD 완벽 가이드: 안드로이드 기기에 커스텀 ROM 설치하는 단계별 방법

4단계: FastbootD 모드로 부팅

이제 아래 명령어를 입력해 FastbootD 모드로 재부팅합니다.

fastboot reboot fastboot

이 단계를 거치면 기기가 FastbootD 모드로 부팅되어, 드디어 커스텀 ROM이나 GSI를 플래시할 수 있는 단계에 도달하게 됩니다.

중요 경고: 부트로더를 언락하고 인증을 비활성화한 상태라면, 비활성화했던 모든 항목—특히 인증(verification)—을 다시 활성화하기 전까지는 절대 부트로더를 재잠금(relock)하지 마세요. 이를 어기면 폰이 하드브릭(hard brick)되어 복구 불가능한 상태가 될 수 있습니다.

참고로, 폰에 동적 파티션(dynamic partition)이 없거나 AB 파티션이 아닌 A-only 파티션만 있다면 일부 명령어는 불필요할 수 있습니다.

Treble Check 또는 Treble Info 같은 무료 앱을 사용하면 내 폰이 동적 파티션을 사용하는지, GSI 설치가 가능한지 손쉽게 확인할 수 있습니다.

Project Treble은 서로 다른 하드웨어 사양을 가진 기기에 동일한 시스템 이미지를 설치할 수 있게 해주는 프로젝트입니다. 앱으로 확인한 결과 기기가 Project Treble을 지원한다면 GSI를 설치할 수 있습니다.

FastbootD 모드로 커스텀 ROM 또는 GSI 플래시하기

본격적으로 시작하기 전에, 위에서 안내한 모든 단계를 빠짐없이 완료했는지 다시 한번 확인하세요. 이후 사용 중인 폰 모델 전용 커스텀 ROM을 다운로드하거나, XDA 또는 GitHub의 신뢰할 만한 ROM 목록에서 GSI를 받습니다. 이미지 파일을 ADB 폴더에 넣고 파일명을 system.img로 변경합니다. GSI를 선택했다면 GSI 플래시 방법과 Dynamic System Updates(DSU)에 대한 자료를 추가로 참고하는 것도 좋습니다.

커스텀 ROM을 찾기에 가장 좋은 곳은 단연 XDA입니다. 폰 모델명을 검색하면 해당 기기에 대한 개발이 진행 중일 경우 포럼에서 바로 찾을 수 있습니다. 이곳의 커스텀 ROM은 특정 폰 모델 한 대에 맞춰 제작된다는 점에서, Project Treble을 지원하는 모든 기기와 호환되는 GSI와 차별화됩니다.

커스텀 ROM과 GSI 중 무엇을 고를지 고민된다면, 자신의 기기 전용으로 만들어진 커스텀 ROM을 권장합니다. GSI보다 하드웨어 호환성이 훨씬 뛰어나기 때문입니다. GSI는 개별 개발이 이루어지지 않은 비교적 마이너한 폰 모델에 더 적합한 선택입니다.

그럼 FastbootD 모드에 진입한 상태라고 가정하고, 새 ROM 설치 절차를 시작하겠습니다.

1단계: 시스템 삭제(Erase)

먼저 Fastboot 바이너리 상태를 확인해야 하며, 명령어가 is-userspace: yes를 반환할 때만 진행해야 합니다. 걱정하지 않아도 됩니다. 대부분의 경우 yes가 출력되지만, 확실하게 확인하고 넘어가는 것이 안전합니다.

fastboot getvar is-userspace
FastbootD 완벽 가이드: 안드로이드 기기에 커스텀 ROM 설치하는 단계별 방법

이제 현재 시스템을 삭제합니다. 문제가 발생했을 때 스톡 펌웨어를 복구하는 방법을 미리 숙지하고, 백업을 완료한 상태에서, 기기 전용 포럼의 내용을 충분히 읽어본 뒤 진행하세요.

fastboot erase system

2단계: 논리 파티션 삭제

다음 단계는 기존 논리 파티션(logical partition)을 삭제하여 새 파티션으로 교체할 수 있도록 준비하는 것입니다.

동적(AB) 파티션을 사용하는 안드로이드 폰이라면 아래 명령어를 입력합니다.

fastboot delete-logical-partition product_a
fastboot delete-logical-partition product_b

A-only 파티션을 사용하는 기기라면 아래 명령어를 사용합니다.

fastboot delete-logical-partition product
FastbootD 완벽 가이드: 안드로이드 기기에 커스텀 ROM 설치하는 단계별 방법

3단계: 시스템 이미지 플래시

마지막으로, ADB 폴더에 저장해둔 시스템 이미지 파일을 플래시합니다.

fastboot flash system system.img
FastbootD 완벽 가이드: 안드로이드 기기에 커스텀 ROM 설치하는 단계별 방법

플래시가 완료되면 폰 화면에서 Enter recovery 옵션을 선택해 리커버리 모드로 재부팅합니다. 볼륨 버튼으로 옵션을 탐색하고 전원(Power) 버튼으로 선택하면 됩니다.

리커버리에서 Wipe data/factory reset을 선택한 뒤 Factory data reset으로 확인합니다. 완료되면 Reboot system now를 선택하세요. 기기가 재시작되며 새로운 ROM으로 부팅될 것입니다.

반드시 기기별 사전 조사를 마친 후 FastbootD를 활용하세요

FastbootD를 활용하면 TWRP 같은 커스텀 리커버리 없이도 시스템 파티션 작업이 가능합니다. 물론 TWRP를 통해서도 FastbootD에 접근할 수 있는데, 리커버리의 고급 설정(Advanced Settings) 메뉴에 있으며 명령어 사용법은 이 글에서 안내한 내용과 거의 동일합니다.

마지막으로 다시 한번 강조합니다. 이러한 수정 작업을 진행하기 전에 사용 중인 폰 모델에 대한 자료를 충분히 읽고 조사하는 것이 얼마나 중요한지 아무리 강조해도 지나치지 않습니다. 초기에 투자한 시간은 나중에 발생할 수 있는 시간 낭비, 노력, 스트레스를 크게 줄여줄 것입니다.