4.2 Secuencia de flasheo con fastboot: slots A/B y particiones críticas

4.2 Secuencia de flasheo con fastboot: slots A/B y particiones críticas

En GrapheneOS, la arquitectura de actualizaciones aprovechando particiones A/B garantiza robustez y recuperación ante fallos. A continuación describimos en detalle la secuencia de flasheo manual con fastboot, enfocado en la gestión de slots y particiones críticas.

4.2.1 Conceptos clave

Antes de profundizar en la secuencia, conviene repasar dos nociones fundamentales:

  • Slots A/B: Cada dispositivo dispone de dos juegos de particiones («A» y «B»). Sólo un slot está activo en cada arranque el otro permanece inactivo pero listo para recibir una imagen limpia.
  • Particiones críticas: Incluyen boot, system, vendor, vbmeta y, en algunos dispositivos, dtbo y product. Su correcta actualización es esencial para preservar la integridad del sistema.

4.2.2 Precondiciones

  1. Tener instaladas las herramientas de Android Platform Tools (fastboot).
  2. Desbloquear el bootloader con fastboot flashing unlock, siguiendo las indicaciones de tu dispositivo.
  3. Conectar el dispositivo en modo fastboot (bootloader) al equipo.
  4. Disponer de las imágenes oficiales de GrapheneOS descomprimidas en una carpeta local.

4.2.3 Secuencia paso a paso

  1. Comprobar slot activo:

    Ejecute fastboot getvar current-slot para conocer el slot en uso (A o B).

  2. Seleccionar slot inactivo:

    Si el slot activo es A, establezca B como destino (y viceversa):

    1. fastboot --set-active=b (o --set-active=a según corresponda).
    2. Verifique con fastboot getvar current-slot.
  3. Actualizar particiones críticas:

    Secuencialmente, flashee cada partición al slot seleccionado. Por ejemplo, si el slot es «b»:

    fastboot flash boot_b boot.img
    fastboot flash system_b system.img
    fastboot flash vendor_b vendor.img
    fastboot flash vbmeta_b vbmeta.img –disable-verity –disable-verification
    fastboot flash dtbo_b dtbo.img (si existe)
    fastboot flash product_b product.img (si existe)
  4. Verificar el flasheo:

    Ejecute fastboot flash --list o compruebe sumas SHA-256 de los archivos .img para asegurar integridad.

  5. Reiniciar en slot actualizado:

    Una vez completado, inicie el dispositivo con fastboot reboot. El dispositivo arrancará desde el slot recién flasheado.

  6. Comprobación final:

    Dentro de GrapheneOS, vaya a Ajustes > Sistema > Información del teléfono y confirme la versión y fecha de compilación.

4.2.4 Tabla de particiones críticas

Partición Función
boot Carga el kernel y el initramfs
system Contiene el sistema operativo Android/base de GrapheneOS
vendor Drivers y bibliotecas específicas del hardware
vbmeta Metadatos de verificación de arranque seguro (dm-verity, AVB)
dtbo Overlays del Device Tree (según hardware)
product Componentes opcionales de fabricante

4.2.5 Recomendaciones adicionales

  • Siempre confirme la versión de fastboot (mín. 31.0.0) y actualice Platform Tools si es necesario.
  • Realice un respaldo de datos antes de desbloquear o flashear.
  • Siga meticulosamente el orden de particiones para evitar pantallas de arranque interrumpido.
  • Al actualizar vbmeta, utilice los flags --disable-verity --disable-verification para mantener la compatibilidad con GrapheneOS.

Con esta serie de pasos, habrá ejecutado el flasheo en un entorno A/B de forma fiable y profesional, asegurando la integridad y la continuidad del sistema GrapheneOS.

Profundizando sobre: 4.2 Secuencia de flasheo con fastboot: slots A/B y particiones críticas

Libros:

  • “Android Security Internals” por Nikolay Elenkov – Profundiza en particiones críticas y arranque seguro.
  • “Android Internals: A Confectioner’s Cookbook” por Jonathan Levin – Capítulos dedicados a fastboot y gestión de slots A/B.

Documentación oficial:

Artículos y blogs:

Repositorios de código:

Vídeos:

Comunidades y foros:

PreviusNext


¿Necesitas ayuda con este punto? Nuestra IA te puede ayudar

  • Hola 👋 , soy la IA de Synzen.org, puedes preguntarme siempre sobre la página donde estás leyendo, yo también la leo, así que puedo ayudarte a entenderlo, expandirlo, ponerte ejercicios…¡y mucho más!
Quiero saber más sobre… ...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *