El flujo de inicio recomendado para un dispositivo es el siguiente:

Figura 1: Flujo de inicio verificado.
Flujo para dispositivos A/B
Si el dispositivo usa A/B, el flujo de arranque es ligeramente diferente. Primero, la ranura de arranque debe marcarse como SUCCESSFUL
con el HAL de Boot Control antes de actualizar los metadatos de Rollback Protection.
Si hay una actualización de la plataforma que falla (no está marcada como SUCCESSFUL
), la pila A/B recurre a la otra ranura, que aún tiene la versión anterior de Android. Sin embargo, si se hubieran establecido los metadatos de protección contra reversiones, la versión anterior no podría iniciarse debido a la protección contra reversiones.
Comunica el estado de inicio verificado a los usuarios
Después de determinar el estado de inicio de un dispositivo, debes comunicarle ese estado al usuario. Si el dispositivo no tiene problemas, continúa sin mostrar nada. Los problemas de inicio verificado se clasifican en las siguientes categorías:
- AMARILLO: Pantalla de advertencia para dispositivos BLOQUEADOS con una raíz de confianza personalizada establecida
- NARANJA: Pantalla de advertencia para dispositivos DESBLOQUEADOS
- RED (eio): Pantalla de advertencia por corrupción de dm-verity
- RED (no se encontró SO): No se encontró un SO válido
Dispositivos BLOQUEADOS con una raíz de confianza personalizada

Mostrar una pantalla AMARILLA en cada inicio si el dispositivo está BLOQUEADO, se configuró una raíz de confianza personalizada y la imagen se firmó con esta raíz de confianza personalizada La pantalla AMARILLA se cierra después de diez segundos y el dispositivo continúa con el arranque. Si el usuario presiona el botón de encendido, el texto "Presiona el botón de encendido para pausar" cambia a "Presiona el botón de encendido para continuar" y la pantalla nunca se descarta (aunque el dispositivo puede atenuar o apagar la pantalla para protegerla contra el quemado). Si se vuelve a presionar, se descarta la pantalla y el teléfono continúa con el arranque.
Para hex-number, usa los primeros 8 dígitos del sha256 de la representación de libavb de la clave pública que se usa para la verificación, por ejemplo, d14a028c
.
Texto sugerido:
Tu dispositivo cargó un sistema operativo diferente.
Visita este vínculo en otro dispositivo para obtener más información:
g.co/ABH
ID: hex-number
Presiona el botón de encendido para pausar.
Dispositivos DESBLOQUEADOS

Mostrar una pantalla NARANJA en cada inicio si el dispositivo está DESBLOQUEADO La pantalla NARANJA se descarta después de diez segundos y el dispositivo continúa con el inicio. Si el usuario presiona el botón de encendido, el texto "Presiona el botón de encendido para pausar" cambia a "Presiona el botón de encendido para continuar" y la pantalla nunca se descarta (es posible que el dispositivo atenúe o apague la pantalla si es necesario para protegerla contra el quemado o problemas similares). Si se vuelve a presionar, se cierra la pantalla y el teléfono continúa con el inicio.
Para hex-number, usa los primeros 8 dígitos del hash sha256 de la representación de libavb de la clave pública que se usa para la verificación, por ejemplo, d14a028c
.
Texto sugerido:
El bootloader está desbloqueado y no se puede garantizar la integridad del software. Los atacantes podrían acceder a la información almacenada en el dispositivo. No almacenes datos sensibles en el dispositivo.
Visita este vínculo en otro dispositivo para obtener más información:
g.co/ABH
ID: hex-number
Presiona el botón de encendido para pausar.
Corrupción de dm-verity

