Flujo de inicio

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

Flujo de inicio verificado
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 para el inicio debe marcarse como SUCCESSFUL con la HAL de control de inicio antes de actualizar la Metadatos de protección contra reversión.

Si hay una actualización de la plataforma que falla (no está marcada SUCCESSFUL), la pila A/B recurre a la otra ranura, que aún tiene la versión anterior de Android. Sin embargo, si se configuraron los metadatos de protección contra reversiones, debido a la protección contra reversiones.

Comunicación del inicio verificado estado a los usuarios

Después de determinar el estado de inicio de un dispositivo, debes comunicar que al usuario. Si el dispositivo no tiene ningún problema, continúa sin mostrando algo. Los problemas del inicio verificado se dividen en las siguientes categorías:

  • AMARILLO: Pantalla de advertencia para dispositivos BLOQUEADOS con raíz de confianza personalizada establecida
  • NARANJA: Pantalla de advertencia para dispositivos DESBLOQUEADOS
  • RED (eio): Pantalla de advertencia para daños en dm-verity
  • ROJO (no se encontró ningún SO): No se encontró ningún SO válido.

Dispositivos BLOQUEADOS con raíz de confianza

Ejemplo de pantalla AMARILLA:

Pantalla de advertencia de dispositivo amarilla

Mostrar una pantalla AMARILLA en cada inicio si el dispositivo está BLOQUEADO, una raíz personalizada de se configuró la confianza y se firmó la imagen con esta raíz de confianza personalizada. La pantalla AMARILLA se cierra luego de diez segundos y el dispositivo continúa. durante el inicio. Si el usuario presiona el botón de encendido, se muestra "Presiona el botón de encendido para pausar" el texto cambia a "Presiona el botón de encendido para continuar" y la pantalla nunca está (aunque el dispositivo puede atenuar o apagar la pantalla para protegerte contra efecto quemado). Si se vuelve a presionar, la pantalla se cierra y el teléfono continúa. durante el inicio.

Para hex-number, usa los primeros 8 dígitos del sha256 de la representación en 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

Ejemplo de pantalla NARANJA:

Pantalla de advertencia del dispositivo naranja

Mostrar una pantalla NARANJA en cada inicio si el dispositivo está DESBLOQUEADO. La pantalla de ORANGE se descarta después de diez segundos y el dispositivo continúa iniciándose. Si el usuario presiona el botón de encendido, "Presiona el botón de encendido para pausar" texto cambia a "Presiona botón de encendido para continuar y la pantalla nunca se descarta (el dispositivo puede atenuar o apaga la pantalla si es necesario para protegerte contra el efecto quemado o similar). Si nuevamente, la pantalla se cierra y el teléfono continúa iniciándose.

Para hex-number, usa los primeros 8 dígitos del sha256 de libavb. representación de la clave pública que se usa para la verificación, por ejemplo, d14a028c

Texto sugerido:

El cargador de inicio está desbloqueado, y no se puede garantizar la integridad del software. Cualquiera los datos almacenados en el dispositivo estén disponibles para los atacantes. No almacenar 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

Ejemplo de pantalla RED eio:

Pantalla de advertencia del dispositivo eio roja

Mostrar una pantalla eio ROJA si se encuentra una versión válida de Android el dispositivo se encuentra en el modo dm-verity eio. El usuario necesita haz clic en el botón de encendido para continuar. Si el usuario no aceptó el evento, pantalla de advertencia en un plazo de 30 segundos, el dispositivo se apaga (para proteger la pantalla contra el efecto quemado y ahorrar energía).

Texto sugerido:

Tu dispositivo está dañado. No es de confianza 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ó ningún SO válido

Ejemplo de pantalla ROJA:

Pantalla de advertencia de dispositivo dañado de color rojo

Si no se encuentra una versión válida de Android, aparecerá una pantalla ROJA. El El dispositivo no puede seguir iniciando. Si el usuario no aceptó la advertencia pantalla en 30 segundos, el dispositivo se apaga para protegerla contra el efecto quemado y ahorrar energía).

Para hex-number, usa los primeros 8 dígitos del sha256 de la representación en libavb de la clave pública que se usa para la verificación, por ejemplo d14a028c

Texto sugerido:

No se encontró ningún sistema operativo válido. El dispositivo no se iniciará.

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

Pantalla de ejemplo:

Pantalla de advertencia DESBLOQUEAR dispositivo

Mostrar una pantalla de confirmación de desbloqueo en respuesta al Comando fastboot flashing unlock que se ejecuta mediante fastboot interfaz de usuario. Inicialmente, el enfoque está en No desbloquear. Si el usuario no ha interactuaste con la pantalla de advertencia en 30 segundos, la pantalla desaparece y el comando falla.

Texto sugerido:

Si desbloqueas el bootloader, podrás instalar operaciones personalizadas software de sistema de este teléfono. Un SO personalizado no está sujeto al mismo nivel de prueba que el SO original, y puede hacer que el teléfono y las aplicaciones instaladas para dejar de funcionar correctamente. No se puede garantizar la integridad del software con una regla por lo que los datos almacenados en el teléfono mientras el bootloader está desbloqueado pueden encontrarse en riesgo.

Para evitar el acceso no autorizado a tus datos personales, desbloquea el bootloader también borrará todos los datos personales del 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.

Destrabar

Desbloquea el bootloader.

No desbloquear

No desbloquear el bootloader ni reiniciar el teléfono

Confirmación del 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 es inicialmente en Don't lock. Si el usuario no interactuó con el dentro de 30 segundos, la pantalla desaparece y el comando falla.

Texto:

Si bloqueas el bootloader, no podrás instalar operaciones software de sistema de este teléfono. Para evitar el acceso no autorizado a tu si bloqueas el bootloader, también se borrarán todos los datos personales del 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

Bloquear el bootloader

No bloquear

No bloquear el bootloader ni reiniciar el teléfono.

Comunicación de Verificada Estado de inicio en Android

Pantalla de ejemplo:

Pantalla de advertencia del dispositivo de confirmación de BLOQUEO

El bootloader comunica el estado de inicio verificado a Android a través de kernel-command o mediante bootconfig a partir de Android 12. Establece la opción androidboot.verifiedbootstate en uno de los siguientes valores:

  • green: Si el dispositivo es LOCKED y el usuario puede configurarlo la raíz de confianza no se usa
  • yellow: Si el dispositivo es LOCKED y el usuario puede configurarlo se usa la raíz de confianza
  • orange: si el dispositivo es UNLOCKED.

La opción androidboot.veritymode se establece en eio. restart, según el estado en el que se encuentre el cargador de inicio hasta la administración de errores de dm-verity. Para obtener más detalles, consulta Administración errores de verificación.