6 votos

Android Verified Boot y generación de la imagen vbmeta

Estoy en proceso de puesta en marcha no oficial de un dispositivo, y estoy atascado sin poder avanzar debido al Arranque Verificado de Android.

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

La pregunta que surge es cómo generar correctamente esa imagen. La documentación sobre el tema es extremadamente escasa y buscar archivos similares hechos por la comunidad con un editor hexadecimal no proporciona mucha información para mí. Como se menciona aquí, debería poder generar una con la herramienta avbtool, lo cual hice, muy probablemente de manera incorrecta, ya que sigue negándose a incluso flashearla a través de fastboot. La única forma que he encontrado de permitir algo así es flashear una imagen vbmeta en blanco, lo cual en términos falla al verificar el kernel y falla.

0 votos

Desde mi entendimiento, las banderas que mencionaste sólo se utilizan durante el fastboot 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 vbmeta.img vacío que se puede usar para deshabilitar 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 en aquí.

Tengo un árbol fuente de Android Q AOSP conmigo. Por lo tanto, utilicé avbtool from this to create an empty vbmeta image by issuing following commands.

$ 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 de vbmeta primero puedes arrancar tu dispositivo en modo fastboot, desbloquear el bootloader del dispositivo y utilizar 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 deshabilitación aún permanece, pero supongo que abriré una nueva pregunta específicamente para eso. Gracias

0 votos

¿Este img está relacionado con la plataforma del dispositivo? ¿Qué pasa si uso otro img creado sin construir AOSP yo mismo?

1 votos

@yurenchen según mi conocimiento, no importa, pero puede variar según el modelo de 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