En discutant avec le développeur principal de TWRP, Dees_Troy, à ce sujet, nous pensons qu'il pourrait être possible d'exploiter des mises à jour transparentes pour fournir un double démarrage.
Lors du Google I/O de cette année, Google officiellement introduit Android Nougat ce qui a apporté plusieurs améliorations de convivialité indispensables à ceux d’entre nous qui ont la chance de posséder un appareil Nexus moderne. Certaines fonctionnalités décrites par Google lors de Google I/O n'ont pas été intégrées aux versions finales de production de Nougat. pour les appareils Nexus actuels, notamment mises à jour transparentes.
De nombreux utilisateurs ont été déçus par la révélation selon laquelle les mises à jour transparentes ne seraient présentes que sur les appareils qui bateau avec Android Nougat, mais pour ceux d'entre nous qui envisagent de passer à suivant Lien Appareils Pixel nous avons une nouvelle fonctionnalité géniale à espérer. Cependant, depuis Google I/O, nous n'avons pas vraiment vu de détails supplémentaires sur cette nouvelle fonctionnalité.
Cela n’a cependant pas empêché certains des plus curieux d’entre nous de comprendre comment exactement Google prévoit de faire fonctionner les mises à jour transparentes. Ethan Yonker, qui porte le pseudonyme Dees_Troy et est surtout connu pour son travail en tant que développeur principal sur le Projet de récupération de victoire d'équipe, Colombe directement dans le code source de Nougat publié par Google afin de comprendre à quoi il a affaire lorsque les appareils Pixel seront inévitablement commercialisés. Google a apporté des modifications intéressantes à la disposition des partitions des prochains appareils Pixel - et grâce au travail astucieux des développeurs sur nos forums, Dees_Troy suppose que le double démarrage peut être possible.
Les téléphones Pixel de Google et leurs partitions
Au cas où vous ne le sauriez pas, le stockage de votre téléphone est divisé en plusieurs mémoires internes standards cloisons. Les partitions que vous connaissez probablement le mieux sont /boot, /system, /data, /recovery et /cache, mais si vous êtes intéressé, vous pouvez rechercher le table de partition réelle sur votre appareil. La quantité d'espace de stockage dont vous disposez, en tant qu'utilisateur, est déterminée par la taille allouée à la partition /data. D’un autre côté, /system est l’endroit où résident la plupart des fichiers du système d’exploitation Android. Redimensionner ces deux partitions pour un espace approprié pour davantage d'applications utilisateur ou peut-être une nouvelle version d'Android est nécessaire. certainement possible, mais le processus peut être risqué et, en général, ce n'est pas quelque chose que vous devriez attendre de votre appareil.
Généralement, lorsque vous mettez à jour, seuls les fichiers de /system sont modifiés et les mises à jour sont appliquées au niveau du bloc, de sorte que dm-verity reste ininterrompu. Chaque fois que vous mettez à jour votre appareil, vous ne pouvez généralement pas l'utiliser activement. Au lieu de cela, vous devez attendre la récupération pour modifier tous les fichiers nécessaires dans chaque partition. Cela permet d'éviter tout problème potentiel dû au système d'exploitation Android qui tente d'accéder à un fichier en cours de traitement. mis à jour, mais d'un autre côté, cela signifie que les utilisateurs doivent passer plusieurs minutes à regarder le logo de récupération Android appliquer un mise à jour.
Avant Android Nougat, chaque appareil n'était livré qu'avec une seule copie de chaque partition. Cela est logique pour la plupart des smartphones Android: l'espace de stockage est limité (du moins c'est ce qu'on nous fait croire), alors pourquoi s'embêter avec la redondance de plusieurs partitions de sauvegarde? La réponse à cette question réside dans des mises à jour transparentes. L'autre incursion de Google dans les systèmes d'exploitation - Chrome OS - s'est avérée extrêmement fructueuse. Android emprunte en fait le concept de mises à jour transparentes à Chrome OS. Chrome OS réalise des mises à jour transparentes en mettant à jour un ensemble de partitions redondantes et inactives en arrière-plan, puis en échangeant immédiatement ces partitions avec celles actuellement actives avant le démarrage.
Au départ, nous pensions que les téléphones livrés avec Nougat préinstallé ne seraient livrés qu'avec une partition secondaire/système. Selon Dees_Troy, les téléphones Pixel seront livrés avec deux copies de la plupart, sinon de la totalité, des partitions du périphérique.
Les nouveaux téléphones Pixel auront 2 partitions système, 2 partitions de démarrage, 2 partitions fournisseur, 2 partitions modem, etc. Un ensemble de partitions sera actif: l'ensemble de partitions actuellement utilisées pour démarrer le périphérique. Lorsqu'une mise à jour est publiée, la mise à jour sera appliquée au deuxième ensemble en arrière-plan. Une fois la mise à jour appliquée, une invite apparaîtra vous demandant de redémarrer. Le redémarrage n'inclura pas le démarrage vers la récupération. Au lieu de cela, le périphérique basculera l'ensemble de partitions utilisé vers le deuxième ensemble et vous démarrerez rapidement, peut-être presque instantanément, un périphérique mis à jour. -Dees_Troy
Téléphones Pixel à double démarrage et mises à jour de ROM personnalisées transparentes?
Avec deux copies de chaque partition, Dees_Troy prédit que nous pourrons peut-être détourner le deuxième ensemble de partitions pour effectuer un double démarrage. Si vous utilisez l'un des rares appareils prenant en charge le Projet MultiROM, vous connaissez peut-être la perspective des ROM à double démarrage. Si vous avez déjà joué avec MultiROM, alors vous êtes tout à fait conscient que les méthodes qu'ils utilisent sont fondamentalement un ensemble géant de hacks pour le faire fonctionner Android. Dans chaque thread XDA fournissant MultiROM sur un appareil, il y a un grand avertissement près du haut avertissant les utilisateurs qu '"aucun de ces systèmes n'est conçu avec le multidémarrage dans "Je pense que" il est possible que quelque chose se passe mal et que vous deviez flasher à nouveau les images d'usine. " Mais avec Google nous fournissant gracieusement un deuxième ensemble de partitions avec lesquelles travailler, Dees_Troy s'attend à ce que nous puissions faire fonctionner le double démarrage sur les téléphones Pixel avec une certaine coopération entre les différents membres de la ROM communauté.
Si nous pouvons détourner la deuxième partition définie sur le double démarrage, nous pourrions alors potentiellement utiliser ces partitions secondaires pour implémenter mises à jour transparentes pour les ROM personnalisées aussi. Donc, si vous êtes l'un des nombreux utilisateurs nocturnes dédiés de CyanogenMod, vous pourrez peut-être mettre à jour la dernière version tous les soirs sans avoir à redémarrer votre téléphone en mode récupération tous les soirs. Même si les scripts de récupération ouverte de TWRP et les différents outils de mise à jour delta ont considérablement réduit le temps et les efforts nécessaires. requis pour effectuer une mise à jour nocturne, la mise à jour transparente de votre ROM en arrière-plan surpasse définitivement tous les autres choix.
Notez que nous ne pouvons pas être sûrs que ces fonctionnalités fonctionneront tant que nous n'aurons pas des appareils fonctionnels en main, mais étant donné Dees_Troy sur TWRP et ses recherches sur le code source de Nougat, nous pensons que cette spéculation est hautement crédible.
Bien que toutes ces fonctionnalités à venir et probables semblent positives, nous avons également découvert de nombreux changements qui compliquent le développement sur les prochains appareils Pixel. Nous les détaillerons dans un autre article prévu pour demain, mais en attendant, gardez votre battage médiatique sous contrôle !