이 페이지에서는 자체 기기용 빌드를 설정할 때 실행해야 할 수 있는 몇 가지 작업을 설명합니다.
맞춤 플래시 구성 만들기
빠른 부팅 안내는 fastboot-info.txt
라는 아티팩트에 정의되어 있습니다. 여러 대상을 빌드하면 $OUT_DIR에 여러 개의 fastboot-info.txt
파일이 생깁니다. $ANDROID_PRODUCT_OUT
는 빌드한 가장 최신 타겟을 가리킵니다. 이 페이지에는 빠른 부팅에서 실행할 작업이 나열되어 있으며 m fastboot_info
를 사용하여 재생성할 수 있습니다. fastboot-info.txt
파일을 수정하여 맞춤 플래싱 로직을 도입할 수 있습니다.
fastboot-info.txt
파일은 다음 명령어를 지원합니다.
flash %s
: 지정된 파티션을 플래시합니다. 선택적 인수에는--slot-other,
filename_path, and
--apply-vbmeta`가 포함됩니다.update-super
: super 파티션을 업데이트합니다.if-wipe
: wipe가 지정된 경우 조건부로 다른 구성요소를 실행합니다.erase %s
: 지정된 파티션을 삭제합니다 (if-wipe
와 함께만 사용할 수 있음 -> 예:if-wipe erase cache
)에 복사합니다.
플래시 잠금 상태 확인
기기용 맞춤 플래시부트 데몬 (flashbootd)을 빌드하는 경우 부트로더 및 부트로더 잠금 상태를 가져올 수 있어야 합니다. getFlashLockState()
@SystemApi
는 부트로더 상태를 전송하고 PersistentDataBlockManager.getFlashLockState()
시스템 API는 호환되는 기기에서 부트로더의 잠금 상태를 반환합니다.
반환 값 | 조건 |
---|---|
FLASH_LOCK_UNKNOWN |
이전에 플래시 잠금/잠금 해제 기능을 지원한 경우 플래시 잠금 상태를 얻는 데 필요한 부트로더 변경을 지원하지 않은 Android 7.x 이상으로 업그레이드한 기기에서만 반환함
|
FLASH_LOCK_LOCKED |
플래시 잠금/잠금 해제를 지원하지 않는 기기(항상 잠겨 있는 기기) 또는 플래시 잠금/잠금 해제를 지원하고 잠금 상태인 기기에서 반환함 |
FLASH_LOCK_UNLOCKED |
플래시 잠금 또는 잠금 해제를 지원하고 잠금 해제 상태인 모든 기기에서 반환함 |
제조업체는 잠금 및 잠금 해제된 부트로더가 있는 기기에서 반환된 값을 테스트해야 합니다. 예를 들어 AOSP에는 ro.boot.flash.locked
부팅 속성에 기반한 값을 반환하는 참조 구현이 포함되어 있습니다. 예제 코드는 다음 디렉터리에 있습니다.
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.java
frameworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java