LuneOS « Doppio » est sortie

Posté par . Édité par bobble bubble, Davy Defaud, ZeroHeure et palm123. Modéré par Pierre Jarillon. Licence CC by-sa.
Tags :
28
30
nov.
2018
Téléphonie

Enfin, après une longue attente, LuneOS est de retour avec une nouvelle version appelée « Doppio » ! Cette dernière devrait être une étape importante pour la suite de cette distribution dérivée de webOS.
Logo LuneOS

Sommaire

Petits rappels

LuneOS est une distribution GNU/Linux pour téléphones mobiles et tablettes, héritière de feu webOS. Le projet est porté par l’équipe webOS-Ports, dont le but est de faire revivre webOS sur les matériels contemporains.

Le projet s’appuie sur Yocto, Halium et SHR. Il utilise OpenEmbedded comme environnement de compilation. La version Doppio de LuneOS se base sur la version « Pyro » de Yocto.

À l’exception des blobs utilisés pour faire tourner les pilotes Android, l’ensemble de la distribution est libre : chacun peut, s’il le veut, recompiler sa propre image chez lui.

Mais que s’est‐il passé pendant cette année ?

Eh bien, comme on peut s’en douter, beaucoup de choses ! Cependant, cette fois‐ci, c’est surtout un travail sur les parties non visibles de la distribution qui a été fait, et je suis donc bien embêté pour insérer des captures d’écran…

Le Bluetooth

Pour commencer, la pile Bluetooth a été migrée de BlueZ 4 à BlueZ 5. Cela a nécessité un travail conséquent, mais complété avec succès pour le Nexus 4 et Nexus 5. Cependant cette migration n’a pas pu (encore ?) être faite pour la tablette HP Touchpad, en raison d’un noyau trop ancien.

L’intégration avec Halium

LuneOS travaille en étroite collaboration avec le projet Halium et s’est employé à mettre en commun tout ce qui était redondant. Tout cela vise à intégrer Halium plus facilement et à faciliter le portage vers des appareils plus récents. Des correctifs au noyau (principalement pour corriger la compatibilité GCC 5/6/7/8) ont par exemple été envoyés à Halium afin d’utiliser un code source commun.

Les téléphones

Du côté des appareils il y a du nouveau : depuis que Google a laissé tomber la ligne Nexus (abordable) et a lancé les Pixel (plutôt haut de gamme), il fallait trouver d’autres cibles qui seraient facilement disponibles, avec un budget limité et un bon soutien communautaire. Finalement, le choix s’est porté sur Xiaomi, qui propose des téléphones avec des spécifications décentes, un gestionnaire d’amorçage (bootloader) déverrouillable (même si parfois un peu fastidieux…) et de très bons rapports qualité/prix.

Le portage a donc été effectué sur trois appareils Xiaomi : le Redmi Note 4X (« Mido »), le Redmi 5 (« Rosy ») et le Mi A1 (« Tissot »). Ces appareils, aux spécifications matérielles assez proches, apportent deux nouveautés pour LuneOS : ils utilisent l’architecture ARM AArch64 et nécessitent Halium 7.1 (basé sur Android 7.1). En effet, tous les portages précédents reposaient sur Halium 5.1 (basé sur Android 5.1) et étaient 32 bits. Cela a apporté son lot de défis, et il y a encore quelques problèmes, mais l’audio, les capteurs, le Wi‐Fi et le Bluetooth fonctionnent aujourd’hui.

Le Xiaomi Mi A1 est un appareil un peu à part : celui‐ci a été choisi en collaboration avec LG pour y porter LuneOS, mais aussi comme cible pour le webOS OSE (Open Source Edition) de LG.

webOS OSE et collaboration avec LG

