Les DSU Android 10 peuvent vous permettre d'essayer les mises à jour OTA sans vous engager

Vous avez toujours voulu essayer une mise à jour sans réellement mettre à jour? DSU dans Android 10 est conçu pour cela, mais il est actuellement limité. Cela pourrait bientôt changer.

La fragmentation du système d'exploitation Android et du niveau de sécurité est un énorme problème pour lequel Google investit beaucoup d'efforts d'ingénierie pour lutter. Au cours des deux dernières années, Google a annoncé deux initiatives majeures destinées à accélérer le déploiement des mises à jour: Projet triple et Ligne principale du projet. Cette dernière n'a été annoncée qu'en mai dernier lors Google E/S 2019, et il n'est pris en charge que sur les appareils lancés avec Android 10. Le premier, cependant, existe depuis Google E/S 2017, nous avons donc vu l'impact que cela a eu sur les mises à jour Android avec Android 9 Pie et Android 10.

En plus de réduire la fragmentation, Google souhaite également que Project Treble soit utile aux développeurs d'applications. C'est pourquoi ils ont dévoilé Mises à jour dynamiques du système

(DSU) dans Android 10 pour permettre aux développeurs d'essayer une version simple d'une nouvelle mise à jour du système d'exploitation sans déverrouiller le chargeur de démarrage ni effacer les données. Voyant le potentiel de DSU, Google ne s'arrête pas là: ils étendent son utilité en permettant aux mises à jour OTA des OEM d'être installées de la même manière que les GSI.

C'est beaucoup de jargon, mais imaginez que cela se produise dans le futur: un OEM lance un téléphone avec Android 10 et lance un programme bêta pour Android 11. Vous souhaitez essayer cette version bêta pour découvrir les nouvelles fonctionnalités, mais vous ne voulez pas risquer la stabilité de votre pilote quotidien actuel. Au lieu de flasher la mise à jour bêta et d'espérer qu'elle soit parfaitement stable, pourquoi ne pas l'installer temporairement via le flux DSU? Si vous ne l'aimez pas, redémarrez simplement et votre configuration reviendra à la normale. Si vous l’aimez, vous pouvez « vous engager » dans la mise à jour.

Je ne sais pas pour vous, mais ce serait un changement bienvenu pour Android qui rendrait les tests bêta plus agréables. Vous n’aurez plus besoin de vous engager dans une mise à jour bêta juste pour voir à quoi cela ressemble par vous-même. Je suis sûr que beaucoup d'entre vous ont hâte de voir une version bêta d'Android 10 pour votre appareil, mais vous ne serez peut-être pas à l'aise de l'installer tout de suite. Avec les modifications apportées au Mémorandum d'accord, cela ne serait plus un problème.

Mises à jour dynamiques du système dans Android 10+ – Ce qui change

Luca Stefani, un ami du portail XDA et un Développeur reconnu, nous a informé d'un nouveau commit fusionné dans AOSP intitulé "monter plusieurs partitions DSU lorsqu'elles sont présentes". Le commit apporte des modifications à la table du système de fichiers (fstab) et au processus d'initialisation pour faire en sorte que les partitions DSU autres que le système, incluant pour l'instant le produit et le fournisseur, puissent être montées pendant le démarrage processus.

Nouveau code dans fstab pour ajouter la prise en charge du chargement des images product_gsi et supplier_gsi à la place des partitions produit et fournisseur existantes respectivement. Un commentaire indique que les DSU peuvent être signés par l'OEM, mais prennent par ailleurs en charge les GSI officiels de Google.

Actuellement, DSU est conçu pour vous permettre uniquement de démarrer une image système générique (GSI), une image système barebones compilée à partir d'AOSP, afin que vous puissiez tester les nouvelles API et autres modifications de la dernière mise à jour Android. Cependant, avec ce changement, DSU acceptera également les images de produits et de fournisseurs. Le premier contient des applications, des bibliothèques et d'autres fichiers spécifiques à l'appareil, tandis que le second contient des binaires spécifiques à l'appareil. Project Treble a permis de démarrer un périphérique en utilisant une image système sans fichiers spécifiques au périphérique. Par conséquent, autoriser désormais le chargement du produit et du fournisseur ne semble pas avoir beaucoup de sens.

