Las DSU de Android 10 pueden permitirle probar actualizaciones OTA sin comprometerse

¿Alguna vez quisiste probar una actualización sin actualizarla realmente? DSU en Android 10 está diseñado para eso, pero actualmente es limitado. Eso podría cambiar pronto.

El sistema operativo Android y la fragmentación del nivel de seguridad son un gran problema en el que Google está invirtiendo muchos esfuerzos de ingeniería para combatir. En los últimos dos años, Google anunció dos iniciativas importantes diseñadas para acelerar la implementación de actualizaciones: Proyecto agudos y Línea principal del proyecto. Esto último sólo se anunció en mayo de este año durante Google I/O 2019y solo es compatible con dispositivos que ejecutan Android 10. El primero, sin embargo, ha existido desde Google I/O 2017, entonces hemos visto el impacto que ha tenido en las actualizaciones de Android con Android 9 Pie y androide 10.

Además de reducir la fragmentación, Google también quiere que Project Treble sea útil para los desarrolladores de aplicaciones. Por eso dieron a conocer Actualizaciones dinámicas del sistema

(DSU) en Android 10 para permitir a los desarrolladores probar una versión básica de una nueva actualización del sistema operativo sin desbloquear el gestor de arranque ni borrar datos. Al ver el potencial de DSU, Google no se detiene allí: está ampliando su utilidad al hacer posible que las actualizaciones OTA de los OEM se instalen de la misma manera que se instalan las GSI.

Es mucha jerga, pero imagina que esto suceda en el futuro: un OEM lanza un teléfono con Android 10 e inicia un programa beta para Android 11. Está interesado en probar esta versión beta para ver las nuevas funciones, pero no quiere arriesgar la estabilidad de su controlador diario actual. En lugar de actualizar la actualización beta y luego esperar que esté perfectamente estable, ¿por qué no instalarla temporalmente a través del flujo DSU? Si no te gusta, simplemente reinicia y tu configuración volverá a la normalidad. Si te gusta, puedes "comprometerte" con la actualización.

No sé ustedes, pero este sería un cambio bienvenido en Android que haría que las pruebas beta fueran más agradables. Ya no tendrías que comprometerte con una actualización beta sólo para ver cómo es por ti mismo. Estoy seguro de que muchos de ustedes están ansiosos por ver una versión beta de Android 10 para su dispositivo, pero es posible que no se sientan cómodos instalándola de inmediato. Con los cambios introducidos en el ESD, esto ya no sería motivo de preocupación.

Actualizaciones dinámicas del sistema en Android 10+: qué está cambiando

Luca Stefani, un amigo del Portal XDA y un Desarrollador reconocido, nos informó sobre un nuevo compromiso fusionado en AOSP titulado "montar múltiples particiones DSU cuando estén presentes". La confirmación realiza cambios en la tabla del sistema de archivos (fstab) y en el proceso de inicio para que las particiones DSU distintas del sistema, que por ahora incluyen el producto y el proveedor, puedan montarse durante el arranque proceso.

Nuevo código en fstab para agregar soporte para cargar imágenes product_gsi y seller_gsi en lugar de las particiones de producto y proveedor existentes, respectivamente. Un comentario señala que las DSU pueden ser firmadas por el OEM, pero por lo demás son compatibles con las GSI oficiales de Google.

Actualmente, DSU está diseñado para permitirle iniciar solo una imagen genérica del sistema (GSI), una imagen básica del sistema compilada desde AOSP, para que pueda probar las nuevas API y otros cambios en la última actualización de Android. Sin embargo, con este cambio, DSU también aceptará imágenes de productos y proveedores. El primero contiene aplicaciones, bibliotecas y otros archivos específicos del dispositivo, mientras que el segundo contiene archivos binarios específicos del dispositivo. Project Treble hizo que puedas iniciar un dispositivo usando una imagen del sistema sin archivos específicos del dispositivo, por lo que ahora permitir la carga de productos y proveedores no parece tener mucho sentido.

Sin embargo, un ingeniero de Google dice explícitamente que este cambio es para "permitir a los OEM [instalar] paquetes OTA en /data y luego usar [el] flujo 'DSU' para montar product.img, system.img, [y] proveedor.img de /data." Esto significa que, en lugar de sobrescribir la instalación actual con el nuevo paquete OTA, la OTA se puede cargar temporalmente vía ESD. Después de probar la actualización OTA, "el usuario puede decidir si quiere 'confirmar' esas imágenes en /super o no". Esta última parte sobre "Confirmar" los cambios todavía está en proceso, como señala un ingeniero de Google que "actualmente no tenemos un plan para crear particiones DSU permanente en el contexto del ESD". Luego afirma cómo podría implementarse esto, pero que esta implementación está "más allá del alcance" de este parche actual.

Hay algunos términos y conceptos que debemos explicar aquí porque a Google le gusta cambiar el esquema de partición en cada versión de Android. Para empezar, recomiendo leer mi artículo anterior sobre Actualizaciones dinámicas del sistema para obtener una descripción general amplia de cómo funciona, pero en resumen, aprovecha el concepto de "partición dinámica", una partición real de almacenamiento (llamada la "súper" partición) que se divide en particiones lógicas de tamaño variable (incluidos sistema, proveedor, producto y system_ext), para instalar temporalmente una GSI. Al instalar un GSI, DSU crea espacio para el nuevo sistema y las imágenes de datos de usuario al cambiar el tamaño de la partición de datos de usuario existente. Los componentes básicos para la compatibilidad con DSU (particiones dinámicas, un disco ram y puntos de control para copias de seguridad de datos) son requisitos de lanzamiento para androide 10, por lo que cualquier dispositivo que se inicie con la nueva versión del sistema operativo Android debería ser compatible con DSU. DSU no es la solución de arranque dual para ROM personalizadas que algunos de ustedes buscan, porque solo se pueden instalar imágenes que coincidan con las claves de arranque verificado de Android (AVB). Sin embargo, con este nuevo cambio, podría resultar mucho más útil en el futuro.

Además de las particiones dinámicas, Google también introdujo el concepto de "A/B virtual" en Android 10. Esto es básicamente una implementación de la particiones duales A/B desde antes, pero con particiones lógicas. Las particiones A/B implican copias de particiones importantes para permitir actualizaciones seguras y sin problemas. Usando "virtual A/B" es como un ingeniero de Google imagina "confirmar" las particiones DSU en las particiones de la instalación actual; Al igual que con el proceso actual de actualización A/B OTA, quizás los cambios de las nuevas imágenes se realicen en la partición inactiva.

Estos cambios aún están en desarrollo y podrían pasar algún tiempo antes de que Google o los OEM los utilicen. Nosotros Probablemente no veamos ninguna implementación de esto hasta que, como muy pronto, se lance Android 11 R el próximo año. año. Aun así, no hay garantía de que los OEM adopten esta función para sus actualizaciones OTA. Sin embargo, dado lo útil que parece ser para las pruebas beta, imagino que Google ya está trabajando con los OEM interesados ​​para habilitar esta función en futuras actualizaciones. Personalmente, me entusiasma la posibilidad de probar antes de comprar nuevas actualizaciones de Android, pero ¿y tú?