Mostrar una pantalla ROJA eio
si se encuentra una versión válida de Android y el dispositivo está actualmente en el modo eio
dm-verity El usuario debe hacer clic en el botón de encendido para continuar. Si el usuario no confirma la pantalla de advertencia en un plazo de 30 segundos, el dispositivo se apaga (para proteger la pantalla contra el quemado y ahorrar energía).
Texto sugerido:
Tu dispositivo está dañado. No se puede confiar en él y es posible que no funcione correctamente.
Visita este vínculo en otro dispositivo para obtener más información:
g.co/ABH
Presiona el botón de encendido para continuar.
No se encontró un SO válido

Se muestra una pantalla ROJA si no se encuentra una versión válida de Android. El dispositivo no puede seguir con el inicio. Si el usuario no confirma la pantalla de advertencia en un plazo de 30 segundos, el dispositivo se apaga para proteger la pantalla contra el quemado y ahorrar energía.
Para hex-number, usa los primeros 8 dígitos del sha256 de la representación de libavb de la clave pública que se usa para la verificación, por ejemplo, d14a028c
.
Texto sugerido:
No se pudo encontrar un sistema operativo válido. El dispositivo no arranca.
Visita este vínculo en otro dispositivo para obtener más información:
g.co/ABH
ID: hex-number
Presiona el botón de encendido para apagar el dispositivo.
Confirmación de desbloqueo

Muestra una pantalla de confirmación de desbloqueo en respuesta al comando fastboot flashing unlock
que se ejecuta a través de la interfaz de fastboot. El enfoque se encuentra inicialmente en No desbloquear. Si el usuario no interactúa con la pantalla de advertencia en un plazo de 30 segundos, la pantalla desaparece y el comando falla.
Texto sugerido:
Si desbloqueas el bootloader, puedes instalar software de sistema operativo personalizado en este teléfono. Un SO personalizado no se somete al mismo nivel de pruebas que el SO original y puede hacer que el teléfono y las apps instaladas dejen de funcionar correctamente. No se puede garantizar la integridad del software con un SO personalizado, por lo que los datos almacenados en el teléfono podrían estar en riesgo durante el desbloqueo del bootloader.
Para evitar el acceso no autorizado a tus datos personales, desbloquear el bootloader también borra todos los datos personales de tu teléfono.
Presiona el botón para subir o bajar el volumen para seleccionar si quieres desbloquear el bootloader y, luego, el botón de encendido para continuar.
Desbloquear
Desbloquea el bootloader.
No desbloquear
No desbloquear el bootloader y reiniciar el teléfono
Confirmación de bloqueo
Muestra una pantalla de confirmación de bloqueo en respuesta al comando fastboot flashing
lock
que se ejecuta a través de la interfaz de fastboot. El enfoque se encuentra inicialmente en No bloquear. Si el usuario no interactúa con la pantalla de advertencia en un plazo de 30 segundos, esta desaparece y el comando falla.
Texto:
Si bloqueas el bootloader, no podrás instalar software de sistema operativo personalizado en este teléfono. Para evitar el acceso no autorizado a tus datos personales, bloquear el bootloader también borra todos los datos personales de tu teléfono.
Presiona el botón para subir o bajar el volumen para seleccionar si quieres bloquear el bootloader y, luego, el botón de encendido para continuar.
Bloquear
Bloquea el bootloader.
No bloquear
No bloquees el bootloader y reinicia el teléfono.
Comunica el estado de inicio verificado a Android

El bootloader comunica el estado del inicio verificado a Android a través de parámetros de la línea de comandos del kernel o a través de bootconfig a partir de Android 12.
Establece la opción androidboot.verifiedbootstate
en uno de los siguientes valores:
green
: Si el dispositivo esLOCKED
y no se usa la raíz de confianza establecida por el usuarioyellow
: Si el dispositivo esLOCKED
y se usa la raíz de confianza establecida por el usuarioorange
: Si el dispositivo esUNLOCKED
La opción androidboot.veritymode
se configura como eio
o restart
según el estado en el que se encuentre el cargador de arranque con respecto al control de errores de dm-verity. Para obtener más detalles, consulta Cómo controlar los errores de verificación.