안드로이드 하드웨어 관련해서 다루어거나 커스텀 펌웨어 관련해서 이것저것 하다보면, ADB 와 같이 자주 사용하게 되는 툴이 있습니다. 바로 부트로더 언락 등의 작업을 할 수 있으며, System, Boot, Recovery 등 다양한 영역에서의 펌웨어를 교체 작업을 할 수 있는 Fastboot 입니다.
이번 시간에는 Fastboot 에 대해서 한 번 세세하게 알아보는 시간을 가져볼까 합니다.
주의.
삼성 단말기는 android fastboot 대신 download mode를 사용하여
구글 레퍼런스 단말기인 갤럭시 넥서스를 제외하고 불가능합니다.
Fastboot 란?
Fastboot 는 안드로이드 기기의 플래시 메모리에 직접 데이터를 쓰거나, 진단 할 수 있는 엔지니어링 프로토콜입니다. PC와 USB 연결하여 Bootloader Unlock, Recovery Mode, System, Kernel 등의 안드로이드 기기의 펌웨어들에 대해서 플래시 하는데 가장 많이 사용하고 있습니다.
Fastboot 로 할 수 있는 것
1. Bootloader Unlock
2. Recovery Mode, System, Kernel 등에 대한 펌웨어 변경
3. 공장초기화
등등..
Fastboot 다운로드
Fastboot 같은 경우 Android ADB 와 같이 배포되고 있으며, Linux 및 Mac OS 같은 경우 명령어로도 설치가 가능합니다.
설치파일 이용
명령어 이용
- Linux
- Mac OS (Homebrew)
- Mac OS (MacPorts)
Fastboot Mode 진입하기
보통 Fastboot 모드는 Bootloader 와 동일하며, 간혹 제조사에서 별도적으로 Fastboot Mode 를 따로 만들어 놓는 경우도 있습니다. (ex. Sony) ADB 명령어를 통해서 진입을 하던가 아니면 제조사에서 공식적으로 제공해주고 있는 커맨드 키를 이용하여 진입이 가능합니다.
ADB 이용 진입방법
!참고. 삼성 같은 경우
- Galaxy 제품 군 같은 경우 Fastboot 명령어를 사용 할 수 없으며 Download Mode 와 Odin 을 이용합니다.
Fastboot 명령어
fastboot 명령어는 아래와 같은 형태를 가지고 있습니다.
command 목록
option 목록
기기 연결 유무 확인
Bootloader 또는 Fastboot Mode 에서 기기와 PC의 연결 상태를 확인하려면 아래의 명령어를 이용하면 됩니다.
커맨드 이용
옵션 이용
재부팅
fastboot 역시 reboot 명령어를 통해서 adb 와 동일하게 재부팅이 가능합니다.
시스템(ROM)으로 부팅
부트로더로 재부팅
리커버리로 재부팅
- 특정 기기 같은 경우 해당 명령어가 작동되지 않습니다.
부트로더 정보 보기
fastboot 를 이용해서 bootloader 등 다양한 기기 정보를 파악 할 수 있습니다.
부트로더 언락/리락 하기
fastboot 를 이용해서 가장 많은 작업을 하는 것은 Bootloader Unlock 및 Relock 작업입니다. 간단하게 oem unlock 커맨드를 이용하여 가능합니다.
부트로더 언락
부트로더 리락
특정 이미지 로 부팅하기
테스트를 진행할때 가장 많이 사용하는 기능이 아닌가 싶습니다. boot 명령어를 이용해서 특정 이미지 파일로 부팅이 가능합니다.
특정 이미지 덮어씌우기
순정 복구 용으로 주로 사용하기도 하지만, 근래에는 커스텀 목적으로도 많이 사용하는 기능이 아닌가 싶습니다. fastboot flash 명령어로 특정 파티션에 원하는 이미지 파일을 덮어 씌울 수 있습니다.
특정 ROM 파일 설치하기
만약 리커버리로 부팅이 힘든 경우 update 명령어를 통해서 특정 ROM 파일을 설치가 가능합니다.
파티션 포멧 변경하기
특정 파티션에 대해서 포멧 형식을 변경하려면 format 명령어를 통해서 가능합니다.
OEM 커맨드 목록
fastboot 커맨드 중 우리가 쉽게 잘 알지못하는 명령어들로 oem 명령어가 있습니다. 해당 명령어는 제조사마다 다르며, 지원하는 것 역시 차이가 있습니다. 아래에는 대략적으로 공통적으로 있는 것들에 대해서 적어놓았습니다.
해당 커맨드들은 제조사 마다 다르기 때문에 참고 하시고, 추가적으로 파악해보시려면 아래의 링크를 통해 XDA 게시글을 확인해주시길 바랍니다.
https://www.xda-developers.com/how-to-discover-hidden-fastboot-commands/
전원 연결시 부팅
oem 명령어를 통해서 전원이 연결 될 경우 자동으로 부팅이 되게 만들 수 있습니다.
자동 부팅되게 만들기
원상복구
전원 연결시 충전 화면
우리가 전원이 꺼진 상태에서 충전 여부를 확인 할 수 있는 방법으로 전원 연결시 들어오는 충전 화면이 있습니다. 해당 화면 역시 전원을 연결하면 자동으로 부팅되게 만들수 있듯이 oem 명령어로 on/off 가 가능합니다.
충전 화면 활성화
충전 화면 비활성화
마무리
간단하게 fastboot 명령어들에 대해서 한 번 알아보았습니다. 개인적으로 쓰는 기능이 한정적이다보니 잘 모르고 있던 기능들도 얼추 어느정도는 알게 된 것 같습니다. 조금 조금씩 틀린 것도 있을 수 있으니까, 해당 내용에 대해서는 댓글로 적어주시면 감사하겠습니다.
참조