En esta página, se describe el flujo de arranque recomendado para un dispositivo y se ilustra en la Figura 1:

Figura 1: Flujo de inicio verificado.
Flujo para dispositivos A/B
Si el dispositivo usa A/B, el flujo de inicio es ligeramente diferente. La ranura desde la que se debe iniciar el sistema primero debe marcarse como SUCCESSFUL con el HAL de Boot Control antes de actualizar los metadatos de protección contra reversión.
Si hay una actualización de la plataforma que falla (no se marca como SUCCESSFUL), la pila de 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 arrancar 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, comunícaselo 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 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 (es posible que el dispositivo atenúe o apague 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 ocho dígitos del sha256 de la representación de libavb de la clave pública que se usó para la verificación, por ejemplo, d14a028c.
Texto sugerido:
Tu dispositivo está cargando un sistema operativo diferente.
Visita este vínculo en otro dispositivo:
g.co/ABH
Huella digital del SO: hex-number
Presiona el botón de encendido para pausar

Figura 2: Ejemplo de una pantalla AMARILLA.
Dispositivos DESBLOQUEADOS
Mostrar una pantalla NARANJA en cada inicio si el dispositivo está DESBLOQUEADO La pantalla NARANJA se cierra 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 ocho dígitos del sha256 de la representación de libavb de la clave pública que se usó 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. Te recomendamos que no almacenes datos sensibles en él.
Visita este vínculo en otro dispositivo:
g.co/ABH
ID: hex-number
Presiona el botón de encendido para pausar.

Figura 3. Ejemplo de una pantalla NARANJA.
Corrupción de dm-verity
Mostrar una pantalla eio ROJA si se encuentra una versión válida de Android y el dispositivo está en el modo eio dm-verity El usuario debe presionar 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 baterí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:
g.co/ABH
Presiona el botón de encendido para continuar.

Figura 4: Ejemplo de una pantalla de EIO de RED.
No se encontró un SO válido
Mostrar una pantalla ROJA si no se encuentra una versión válida de Android El dispositivo no puede seguir con el arranque. 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 ocho dígitos del sha256 de la representación de libavb de la clave pública que se usó para la verificación, por ejemplo, d14a028c.
Texto sugerido:
No se pudo encontrar un sistema operativo válido. El dispositivo no se iniciará.
Visita este vínculo en otro dispositivo:
g.co/ABH
ID: hex-number
Presiona el botón de encendido para apagar el dispositivo.

Figura 5: Ejemplo de una pantalla RED.
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. Inicialmente, el enfoque está 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, podrás instalar software de sistemas operativos personalizados 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 aplicaciones 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 mientras el bootloader esté desbloqueado.
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 las teclas de volumen para seleccionar si quieres desbloquear el bootloader y, luego, presiona el botón de encendido para continuar.
No desbloquees el bootloader y reinicia el teléfono.
Desbloquea el bootloader.

Figura 6: Ejemplo de una pantalla de confirmación de desbloqueo.
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 establece 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 sistemas operativos personalizados en este teléfono.
Para evitar el acceso no autorizado a tus datos personales, bloquear el bootloader también borrará todos los datos personales de tu teléfono.
Presiona las teclas de volumen para seleccionar si quieres bloquear el cargador de arranque y, luego, presiona el botón de encendido para continuar.
No bloquees el bootloader y reinicia el teléfono.
Bloquea el bootloader.

Figura 7: Pantalla de advertencia del dispositivo de confirmación de bloqueo.
Comunica el estado de inicio verificado a Android
El bootloader comunica el estado del Arranque Verificado a Android a través de parámetros de kernel-command o a través de bootconfig en Android 12 y versiones posteriores.
El cargador de inicio establece la opción androidboot.verifiedbootstate en uno de los siguientes valores:
greensi el dispositivo esLOCKEDy no se usa la raíz de confianza establecida por el usuarioyellowsi el dispositivo esLOCKEDy se usa la raíz de confianza establecida por el usuarioorangesi el dispositivo esUNLOCKED
La opción androidboot.veritymode se establece en 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 errores de verificación.