패스트부트

패스트부트는 주로 안드로이드 기기에서 사용되는 통신 프로토콜이다. 이 프로토콜은 동일한 이름의 명령줄 인터페이스 도구와 안드로이드 기기의 부트로더 모드로 구현되어 있다. 이 도구는 안드로이드 SDK 패키지에 포함되어 있으며, 주로 호스트 컴퓨터에서 USB 연결을 통해 플래시 파일 시스템을 수정하는 데 사용된다. 이 기능을 사용하려면 기기가 패스트부트 모드로 시작되어야 한다. 이 모드가 활성화되면, USB 대량 전송을 통해 전송되는 특정 명령어 세트를 허용한다. 일부 기기에서는 패스트부트가 부트로더 잠금 해제를 허용하며, 그 결과 기기에 사용자 지정 복구 이미지와 커스텀 롬을 설치할 수 있게 한다. 패스트부트는 기기에서 USB 디버깅이 활성화될 필요가 없다. 패스트부트를 사용하려면 부팅 중에 특정 키 조합을 눌러야 한다.

모든 안드로이드 기기에서 패스트부트가 활성화되는 것은 아니며, 안드로이드 기기 제조업체는 패스트부트를 구현할지 아니면 다른 프로토콜을 구현할지 선택할 수 있다.

 눌러야 하는 키 
패스트부트를 위해 눌러야 하는 키는 제조사마다 다르다.
 HTC, 구글 픽셀, 모토로라, 샤오미: 전원 및 볼륨 다운
 지브라 및 심볼 기기: 오른쪽 스캔/액션 버튼
 소니: 전원 및 볼륨 업
 구글 넥서스: 전원, 볼륨 업, 볼륨 다운
삼성 기기(넥서스 S 및 갤럭시 넥서스 기기 제외)에서는 오딘 모드로 진입하기 위해 전원, 볼륨 다운, 홈 키를 눌러야 한다. 이는 패스트부트의 대안으로 사용되는 독점 프로토콜이자 도구이다. 이 도구는 부분적인 대안을 제공한다.

 명령어 
가장 일반적으로 사용되는 패스트부트 명령어 중 일부는 다음과 같다:
 flash 호스트 컴퓨터에 저장된 바이너리 이미지로 파티션을 다시 작성한다.
 flashing unlock/oem unlock DEVICE_SPECIFIC_UNLOCK_KEY 사용자 지정/서명되지 않은 롬을 플래시하기 위해 OEM 잠금 부트로더의 잠금을 해제한다.
 flashing lock/oem lock DEVICE_SPECIFIC_LOCK_KEY OEM 잠금 해제된 부트로더를 잠근다.
 erase 특정 파티션을 지운다.
 reboot 기기를 주 운영 체제, 시스템 복구 파티션 또는 부트로더로 재부팅한다.
 devices 호스트 컴퓨터에 연결된 모든 기기 목록(일련 번호 포함)을 표시한다.
 format 특정 파티션을 포맷한다. 파티션의 파일 시스템은 기기에서 인식되어야 한다.
 oem device-info 부트로더 상태를 확인한다.
 getvar all 기기에 대한 모든 정보(IMEI, 부트로더 버전, 배터리 상태 등)를 표시한다.

 구현 

패스트부트 프로토콜은 ABOOT이라고 불리는 안드로이드 부트로더,Hay, R. (2017). fastboot oem vuln: Android bootloader vulnerabilities in vendor customizations. In 11th USENIX Workshop on Offensive Technologies (WOOT 17). 퀄컴의 Little Kernel 포크, TianoCore EDK II, 및 Das U-Boot에 구현되었다.

 같이 보기 

 부트로더 잠금 해제
 안드로이드 복구 모드
 토르 (프로토콜)
 DFU (기기 펌웨어 업그레이드 메커니즘)

 각주 

 외부 링크 
  기기 플래싱 - Android.com
 패스트부트 프로토콜 사양
 안드로이드 Aboot 역공학

분류:부팅
분류:안드로이드 (운영체제)
분류:안드로이드 개발 소프트웨어
분류:통신 프로토콜