L’histoire commence avec l’annonce par LG de la sortie de webOS OSE (pour « OpenSource Edition »). webOS OSE est le successeur d’Open webOS et a été une grosse surprise. Cependant, le potentiel pour LuneOS est évident : webOS OSE représente en effet cinq années de développement du code de base d’Open webOS, qui, lui, est resté figé.
Il a été déployé sur des millions de téléviseurs LG et offre de grandes améliorations en termes de fiabilité et de fonctionnalités. Le gros inconvénient est cependant qu’il n’y a pas d’historique des changements entre Open webOS et webOS OSE, ce qui rend la migration un peu plus difficile…

Début juin, l’équipe LuneOS a rencontré LG à Paris pour discuter d’une collaboration entre les deux équipes. Cela a permis de prendre contact et de voir ce que chaque équipe pouvait tirer d’une collaboration. Le Xiaomi A1 a aussi été choisi en tant que nouvelle cible pour LuneOS, et sera un appareil commun aux expérimentation sur LuneOS et webOS OSE.

LG a une vision claire pour webOS ; depuis la sortie initiale en mars, une feuille de route a été publiée et LG a poussé sur quatre versions depuis la version originale de webOS OSE.

La suite

Après cette version, l’accent sera mis sur la migration des composants Open webOS vers les composants plus à jour fournis par webOS OSE. Pour LuneOS, ça signifie beaucoup d’améliorations en termes de qualité du code, de stabilité et de fonctionnalités. Cela permet aussi d’alléger grandement la maintenance de ces composants du côté de la petite équipe webOS-Ports, qui pourra se concentrer sur les spécificités de LuneOS et aller de l’avant, tout en contribuant à webOS OSE.

Quelques problèmes connus :

  • un bogue sur les champs de saisie, que l’on peut contourner en cachant le clavier virtuel et en appuyant sur le champ de saisie à nouveau ;
  • un problème aléatoire avec le clavier virtuel ne se montrant pas sur les appareils AArch64.

Sur quels sujets se porteront ensuite les efforts ? On pourra noter :

  • bien‐sûr, la migration des composants Open webOS vers les nouveaux composants webOS OSE ;
  • une image VirtualBox avec une pile graphique plus récente ;
  • la migration vers Yocto version Sumo, voire Thud ;
  • l’amélioration de la messagerie ;
  • l’amélioration de l’appareil photo ;
  • la résolution des problèmes connus ;
  • la résurrection du portage pour la tablette HP Touchpad 4G (actuellement LuneOS ne gère que le Wi‐Fi sur cette tablette).

