Différence entre le mainline et le downstream
En informatique, notamment dans l'organisation d'Android/AOSP, de Linux et de son noyau, sur les appareils mobiles[1].
Cette page a notamment pour vocation à expliquer (ou vulgariser) les raisons d'absences de mises à jour sur différents appareils android, et le pourquoi certains de ces appareils sont restreints à une version spécifique du noyau Linux.
Explication simple
modifierDifférencier le Downstream du Mainline
- Downstream : le logiciel fourni par le fabricant, qui dépend entièrement de sa volonté à le mettre à jour, ce qui est peu souvent le cas, et peut poser problème
- Mainline : le logiciel Android/AOSP le plus récent, récupérant le noyau Linux directement auprès du projet, et bénéficiant ainsi des dernières mises à jour, notamment de sécurité
Principe détaillé
modifierLes fabricants de téléphones, de tablettes ou d'appareils fonctionnant sur Android/AOSP, ont pour base le noyau Linux. Ces fabricants (Samsung, Xiaomi, Huawei, Oneplus, etc..) récupèrent le système Android/AOSP, ainsi que le noyau Linux qui l'accompagne, pour les intégrer sur leurs appareils[2]. Ils rajoutent également une "couche logicielle" contenant diverses applications du fabricant[3].
Cet ensemble d'Android/AOSP, et de surcouche du fabricant, est appelée Stock image dans le jargon, précisant qu'il s'agit de celle d'origine, fournie par le constructeur de l'appareil[4].
Dans ce fonctionnement, le rôle de Google se limite de fournir le système Android/AOSP, avec le noyau Linux dans sa base. C'est ensuite au fabricant d'adapter le logiciel de Google à ses appareils[5]. Mais souvent, ces appareils ne sont mis à jour que pendant quelques années, deux ou quatre ans maximum, pour ceux qui font cet effort[6]. La plupart sont réticents, ne prenant en charge le support logiciel (et donc les mises à jour) que pendant quelques années tout au plus, ce qui expose l'appareil à moult menaces de sécurité informatique[1].
Également, c'est aussi ce qui explique que certains appareils ne peuvent pas faire fonctionner de version d'Android/AOSP plus récent, ou de système tiers (Sailfishos, ubuntu touch) dans le sens où ces version, si plus récentes, auront sans doute un noyau Linux dont la compatibilité, de par son caractère plus récent à celui fourni par le fabricant, n'est plus compatible avec les composants matériels (appareil photo, bluetooth..) ce qui explique l'absence de port logiciel de LineageOS (ou d'autre système) sur certains appareils.
Notes et références
modifier- « Noyaux communs Android » (consulté le )
- « Mainlining - postmarketOS » (consulté le )
- « Mainline_Linux_on_recent_Qualcomm_SoCs_Fairphone_4.pdf »
- « msr24_linux.pdf »
- « FOSDEM24_-_Mainline_Linux_on_Qualcomm_SoCs_are_cW72KOo.pdf »
- « Moving Google toward the mainline [LWN.net] » (consulté le )