IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Android : Google dit comment il compte s'arrimer aux versions vanilla du noyau Linux
Pour éliminer la fragmentation de l'écosystème

Le , par Patrick Ruiz

135PARTAGES

9  0 
Google travaille à faire en sorte que son système d’exploitation pour mobiles (Android) s’appuie sur des versions vanilla du noyau Linux. L’entreprise a présenté ses avancées en la matière lors de l’édition 2019 de la dernière Linux Plumbers Conference (LPC). De façon brossée, il s’agit d’apporter des modifications au cycle de vie d’une version du système d’exploitation Android.

En effet, à partir d’une version LTS du noyau Linux, l’équipe Android publie une mise à jour du système d’exploitation dénommée Android Common Kernel. Les fabricants de puces (Qualcomm, Samsung Exynos, etc.) effectuent les premiers des modifications de cette dernière pour l’adapter aux puces qui équiperont les appareils. La version modifiée par les fabricants de puces est ensuite mise à la disposition des fabricants d’équipements tels que Samsung, LG, HTC, etc. qui eux aussi procèdent à leur tour à des personnalisations pour l’adapter à leurs appareils. Le processus est long et fastidieux et a de nombreuses répercussions : fragmentation de l’écosystème Android, retards dans le déploiement des nouvelles versions du système d’exploitation et des mises à jour de sécurité…

À titre d’exemple, le smartphone Pixel 4 de Google disponible depuis octobre 2019 est livré avec une version d’Android qui s’appuie sur le noyau Linux 4.14 – une version LTS de novembre 2017. Une fois de plus la raison d’un tel état de choses est consignée dans l’illustration qui suit :


Lors de l’édition 2018 de la Linux Plumbers Conference, les équipes de Google ont commencé à partager sur l’approche à adopter pour pallier les problèmes posés par l’actuel cycle de vie d’une version du système d’exploitation. Cette année, elles sont, dans une présentation de près de 4 heures, allées dans plus de détails. La solution de Google : proposer une ABI stable pour les noyaux Android.

Lors de l’édition 2019 de la Linux Plumbers Conference, l’équipe de Google a procédé à la présentation d’une architecture particulière du système d’exploitation Android qui s’appuie sur les bases posées par le projet Treble. Grosso modo, il s’agit pour Google de proposer une image générique du noyau (GKI) accompagnée de modules génériques du noyau. Google prévoit que cet ensemble expose une ABI et une API stables. Les pilotes dédiés aux architectures matérielles spécifiques sont alors chargés comme modules du noyau. D’après l’équipe Google, la manœuvre devrait, via la modularisation, de réduire voire d’éliminer la fragmentation de l’écosystème. Détail additionnel : la stabilisation ne vise que les versions du noyau Linux qui bénéficient d’un support à long terme (LTS). Deux branches sont citées : la 4.19.x et la 5.x.y (à date, pas de détail de la part de Google sur x et y).


Une approche sujette à controverse

On n’en est pas encore au définitif, car, de l’avis des ingénieurs de Google, le chemin à parcourir reste considérable. Néanmoins, l’approche de la firme n’est pas sans soulever de controverse. En effet, l’un des principes de la communauté Linux autour des noyaux vanilla est de fournir une ABI instable. La manœuvre permet d’amener les fabricants d’équipements à ouvrir les pilotes de leurs périphériques et à les intégrer aux branches de développement mainline.

En choisissant de fournir une ABI stable, Google fragilise ce dispositif. Ce positionnement vient avec à minima un avantage pour les OEM et autres : le code source de leurs pilotes peut rester fermé. Mais les inconvénients sont aussi présents : pas de mise à jour possible d’une version du noyau Linux à l’autre puisque seule une LTS est prise en charge par l’approche de Google.

En tout cas, il y a comme une espèce de guerre qui couve. En effet, les mainteneurs de noyaux vanilla sont clairs sur ceci qu’ils ne prennent pas en charge de bases de code en dehors des branches dédiées. Google pour sa part est lancé sur la voie opposée. C’est la capacité du géant de la Tech. à assurer un certain soutien technique aux fabricants qui vont s’engouffrer dans cette brèche qui est interpellée. En effet, la question est de savoir si Google est capable d’accrocher les ressources nécessaires à cette tâche afin de rivaliser à l’échelle du projet Linux.

