Le flux de démarrage recommandé pour un appareil est le suivant:
Flux pour les appareils A/B
Si l'appareil utilise A/B, le processus de démarrage est légèrement différent. L'emplacement de démarrage doit d'abord être marqué comme SUCCESSFUL
à l'aide du HAL de contrôle du démarrage avant de mettre à jour les métadonnées de protection contre le rollback.
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 de démarrage validé aux utilisateurs
Après avoir déterminé l'état de démarrage d'un appareil, vous devez communiquer cet état à l'utilisateur. Si l'appareil ne présente aucun problème, poursuivez sans rien afficher. Les problèmes de démarrage validé se répartissent dans les catégories suivantes:
- JAUNE: Écran d'avertissement pour les appareils VERTUÉS avec une racine de confiance personnalisée définie
- ORANGE: Écran d'avertissement pour les appareils DÉVERROUILLÉS
- ROUGE (eio): écran d'avertissement en cas de corruption de dm-verity
- ROUGE (aucun OS trouvé): aucun OS valide n'a été trouvé
Appareils LOCKÉS avec une racine de confiance personnalisée
Affichez un écran JAUNE à chaque démarrage si l'appareil est VERTU, 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 s'assombrir ou éteindre l'écran pour le protéger contre les brûlures d'écran). Si vous appuyez à nouveau sur le bouton, l'écran se ferme 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
Appuyer 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 "Appuyer sur le bouton Marche/Arrêt pour mettre en pause" est remplacé par "Appuyer 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 éviter les brûlures d'écran ou des problèmes similaires). Si vous appuyez de nouveau sur ce bouton, l'écran se ferme 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 dm-verity
Affichez un écran eio
rouge si une version valide d'Android est détectée et que l'appareil est actuellement en mode dm-verity eio
. L'utilisateur doit cliquer sur le bouton Marche/Arrêt pour continuer. Si l'utilisateur n'a pas confirmé l'écran d'avertissement sous 30 secondes, l'appareil s'éteint (pour protéger l'écran contre les brûlures d'écran et économiser de l'énergie).
Suggestion de texte:
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é
Si aucune version valide d'Android n'est trouvée, un écran rouge s'affiche. L'appareil ne peut pas continuer le démarrage. Si l'utilisateur n'a pas confirmé l'écran d'avertissement sous 30 secondes, l'appareil s'éteint pour protéger l'écran contre l'éblouissement 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
.
Suggestion de texte:
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 l'éteindre.
Confirmation du déverrouillage
Affichez un écran de confirmation de déverrouillage en réponse à la commande fastboot flashing unlock
exécutée via l'interface fastboot. Le curseur est initialement sur Ne pas déverrouiller. Si l'utilisateur n'a pas interagi avec l'écran d'avertissement dans les 30 secondes, celui-ci disparaît et la commande échoue.
Suggestion de texte:
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 test que l'OS d'origine et peut entraîner l'arrêt du fonctionnement de votre téléphone et des applications installées. L'intégrité du logiciel ne peut pas être garantie avec un OS personnalisé. Par conséquent, toutes les données stockées sur le téléphone lorsque le bootloader est déverrouillé peuvent être exposées à un risque.
Pour empêcher tout accès non autorisé à vos données à caractère personnel, le déverrouillage du bootloader supprime également toutes les données à caractère personnel de votre téléphone.
Appuyez sur les boutons volume+/volume- pour indiquer si vous souhaitez déverrouiller le bootloader, puis appuyez 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 ne redémarrez pas le téléphone.
Confirmation du verrouillage
Affichez un écran de confirmation de verrouillage en réponse à l'exécution de la commande fastboot flashing
lock
via l'interface fastboot. Le curseur est initialement sur Ne pas verrouiller. Si l'utilisateur n'a pas interagi avec l'écran d'avertissement sous 30 secondes, l'écran disparaît et la commande échoue.
Texte:
Si vous verrouillez le bootloader, vous ne pourrez pas installer de logiciel de système d'exploitation personnalisé sur ce téléphone. Pour empêcher tout accès non autorisé à vos données à caractère personnel, le verrouillage du bootloader supprime également toutes les données à caractère personnel de votre téléphone.
Appuyez sur le bouton Volume + ou Volume - pour choisir de verrouiller ou non 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.
Transmettre 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.
Il définit l'option androidboot.verifiedbootstate
sur l'une des valeurs suivantes:
green
: si l'appareil estLOCKED
et que la racine de confiance définie par l'utilisateur n'est pas utiliséeyellow
: si l'appareil estLOCKED
et qu'une racine de confiance configurable par l'utilisateur est utiliséeorange
: si l'appareil estUNLOCKED
L'option androidboot.veritymode
est définie sur eio
ou restart
en fonction de l'état du bootloader par rapport à la gestion des erreurs dm-verity. Pour en savoir plus, consultez la section Gérer les erreurs de validation.