Le support LTS des noyaux Linux réduit de 6 à 2 ans
Publié par Clément Bohic le - mis à jour à
Retour à l'ancienne politique de support pour les noyaux Linux LTS. Google, qui avait impulsé une extension, a depuis lors adapté Android pour moins en dépendre.
Assurer six ans de support pour les noyaux Linux est-il encore tenable ? La réponse apportée lors de l'Open Source Summit Europe est non.
Les prochaines versions LTS n'auront plus que deux ans de durée de vie. Une décision imputée pour partie à un « faible usage » des kernels sur la longueur. Mais aussi et surtout à un manque de ressources de maintenance.
Introduits en 2017, les six ans de support étaient, sur le papier, optionnels. Dans la pratique, ils ont systématiquement été appliqués. Ils resteront d'actualité pour toutes les LTS actuellement prises en charge (de la 4.14 à la 6.1).
Cette extension de support ciblait notamment l'IoT... ainsi que les appareils Android. Elle avait d'ailleurs été officialisée par Google, dans le cadre d'une présentation consacrée au projet Treble. Lequel a abouti aux GSI (images système génériques).
Ces implémentations stock d'AOSP utilisables sur plusieurs devices allaient trouver une continuité quatre ans plus tard en l'objet des GKI (Generic Kernel Images). Avec elles, l'adaptation du noyau Linux aux appareils Android est simplifiée : la prise en charge du SoC et de la carte mère est déplacée vers des modules de fournisseur.
Avant l'ère GKI, le processus impliquait un enchaînement de forks :
- Modification du noyau Linux LTS avec des correctifs spécifiques (wake locks, gestion des appels...), ce qui donnait le « noyau commun Android »
- Modification de ce noyau commun pour le rendre compatible avec les différents SoC
- Transmission aux OEM, qui ajoutent pilotes de périphériques et personnalisations
Deux ans de Linux LTS : le défi pour Android
Ce système apporte une compatibilité descendante entre toutes les versions d'Android prenant en charge un noyau. Et, en parallèle, une rétrocompatibilité de l'OS avec les noyaux GKI des versions précédentes.
Au bout du compte, le cycle de développement des terminaux s'accélère. Un élément d'autant plus important quand un noyau n'a que deux ans de prise en charge. Google l'avait souligné en 2017 : généralement, au moment où un appareil Android arrive sur le marché, son kernel est déjà presque en fin de vie... et dont le groupe américain doit alors récupérer la maintenance, pour honorer sa propre politique de support OS.
Les GKI n'ont pas résolu ce problème à la racine, mais l'ont atténué. Reste que pour le moment, les appareils Android ne reçoivent globalement pas de mises à jour majeures de Linux. Chaque version d'Android doit donc prendre en charge de multiples noyaux (cf. matrice de compatibilité).
Google projette néanmoins de s'appuyer sur son projet Mainline pour diffuser, à terme, des mises à jour du noyau par l'intermédiaire du Play Store. Il vise aussi une approche upstream-first qui le verrait intégrer ses correctifs à la source.
Illustration principale © sakkmesterke - Adobe Stock