패스트부트
![]() Fastboot 텍스트 사용자 인터페이스 | |
원저자 | 구글 LLC |
---|---|
저장소 | android.googlesource.com |
기본 포함 | 안드로이드 SDK |
언어 | C++ |
종류 | 펌웨어 통신 프로토콜 및 그 구현 |
패스트부트는 주로 안드로이드 기기에서 사용되는 통신 프로토콜이다.[1] 이 프로토콜은 동일한 이름의 명령줄 인터페이스 도구와 안드로이드 기기의 부트로더 모드로 구현되어 있다. 이 도구는 안드로이드 SDK 패키지에 포함되어 있으며, 주로 호스트 컴퓨터에서 USB 연결을 통해 플래시 파일 시스템을 수정하는 데 사용된다. 이 기능을 사용하려면 기기가 패스트부트 모드로 시작되어야 한다. 이 모드가 활성화되면, USB 대량 전송을 통해 전송되는 특정 명령어 세트를 허용한다.[2] 일부 기기에서는 패스트부트가 부트로더 잠금 해제를 허용하며, 그 결과 기기에 사용자 지정 복구 이미지와 커스텀 롬을 설치할 수 있게 한다. 패스트부트는 기기에서 USB 디버깅이 활성화될 필요가 없다.[3] 패스트부트를 사용하려면 부팅 중에 특정 키 조합을 눌러야 한다.[4]
모든 안드로이드 기기에서 패스트부트가 활성화되는 것은 아니며,[5] 안드로이드 기기 제조업체는 패스트부트를 구현할지 아니면 다른 프로토콜을 구현할지 선택할 수 있다.[6]
눌러야 하는 키
[편집]패스트부트를 위해 눌러야 하는 키는 제조사마다 다르다.[7]
삼성 기기(넥서스 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이라고 불리는 안드로이드 부트로더,[8] 퀄컴의 Little Kernel 포크,[9] TianoCore EDK II, [10][11] 및 Das U-Boot에 구현되었다.[12]
같이 보기
[편집]각주
[편집]- ↑ “Fastboot Protocol Documentation”. 《android.googlesource.com》. 2019년 7월 7일에 확인함.
- ↑ Ravenscraft, Eric (2014년 6월 13일). “The Most Useful Things You Can Do with ADB and Fastboot on Android”. 《Lifehacker》 (영어). 2019년 7월 7일에 확인함.
- ↑ Tamma, Rohit (2015). 《Learning Android forensics : a hands-on guide to Android forensics, from setting up the forensic workstation to analyzing key forensic artifacts》. Donnie Tindall. Birmingham, UK. 113쪽. ISBN 978-1-78217-444-8. OCLC 910639389.
- ↑ “How to Use ADB and Fastboot on Android (And Why You Should)”. 《Makeuseof》 (미국 영어). 2017년 1월 26일. 2021년 8월 4일에 확인함.
- ↑ “The Easiest Way to Install Android's ADB and Fastboot Tools on Any OS”. 《Lifehacker》 (미국 영어). 2017년 1월 11일. 2021년 8월 4일에 확인함.
- ↑ Drake, Joshua J. (2014). 《Android hacker's handbook》. Zach Lanier, Collin Mulliner, Pau Oliva, Stephen A. Ridley, Georg Wicherski. Indianapolis, IN: Wiley. ISBN 978-1-118-60861-6. OCLC 875820167.
- ↑ Tahiri, Soufiane (2016). 《Mastering mobile forensics : develop the capacity to dig deeper into device data acquisition》. Birmingham, UK. ISBN 978-1-78528-106-8. OCLC 952135850.
- ↑ Hay, R. (2017). fastboot oem vuln: Android bootloader vulnerabilities in vendor customizations. In 11th USENIX Workshop on Offensive Technologies (WOOT 17).
- ↑ “fastboot.c\aboot\app - kernel/lk -”. 《source.codeaurora.org》. 2021년 9월 11일에 원본 문서에서 보존된 문서. 2021년 9월 11일에 확인함.
- ↑ “Undocumented Fastboot Oem Commands”. 《carlo.marag.no》 (미국 영어). 2020년 9월 18일. 2021년 9월 11일에 확인함.
- ↑ “edk2/AndroidFastbootApp.c at master · tianocore/edk2”. 《GitHub》 (영어). 2021년 9월 11일에 확인함.
- ↑ 《u-boot/u-boot》, u-boot, 2023년 4월 15일, 2023년 4월 15일에 확인함