Aller plus loin

  • # Halium - présentation en français

    Posté par . Évalué à 5 (+8/-0). Dernière modification le 30/11/18 à 11:35.

    Le site officiel Halium.org étant en anglais, je relève qu'il y a une dépêche titrée « Naissance du projet Halium », publiée le 6 mai 2017 sur Linuxfr.org, qui présente ce projet en français, en commençant par ces mot : « projet libre qui cherche à créer une base commune pour les systèmes d’exploitation voulant réutiliser les pilotes Android. Il a pour but d’unifier les différentes abstractions du matériel via libhybris ».

  • # Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

    Posté par . Évalué à 8 (+13/-2). Dernière modification le 30/11/18 à 14:02.

    Cette lecture aiguise ma curiosité : une équipe de libristes, nommée webOS-Ports, qui développe LuneOS, un système d'exploitation pour ordiphones, sur base du code de webOS, initialement libéré par HP, et qui dialogue désormais avec le conglomérat sud-coréen LG et envisage de reprendre du code libre enrichi en interne par LG — et servant dans des millions de téléviseurs LG, dont des modèles connectées au réseau, on imagine — issu de la même base de code initialement libéré par HP, mais sans mettre à disposition l'historique des changements opérés pendant 5 ans… Je me demande bien pourquoi ça éveille ma vigilance…

    Voici la réflexion un peu plus détaillée et sourcée :

    En reprenant un peu l'historique, via la page du tag webos sur Linuxfr.org, je retrouve, via l'avant-dernier article (et ses commentaires), titré « webOS se relance en LuneOS », publié en septembre 2014, que le système d'exploitation pour ordiphone webOS a été initialement conçu par Palm, revendu à HP, puis libéré, et les droits intellectuels sur le code revendus à LG — conglomérat industriel sud-coréen, spécialisé dans l'électronique (LG Group), les téléphones portables, l'air climatisé, le petit électroménager, le solaire, la sécurité — qui a d'abord renommé le projet Open webOS.

    On apprend dans la présente dépêche que LG a développé ce code pendant 5 ans, produisant ainsi webOS OSE (OSE pour Open Source Edition), qui est également libre, mais qui n'est pas accompagné d'historique des changements entre Open webOS (dont le code est resté figé) et webOS OSE.

    Ce code, déployé sur des millions de téléviseurs, qui « offre de grandes améliorations en termes de fiabilité et de fonctionnalités » (citation de l'article), pourrait également contenir quelques malveillances bien ciblées, comme des portes dérobées, relativement discrètes, d'autant plus facilement que le code s'appuie sur des composants matériels propriétaires. Je rappelle que LG et l'espionnage généralisé via les télés connectées, c'est une histoire documentée (cf. plus bas, je fournis des sources).

    Le code de webOS est étudié depuis 4 ans par des développeurs libristes de l'équipe webOS-Ports, mais ils n'ont pas cette connaissance du code de webOS OSE, or on peut lire ceci qui alerte ma vigilance, dans la présente dépêche, je cite :

    Après cette version, l'accent sera mis sur la migration des composants Open webOS vers les composants plus à jour fournis par webOS OSE. Pour LuneOS, ça signifie beaucoup d'améliorations en termes de qualité du code, de stabilité et de fonctionnalités. Cela permet aussi d'alléger grandement la maintenance de ces composants du coté de la petite équipe webOS-Ports, qui pourra se concentrer sur les spécificités de LuneOS et aller de l'avant, tout en contribuant à webOS OSE.

    Voilà, pour étayer ma vigilance en matière de télés connectées en général, je mentionne deux articles :

    • un article de Cnet France titré : « Vie privée : télé connectée, l'espion parfait », daté de septembre 2013, qui illustre à quel point « une télévision connectée est même "la cible parfaite" pour un pirate souhaitant espionner son prochain » ;
    • un article de l'EFF (Electronic Frontier Foundation), en anglais, titré « Big Brother Is Listening: Users Need the Ability To Teach Smart TVs New Lessons », daté de février 2015.

    Dans les deux articles précités, on ne trouve pas de mention de LG, mais si vous en cherchez par ailleurs sur le sujet des télés espions, vous allez en trouver… deux exemples :

    • article du journal Le Monde, titré « Télés connectées : un espion dans le salon ? », daté d'avril 2016, dans lequel on voit que LG annonçait simplement dans les conditions d'utilisation que, je cite : « Nous vous signalons que, si les mots que vous prononcez contiennent des informations privées ou confidentielles, ces informations feront partie des données transmises à un tiers lorsque vous utiliserez le service de reconnaissance vocale. » ;
    • article de O1net.com, titré « LG s’excuse pour ses téléviseurs-espions et promet de les mettre à jour », daté de novembre 2013.

    Ma conclusion : coopérer, pourquoi pas, réutiliser du code libre existant pourquoi pas, mais vigilance… L'audit redondant, c'est utile… Oh, ça ne règlera pas tout, puisque le matériel en général est perclus de portes dérobées, mais le matériel intégralement libre et contrôlé (supervision communautaire de la fabrication et distribution) ça viendra, je l'espère.


    Pour référence, voici tous les extraits de la dépêche qui ont éveillé ma vigilance (je mets en gras ce qui est significatif) :

    Le Xiaomi Mi A1 est un appareil un peu à part : celui-ci a été choisi en collaboration avec LG pour y porter LuneOS mais aussi comme cible pour webOS LG OSE (Open Source Edition).

    […]

    webOS OSE est le successeur d'Open webOS, et a été une grosse surprise. Cependant le potentiel pour LuneOS est évident : webOS OSE représente en effet 5 années de développement du code de base d'Open webOS, qui, lui, est resté figé.
    Il a été déployé sur des millions de téléviseurs LG et offre de grandes améliorations en termes de fiabilité et de fonctionnalités. Le gros inconvénient est cependant qu'il n'y a pas d'historique des changements entre Open webOS et webOS OSE, ce qui rend la migration un peu plus difficile…

    […]

    Début Juin l'équipe LuneOS a rencontré LG à Paris pour discuter d'une collaboration entre les deux équipes. Cela a permis de prendre contact, et de voir ce que chaque équipe pouvait tirer d'une collaboration.

    […]

    Le Xiaomi A1 a aussi été choisi en tant que nouvelle cible pour LuneOS, et sera un appareil commun aux expérimentation sur LuneOS et webOS OSE.

    […]

    Après cette version, l'accent sera mis sur la migration des composants Open webOS vers les composants plus à jour fournis par webOS OSE. Pour LuneOS, ça signifie beaucoup d'améliorations en termes de qualité du code, de stabilité et de fonctionnalités. Cela permet aussi d'alléger grandement la maintenance de ces composants du coté de la petite équipe webOS-Ports, qui pourra se concentrer sur les spécificités de LuneOS et aller de l'avant, tout en contribuant à webOS OSE.

    • [^] # Re: Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

      Posté par (page perso) . Évalué à 3 (+4/-3).

      le matériel en général est perclus de portes dérobées

      C'est dommage, tu nous fais un beau commentaire, sourcé, argumenté et tout, et tu sors ça de nulle part en conclusion?

      Je crois avoir vu beaucoup de suspicions et éventuellement de bugs matériels permettant des attaques mais sans preuve que ce soit intentionnel. Mais pas de cas où on sait qu'une faille a été introduite volontairement dans du matériel. Tu as quelques exemples? Surtout pour arriver à dire que c'est "en général"?

      • [^] # Re: Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

        Posté par . Évalué à 4 (+9/-2). Dernière modification le 30/11/18 à 15:58.

        Je reconnais que j'ai été vraiment léger en posant cette affirmation non sourcée en tant que généralité (avec un caractère systématique, donc) et je n'ai en effet pas de source à présenter pour justifier la présence de portes dérobées en général. Merci de ta vigilance.

        Ceci étant, je peux soutenir l'existence d'une porte dérobée au moins dans la gamme des ordiphones Galaxy de la société Samsung, identifiée par des développeurs de Replicant (projet qui consiste à développer une version d’Android totalement libre), via cet article de Korben.info, titré « Découverte d’une backdoor dans les téléphones de Samsung », daté du 13 mars 2014, dans lequel on peut lire :

        Sur le blog de la Free Software Foundation (FSF), Paul Kocialkowski de chez Replicant explique que cette backdoor se situe sur la puce baseband (qui fait office de modem et qui est une technologie fermée / propriétaire) et que celle-ci peut envoyer des ordres à l’OS et au processeur principal pour écrire et lire directement sur le système de fichier depuis un accès extérieur.

        Puis, généralisant le risque :

        D’une manière générale, vu qu’on ne sait pas exactement ce qu’il y a dans les puces de baseband, on peut tout imaginer. Elles sont d’ailleurs connues pour autoriser la géolocalisation ou l’utilisation de la caméra à l’insu du propriétaire du téléphone. Ces puces sont un cauchemar pour ceux qui souhaitent protéger leur vie privée.

        L'article mentionne plus bas que Replicant tente une procédure d'isolation du risque, sans garantie parfaite, puis il mentionne l'existence du projet de puce baseband ouverte d’Osmocom, comme une façon de se protéger de ce risque.

        A ce propos, voici la page officielle d'Osmocom dédiée au projet OsmocomBB de logiciel libre implémentant la fonction de baseband GSM, visant à remplacer le besoin d'un logiciel propriétaire pour faire fonctionner la puce dédiée à cette fonction. Je ne sais pas où ça en est. J'observe qu'il y a de l'activité référencée jusqu'en octobre 2018. Je note que la fameuse puce dédiée (parfois intégrée au CPU) reste en l'état du matériel non libre (et à la fabrication et la distribution non supervisées communautairement), donc sujette à l'inclusion de portes dérobées matérielles.

        J'ai vu par ailleurs que le sujet était débattu sur Linuxfr.org, fin août 2018, à propos du projet d'ordiphone Librem 5, cf. ici et . Il en ressort ceci (je fais une synthèse à partir des informations fournies en commentaires) :

        • le CPU et la puce baseband sont séparés sur le Librem 5, avec des interrupteurs matériels pour la caméra, le microphone, le WiFi/Bluetooth, et la puce baseband (mais une fois la puce baseband désactivée par l'interrupteur, l'ordiphone ne fait plus téléphone…) ;
        • il n'existe pas de puce baseband libre ;
        • sur Librem 5, le pilote pour la puce baseband (logiciel du côté système d'exploitation) sera libre mais pas le micro-logiciel (firmware) embarqué dans la puce, comme c'est indiqué sur leur site ;
        • lorsque la fonction baseband est intégrée au processeur principal, elle s'occupe aussi du chargeur d'amorçage (bootloader), elle a accès à tout le système (RAM, Flash, etc.) et tous les périphériques ;
        • dans le cas du Librem 5, la puce baseband étant séparée, elle ne gérera pas le démarrage du CPU, et on pourrait penser qu'elle n'aura pas aussi facilement la possibilité d'allumer le micro ou de copier le contenu de la RAM par exemple, étant restreinte à gérer la radio en tant que périphérique du processeur principal… Cependant, du fait que le firmware n'est pas libre, on ne sait pas ce qu'il peut faire, et il est envisageable qu'il soit possible pour la puce baseband d'effectuer des opérations illégitimes à travers le bus de données SPI qui la relie au CPU, mais sans avoir d'accès direct à la RAM ou aux périphériques.

        J'ajouterai personnellement, à propos du Librem 5, qu'il suffit d'une malveillance matérielle au niveau du CPU (ne serait-ce qu'un micro-logiciel embarqué et non documenté) pour permettre toute malveillance en combinaison avec la puce baseband séparée (du moins lorsque l'interrupteur associé est activé). Dans de telles conditions défavorables, il est y compris envisageable de pouvoir piloter le démarrage du CPU depuis le réseau GSM…

        • [^] # Re: Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

          Posté par . Évalué à 3 (+7/-1). Dernière modification le 30/11/18 à 17:26.

          [ajout]

          pulkomandy écrivait :

          Je crois avoir vu beaucoup de suspicions et éventuellement de bugs matériels permettant des attaques mais sans preuve que ce soit intentionnel.

          D'une part, il n'y a pas besoin d'une intentionnalité à l'origine de l'inclusion d'une porte dérobée pour qu'on puisse parler de porte dérobée. Ce peut être le résultat d'une conception maladroite. Il suffit d'en identifier la présence.

          D'autre part, je rajoute ici une information, issue de l'article de Korben.info (déjà cité au commentaire parent) :

          Attention, il ne s’agit pas d’une faille involontaire mais bien d’une fonctionnalité implémentée par le fabricant de ces puces. Que Samsung soit au courant ou non de cette « fonctionnalité » est une autre histoire.

          En l'espèce, d'après ce qui est rapporté par Korben.info, nous sommes en présence d'un d'acte intentionnel. J'ai rapidement cherché, en vain, à confirmer cette intentionnalité à la source, d'une part sur la page de blog de la Free Software Foundation (page citée dans l'article de Korben.info), titrée « Replicant developers find and close Samsung Galaxy backdoor », d'autre part sur la page du wiki de Replicant (page citée dans la page du blog de la FSF), titrée « Samsung Galaxy back-door », qui comporte une description technique du problème et une liste des appareils connus pour être affectés.

    • [^] # Re: Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

      Posté par . Évalué à 10 (+8/-0).

      Évidemment, l'absence d'historique ennuie aussi webOS-Ports. Mais avant les considérations de sécurité, c'est surtout pour des raisons de lisibilité du code: il devient assez difficile de comprendre pourquoi tels choix ont été faits, ou quelles étapes ont conduits au code actuel. Il faudra du temps pour se réapproprier tout ça.

      On a demandé à LG pourquoi ils n'ont pas inclus cet historique. La raison, sans grande surprise, est que les textes des commits (ou même des révisions intermédiaires du code) faisaient référence à des éléments internes à LG qu'ils ne voulaient pas voir publics.
      Entre un gros travail de nettoyage (affublé d'un risque non nul de raté) et un effaçage pur et simple de l'historique, LG a fait son choix.

      Depuis la rencontre entre webOS-ports et LG à Paris, des progrès ont été faits: maintenant, à chaque "version" de webOS OSE, l'historique est inclus. Ils ont dû adapter leurs méthodes en interne, ça n'allait pas de soi pour eux… Mais ils semblent être de bonne volonté.

      Bien sûr, il faut rester raisonnablement prudent. LG arrive avec sa propre culture, ses propres objectifs commerciaux, ses priorités. L'abandon par HP (sans ouvrir tout le code source de webOS d'ailleurs…) nous l'avait déjà appris. Mais je pense qu'on serait largement perdants à ne pas tenter l'aventure.

      • [^] # Re: Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

        Posté par . Évalué à 4 (+8/-1). Dernière modification le 30/11/18 à 16:20.

        Merci de ta réponse.

        En effet, c'est compréhensible que LG fasse au plus simple, aux titres :

        • de l'économie financière, en s'abstenant de consacrer du temps pour épurer les informations sensibles, internes à LG, embarquées dans le gestionnaire de versions ;
        • du risque d'erreur possible, laissant passer des informations sensibles.

        Ceci étant, s'ils publient le code sous licence libre, s'ils collaborent avec l'équipe webOS-Ports, c'est qu'ils en attendent un bénéfice, et à ce titre il est logique qu'ils investissent de l'énergie pour favoriser la collaboration.

        Je formule le souhait qu'ils restent ouverts à l'idée de répondre favorablement à des sollicitations spécifiques émanant de webOS-Ports quant à la mise à disposition des informations, au cas par cas (pour telle ou telle partie du code).

      • [^] # Re: Vigilance... gros code de LG sans historique des modifs / télés connectées de LG et l'espionnage

        Posté par . Évalué à 1 (+0/-0).

        A minima, ils auraient pu garder la liste des commits en purgeant juste le commentaire.
        A défaut d'avoir la description dans le commit, cela permet au moins de conserver l'atomicité de chaque changement dans le code avec les fichiers impliqués et le delta de code pour chacun.

  • # Coquille

    Posté par . Évalué à 6 (+9/-0).

    Le Xiaomi Mi A1 est un appareil un peu à part : celui-ci a été choisi en collaboration avec LG pour y porter LuneOS mais aussi comme cible pour webOS LG OSE (Open Source Edition).

    « LG » est en trop dans l'expression « webOS LG OSE », au vu des nombreuses occurrences de « webOS OSE » par ailleurs dans la dépêche.

    Une expression valide avec LG serait : « webOS OSE de LG » (en anglais « webOS OSE from LG » ou « LG webOS OSE »).

  • # question sor Mi A1

    Posté par . Évalué à 1 (+1/-0).

    Bonjour! je voulais savoir si le reseau telephonique marche sur Mi A1?

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.