Source : vidéo de la présentation LPC

Et vous ?

Que pensez-vous de l’approche de Google ?

Le système d’exploitation Android est-il le seul « dérivé » de Linux dans cette situation ?

Quelle est selon vous la meilleure approche pour l’arrimage d’Android aux versions vanilla du noyau Linux ?

Voir aussi :

Android est-il véritablement gratuit et open source ? Entres mythes et réalités, la question reste posée

USA : 71 % des smartphones Android fonctionnent avec des correctifs de sécurité obsolètes, une situation attribuée à la nature open source de l'OS

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de defZero
Membre extrêmement actif https://www.developpez.com
Le 23/11/2019 à 21:22
Que pensez-vous de l’approche de Google ?
Qu'elle ne colle pas avec l'esprit de la grande majorité de la communauté Linux.
Et qu'au lieu de vouloir changer le process de développement du noyaux pour qu'il s'adapte à leur désidérata, il ferait mieux de pousser pour que les constructeurs/OEMs libères leurs drivers en branche mainline.
Là il propose juste que la communauté leur face cadeau du noyau.
"Don't be evil" qu'il disait.

Le système d’exploitation Android est-il le seul « dérivé » de Linux dans cette situation ?
Non, tout développement commerciale voulant ce basé sur Linux va potentiellement ce retrouver dans cette situation s'ils ne veulent pas suivre la branche mainline du noyau et donc accessoirement fournir les sources des dit drivers (ce qui serait la moindre des choses puisque tout le reste leur est offert).
C'est pour cette raison qu'on ce retrouve avec des noyaux antédiluviens sur nos appareil utilisant Linux (et donc des failles de partout).

Quelle est selon vous la meilleure approche pour l’arrimage d’Android aux versions vanilla du noyau Linux ?
Android et Linux sont fondamentalement opposé dans leurs façon de faire.
Il n'est donc pas possible pour Google d'utilisé la communauté à sa guise et pour sont propre intérêt, comme il n'est visiblement pas possible pour la communauté de s'attendre à ce que Google leurs facilite la vie en demandant à ses partenaires commerciaux, de libérer leur drivers (ou les spec complete, on s'en contenterai ).

Enfin bon, Google dit plein de chose, mais les promesses n'engagent que ceux qui y croient.
2  0 
Avatar de phil995511
Membre éprouvé https://www.developpez.com
Le 21/11/2019 à 21:31
Il est juste de signaler qu'ils font tourner de vieux noyaux, remarquez que si ils sont parchés en interne malgré leur âge comme c'est le cas chez Red Hat, il ne devrait pas trop y avoir de problèmes.

Adopter une compatibilité avec les futures sources vanilla assurerait à Google de fournir moins de travail à patcher en interne. Si les fabricants de puces et de téléphones fournissaient leurs drivers & softwares directement sous la forme d'images snaps / flatpaks, cela mettrai un sacré coup de turbo à leur système... et on pourrait avoir couramment des kernels en toute dernière version sur nos smartphones Androids.

Pour moi, le gros problème des smartphones Android est qu'ils ne sont plus patchés du tout au niveau sécurité 3 ans après la date de sortie d'un modèle sur le marché. De plus, d'après ce que j'ai pu lire, il semblerai que les constructeurs font +/- sérieusement leur travail de sécurisation de leurs smartphones selon leur +/- bonne volonté...

Ce qu'il faut c'est un canal de diffusion unique de cet OS, via Google, tel que c'est le cas avec tous les fournisseurs d'OS à part eux et que des mises-à-jour régulières soient garanties durant 5 ans au grand minimum.
1  0 
Avatar de matthius
Inactif https://www.developpez.com
Le 21/11/2019 à 11:11
Et Vega explosa. La gestion du byte-code serait facilement centralisée avec des entreprises publiques ou du logiciel appartenant réellement à l'aérospatiale.

Le libre intervient par exemple par savoir-faire linux pour au moins mettre plus facilement d'accord les entreprises privées de logiciel.
0  3