6 votos

Android Boot verificado y generación de imagen vbmeta

Estoy en el proceso de puesta en marcha no oficial de un dispositivo, y estoy atascado sin poder progresar debido al Android Verified Boot.

Según la especificación, Android Verified Boot se puede desactivar con las banderas --disable-verity y --disable-verification. El dispositivo con el que estoy trabajando no cumple con las especificaciones y, por lo tanto, no se puede desactivar el Android Verified Boot. Una de las soluciones es construir yo mismo una imagen vbmeta que luego se utilizará para verificar mi imagen de arranque generada personalizada.

La pregunta que surge es cómo generar adecuadamente dicha imagen. La documentación sobre el tema es extremadamente escasa y buscar archivos similares hechos por la comunidad con un editor hexadecimal arroja poca información para mí. Como se menciona aquí, debería poder generar uno con la herramienta avbtool, lo cual hice, muy probablemente de manera incorrecta, ya que aún se niega a incluso flashearlo a través de fastboot. La única forma que he encontrado de permitir tal cosa es flashear una imagen vbmeta en blanco, lo cual en términos falla al verificar el kernel y falla.

0 votos

Desde mi conocimiento, las banderas que mencionaste solo se utilizan durante el inicio rápido para permitir flashear una partición modificada, no para deshabilitar fastboot flash --disable-verity --disable-verification vbmeta vbmeta.bin github.com

6voto

Lakindu Puntos 16

En esta página hay una sección llamada 'Desactivar el arranque verificado' que menciona un comando para crear un archivo vbmeta.img vacío que se puede usar para desactivar el arranque verificado: https://wiki.postmarketos.org/wiki/Android_Verified_Boot_(AVB)

Ese comando es,

$ avbtool make_vbmeta_image --flags 2 --padding_size 4096 --output vbmeta_disabled.img

Para asegurarme, busqué 'make_vbmeta_image' en los repositorios de AOSP y encontré un comando similar aquí.

Tengo un árbol fuente de AOSP de Android Q conmigo. Por lo tanto, utilicé avbtool para crear una imagen vbmeta vacía emitiendo los siguientes comandos.

$ cd 
$ ./external/avb/avbtool make_vbmeta_image --flag 2 --padding_size 4096 --output ./vbmeta_disabled.img
$ ls -l ./vbmeta_disabled.img

Como se indica aquí, para flashear la imagen vbmeta, primero puedes arrancar tu dispositivo en modo fastboot, desbloquear el gestor de arranque del dispositivo y usar el siguiente comando.

$ fastboot --disable-verification flash vbmeta vbmeta_disabled.img

1 votos

Aceptado como respuesta correcta ya que responde a la pregunta principal "Cómo generar la imagen vbmeta". La pregunta secundaria sobre mi dispositivo que no implementa las banderas de desactivación aún sigue pendiente, pero supongo que abriré una nueva pregunta específicamente para eso. Gracias.

0 votos

¿Está esta imagen relacionada con la plataforma del dispositivo? ¿Qué pasaría si uso otra imagen creada sin construir aosp yo mismo?

1 votos

@yurenchen afaik no importa pero puede variar según el modelo del dispositivo

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X