6 votos

Android Inicio verificado y generación de imagen vbmeta

Estoy en proceso de implementación no oficial de un dispositivo, y me encuentro atascado sin poder avanzar debido a 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 Android Verified Boot. Una de las soluciones es construir una imagen vbmeta por mi cuenta que luego se utilizará para verificar mi imagen de inicio generada personalizada.

La pregunta en cuestión es cómo generar adecuadamente una imagen de ese tipo. La documentación sobre el tema es extremadamente escasa y buscar archivos similares hechos por la comunidad con un editor hexadecimal no me proporciona mucha información. Como se menciona aquí, debería poder generar una con la herramienta avbtool, lo cual hice, muy probablemente de manera incorrecta, ya que aún se niega a flashearlo incluso a través de fastboot. La única forma que encontré de permitir algo así es flashear una imagen vbmeta en blanco, lo cual a su vez falla al verificar el kernel y falla.

0 votos

Desde mi comprensión, las banderas que mencionaste solo se utilizan durante el fastboot para permitir el flasheo de la 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 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 de esto, busqué 'make_vbmeta_image' en los repositorios de AOSP y encontré un comando similar aquí.

Tengo un árbol fuente de Android Q AOSP conmigo. Así que utilicé avbtool de allí 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 instruye aquí, para flashear la imagen vbmeta puedes primero 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 una imagen vbmeta". La pregunta secundaria sobre mi dispositivo que aún no implementa las banderas de desactivación sigue pendiente, pero supongo que abriré una nueva pregunta específicamente para ello. Gracias

0 votos

¿Está relacionado este img con el dispositivo de la plataforma? ¿Y si uso otro img creado sin compilar aosp yo mismo?

1 votos

@yurenchen según tengo entendido, 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