Le flux de démarrage recommandé pour un appareil est le suivant :

Figure 1 : Flux de démarrage validé.
Flux pour les appareils A/B
Si l'appareil utilise A/B, le flux de démarrage est légèrement différent. L'emplacement à partir duquel démarrer doit d'abord être marqué comme SUCCESSFUL
à l'aide de la HAL Boot Control avant de mettre à jour les métadonnées de protection contre la restauration.
Si une mise à jour de la plate-forme échoue (n'est pas marquée comme SUCCESSFUL
), la pile A/B revient à l'autre emplacement, qui contient toujours la version précédente d'Android. Toutefois, si les métadonnées de protection contre le rollback ont été définies, la version précédente ne peut pas démarrer en raison de la protection contre le rollback.
Communiquer l'état du démarrage validé aux utilisateurs
Après avoir déterminé l'état de démarrage d'un appareil, vous devez le communiquer à l'utilisateur. Si l'appareil ne présente aucun problème, passez à l'étape suivante sans rien afficher. Les problèmes liés au démarrage validé se répartissent dans les catégories suivantes :
- JAUNE : écran d'avertissement pour les appareils VERROUILLÉS avec une racine de confiance personnalisée définie
- ORANGE : écran d'avertissement pour les appareils DÉVERROUILLÉS
- RED (eio): Warning screen for dm-verity corruption
- ROUGE (aucun OS trouvé) : aucun OS valide trouvé
Appareils VERROUILLÉS avec une racine de confiance personnalisée