Cependant, un ingénieur de Google indique explicitement que ce changement vise à « permettre aux OEM [d'] installer des packages OTA sur /data, puis d'utiliser [le] flux 'DSU' pour monter product.img, system.img, [et] supplier.img de /data." Cela signifie que, plutôt que d'écraser l'installation actuelle avec le nouveau package OTA, l'OTA peut être temporairement chargé via le Mémorandum d'accord sur le règlement des différends. Après avoir testé la mise à jour OTA, "l'utilisateur peut décider s'il souhaite" valider "ces images dans /super ou non." Cette dernière partie sur La "validation" des modifications est toujours en cours, comme le note un ingénieur de Google: "actuellement, nous n'avons pas l'intention de créer des partitions DSU". permanent dans le cadre du Mémorandum d'accord sur le règlement des différends." Il indique ensuite comment cela pourrait être mis en œuvre, mais que cette mise en œuvre "dépasse la portée" de ce présent patch actuel.

Nous devons expliquer certains termes et concepts ici, car Google aime modifier le schéma de partition dans chaque version d'Android. Pour commencer, je vous recommande de lire mon article précédent sur Mises à jour dynamiques du système pour un aperçu général de son fonctionnement, mais en résumé, il tire parti du concept de « partition dynamique », une véritable partition de stockage (appelée la "super" partition) qui est divisée en partitions logiques redimensionnables (incluant le système, le fournisseur, le produit et system_ext), pour installer temporairement un GSI. Lors de l'installation d'un GSI, DSU crée de l'espace pour les nouvelles images système et de données utilisateur en redimensionnant la partition de données utilisateur existante. Les éléments constitutifs de la prise en charge de DSU (partitions dynamiques, disque virtuel et points de contrôle pour les sauvegardes de données) sont les exigences de lancement pour Android 10, donc tout appareil lancé avec la nouvelle version du système d'exploitation Android doit prendre en charge DSU. DSU n'est pas la solution à double démarrage pour les ROM personnalisées que certains d'entre vous recherchent, car seules les images correspondant aux clés Android Verified Boot (AVB) peuvent être installées. Cependant, avec ce nouveau changement, cela pourrait s’avérer bien plus utile à l’avenir.

En plus des partitions dynamiques, Google a également introduit le concept « A/B virtuel » dans Android 10. Il s'agit essentiellement d'une mise en œuvre du doubles partitions A/B d'avant, mais avec des partitions logiques à la place. Les partitions A/B impliquent des copies de partitions importantes pour permettre des mises à jour transparentes et sécurisées. L'utilisation de « A/B virtuel » est la façon dont un ingénieur de Google envisage de « valider » les partitions DSU sur les partitions de l'installation actuelle; comme avec le processus de mise à jour A/B OTA actuel, les modifications apportées aux nouvelles images sont peut-être apportées à la partition inactive.

Ces changements sont encore en développement et pourraient prendre un certain temps avant d'être utilisés par Google ou les OEM. Nous nous ne verrons probablement aucune implémentation de cela jusqu'à ce qu'Android 11 R soit publié au plus tôt année. Même ainsi, rien ne garantit que les OEM adoptent même cette fonctionnalité pour leurs mises à jour OTA. Compte tenu de l’utilité de cette fonctionnalité pour les tests bêta, j’imagine que Google travaille déjà avec les OEM intéressés pour activer cette fonctionnalité pour les futures mises à jour. Je suis personnellement enthousiasmé par la perspective d’essayer avant d’acheter de nouvelles mises à jour Android, mais qu’en est-il de vous ?