Cette page explique plusieurs tâches que vous devrez peut-être effectuer si vous configurez une compilation pour votre propre appareil.
Créer une configuration flash personnalisée
Les instructions Fastboot sont définies dans un artefact appelé fastboot-info.txt. Si
vous compilez plusieurs cibles, vous aurez plusieurs fichiers fastboot-info.txt dans
le $OUT_DIR. De plus, $ANDROID_PRODUCT_OUT pointe vers la cible la plus récente que vous avez compilée. Cette page liste les tâches à exécuter pour Fastboot et peut être régénérée à l'aide de m fastboot_info. Vous pouvez introduire une logique de flash personnalisée en modifiant le fichier fastboot-info.txt.
Le fichier fastboot-info.txt est compatible avec les commandes suivantes :
flash %s: flashe une partition donnée. Les arguments facultatifs incluent--slot-other,filename_path, and--apply-vbmeta`.update-super: met à jour la superpartition.if-wipe: exécute conditionnellement un autre composant si un effacement est spécifié.erase %s: efface une partition donnée (ne peut être utilisé qu'avecif-wipe-> par exemple,if-wipe erase cache).
Déterminer l'état du verrouillage flash
Si vous créez un démon flashboot personnalisé (flashbootd) pour un appareil, vous devez pouvoir obtenir l'état du bootloader et du verrouillage du bootloader. Le
getFlashLockState() @SystemApi transmet l'état du bootloader
et l'API système PersistentDataBlockManager.getFlashLockState() renvoie l'état de verrouillage du bootloader sur les appareils compatibles.
| Valeur renvoyée | Conditions |
|---|---|
FLASH_LOCK_UNKNOWN |
N'est renvoyé que par les appareils passant à Android 7.x ou version ultérieure qui ne prenaient pas en charge auparavant les modifications du bootloader requises pour obtenir l'état du verrouillage flash s'ils prenaient en charge la fonctionnalité de verrouillage/déverrouillage du flash.
|
FLASH_LOCK_LOCKED |
Est renvoyé par tout appareil qui ne prend pas en charge le verrouillage/déverrouillage du flash (c'est-à-dire que l'appareil est toujours verrouillé) ou par tout appareil qui prend en charge le verrouillage/déverrouillage du flash et qui est verrouillé. |
FLASH_LOCK_UNLOCKED |
Est renvoyé par tout appareil qui prend en charge le verrouillage/déverrouillage du flash et qui est déverrouillé. |
Les fabricants doivent tester les valeurs renvoyées par les appareils avec des bootloaders verrouillés et déverrouillés. Par exemple, AOSP contient une implémentation de référence qui renvoie une valeur basée sur la propriété de démarrage ro.boot.flash.locked. L'exemple de code se trouve dans les répertoires suivants :
frameworks/base/services/core/java/com/android/server/PersistentDataBlockService.javaframeworks/base/core/java/android/service/persistentdata/PersistentDataBlockManager.java