Afficher un écran JAUNE à chaque démarrage si l'appareil est VERROUILLÉ, qu'une racine de confiance personnalisée a été définie et que l'image a été signée avec cette racine de confiance personnalisée. L'écran JAUNE disparaît au bout de dix secondes et l'appareil continue de démarrer. Si l'utilisateur appuie sur le bouton Marche/Arrêt, le texte "Appuyez sur le bouton Marche/Arrêt pour mettre en pause" devient "Appuyez sur le bouton Marche/Arrêt pour continuer" et l'écran n'est jamais fermé (bien que l'appareil puisse baisser la luminosité de l'écran ou l'éteindre pour le protéger contre le burn-in). Si vous appuyez à nouveau sur le bouton, l'écran disparaît et le téléphone continue de démarrer.
Pour hex-number, utilisez les huit premiers chiffres du sha256 de la représentation libavb de la clé publique utilisée pour la validation, par exemple d14a028c
.
Texte suggéré :
Votre appareil a chargé un autre système d'exploitation.
Pour en savoir plus, accédez à ce lien sur un autre appareil :
g.co/ABH
ID : hex-number
Appuyez sur le bouton Marche/Arrêt pour mettre en pause
Appareils DÉVERROUILLÉS

Afficher un écran ORANGE à chaque démarrage si l'appareil est DÉVERROUILLÉ. L'écran ORANGE disparaît au bout de dix secondes et l'appareil continue de démarrer. Si l'utilisateur appuie sur le bouton Marche/Arrêt, le texte "Appuyez sur le bouton Marche/Arrêt pour mettre en pause" devient "Appuyez sur le bouton Marche/Arrêt pour continuer" et l'écran n'est jamais fermé (l'appareil peut réduire la luminosité et/ou éteindre l'écran si nécessaire pour le protéger contre le burn-in ou un problème similaire). Si vous appuyez de nouveau sur le bouton, l'écran est fermé et le téléphone continue de démarrer.
Pour hex-number, utilisez les huit premiers chiffres du sha256 de la représentation libavb de la clé publique utilisée pour la validation, par exemple d14a028c
.
Texte suggéré :
Le bootloader est déverrouillé et l'intégrité du logiciel ne peut pas être garantie. Il est possible que les données stockées sur l'appareil soient accessibles aux pirates informatiques. Ne stockez aucune donnée sensible sur l'appareil.
Pour en savoir plus, accédez à ce lien sur un autre appareil :
g.co/ABH
ID : hex-number
Appuyez sur le bouton Marche/Arrêt pour mettre en pause.
Corruption de dm-verity

Afficher un écran eio
ROUGE si une version valide d'Android est détectée et que l'appareil est actuellement en mode eio
dm-verity. L'utilisateur doit cliquer sur le bouton Marche/Arrêt pour continuer. Si l'utilisateur n'a pas confirmé l'écran d'avertissement dans les 30 secondes, l'appareil s'éteint (pour protéger l'écran contre les brûlures et économiser de l'énergie).
Texte suggéré :
Votre appareil est corrompu. Il n'est pas fiable et risque de ne pas fonctionner correctement.
Pour en savoir plus, accédez à ce lien sur un autre appareil :
g.co/ABH
Appuyez sur le bouton Marche/Arrêt pour continuer.
Aucun OS valide trouvé

Un écran ROUGE s'affiche si aucune version valide d'Android n'est trouvée. L'appareil ne peut pas continuer à démarrer. Si l'utilisateur n'a pas confirmé l'écran d'avertissement dans les 30 secondes, l'appareil s'éteint pour protéger l'écran contre le burn-in et économiser de l'énergie.
Pour hex-number, utilisez les huit premiers chiffres du sha256 de la représentation libavb de la clé publique utilisée pour la validation, par exemple d14a028c
.
Texte suggéré :
Aucun système d'exploitation valide n'a été trouvé. L'appareil ne démarre pas.
Pour en savoir plus, accédez à ce lien sur un autre appareil :
g.co/ABH
ID : hex-number
Appuyez sur le bouton Marche/Arrêt pour éteindre l'appareil.
Confirmation du déverrouillage

Affichez un écran de confirmation du déverrouillage en réponse à l'exécution de la commande fastboot flashing unlock
via l'interface fastboot. Le curseur est initialement placé sur Ne pas déverrouiller. Si l'utilisateur n'interagit pas avec l'écran d'avertissement dans les 30 secondes, l'écran disparaît et la commande échoue.
Texte suggéré :
Si vous déverrouillez le bootloader, vous pouvez installer un logiciel de système d'exploitation personnalisé sur ce téléphone. Un OS personnalisé n'est pas soumis au même niveau de tests que l'OS d'origine. Il peut entraîner un dysfonctionnement de votre téléphone et des applications installées. L'intégrité du logiciel ne peut pas être garantie avec un OS personnalisé. Toute donnée stockée sur le téléphone alors que le bootloader est déverrouillé peut donc être exposée à un risque.
Pour empêcher tout accès non autorisé à vos données personnelles, le déverrouillage du bootloader supprime également toutes les données personnelles de votre téléphone.
Appuyez sur le bouton Volume+ ou Volume- pour sélectionner si vous souhaitez déverrouiller le bootloader, puis sur le bouton Marche/Arrêt pour continuer.
Déverrouiller
Déverrouillez le bootloader.
Ne pas déverrouiller
Ne déverrouillez pas le bootloader et redémarrez le téléphone.
Confirmation de verrouillage
Affichez un écran de confirmation du verrouillage en réponse à l'exécution de la commande fastboot flashing
lock
via l'interface fastboot. La mise au point est initialement définie sur Ne pas verrouiller. Si l'utilisateur n'interagit pas avec l'écran d'avertissement dans les 30 secondes, l'écran disparaît et la commande échoue.
Text:
Si vous verrouillez le bootloader, vous ne pourrez pas installer de logiciel d'OS personnalisé sur ce téléphone. Pour empêcher tout accès non autorisé à vos données personnelles, le verrouillage du bootloader supprime également toutes les données personnelles de votre téléphone.
Appuyez sur le bouton Volume+ ou Volume- pour sélectionner si vous souhaitez verrouiller le bootloader, puis sur le bouton Marche/Arrêt pour continuer.
Verrouiller
Verrouillez le bootloader.
Ne pas verrouiller
Ne verrouillez pas le bootloader et redémarrez le téléphone.
Communiquer l'état du démarrage validé à Android

Le bootloader communique l'état du démarrage validé à Android via des paramètres de commande du noyau ou via bootconfig à partir d'Android 12.
Elle définit l'option androidboot.verifiedbootstate
sur l'une des valeurs suivantes :
green
: si l'appareil estLOCKED
et que la racine de confiance configurable par l'utilisateur n'est pas utiliséeyellow
: si l'appareil estLOCKED
et que la racine de confiance peut être définie par l'utilisateurorange
: si l'appareil estUNLOCKED
L'option androidboot.veritymode
est définie sur eio
ou restart
, selon l'état du bootloader par rapport à la gestion des erreurs dm-verity. Pour en savoir plus, consultez Gérer les erreurs de validation.