Actualités trimestrielles Bootlin: septembre 2014

Bootlin a le plaisir de partager avec vous des nouvelles des activités de formation et de contribution de la société.

Contributions au noyau Linux

Depuis notre dernier bulletin d’informations, nos ingénieurs ont continué à faire d’importantes contributions au noyau Linux, en particulier dans le domaine du support des processeurs ARM et des plateformes utilisant ceux-ci.

  • 218 patches de Bootlin ont été intégrés à Linux 3.15, ce qui place Bootlin au 12ème rang des sociétés qui ont contribué à cette version, en nombre de patches. Voir notre billet de blog.
  • 388 patches ont été acceptés dans Linux 3.16, ce qui fait de Bootlin la 7ème société contributrice à cette version. Voir notre billet de blog.
  • Pour la version 3.17 à venir, nous avons déjà intégré 146 patches, et nous avons beaucoup de travail en cours pour les versions suivantes.

Voici nos principales contributions :

  • L’ajout d’un pilote ubiblk, qui permet d’utiliser des systèmes de fichiers traditionnels au dessus de devices UBI, et donc sur du stockage flash de type NAND. Il n’y a que le mode en lecture seule qui est pris en charge, mais cela permet déjà d’utiliser SquashFS, un système de fichiers très performant, de manière sécurisée sur de la flash de type NAND.
  • Un autre ajout est celui des nouveaux processeurs Marvell Armada 375 et Armada 38x. En seulement deux versions (sorties des versions 3.15 et 3.16), nous avons pratiquement poussé le support complet de ces nouveaux processeurs. Le pilote réseau pour l’Armada 375 est une pièce manquante, qui apparaîtra dans la version 3.17.
  • Notre travail de maintenance sur les processeurs AT91 et SAMA5 d’Atmel s’est poursuivi, avec davantage de conversions au Device Tree, au Common Clock Framework, et à d’autres mécanismes modernes du noyau. Nous avons également développé le pilote graphique DRM/KMS pour le SoC SAMA5D3, qui a déjà été publié et qui devrait être intégré prochainement si tout va bien.
  • Notre travail pour prendre en charge le processeur Marvell Berlin a commencé à être intégré à Linux 3.16. Ce processeur est utilisé dans divers téléviseurs, lecteurs multimédia ou dans des petits appareils comme la Google Chromecast. Un support de base a été intégré, comprenant les Device Trees, les pilotes d’horloges, le pilote pinmux, ainsi que la prise en charge des GPIO et de SDHCI. Le support d’AHCI devrait arriver en 3.17, et le support USB et réseau est attendu pour 3.18.
  • Le travail sur la prise en charge des SoCs d’Allwinner s’est poursuivi, en particulier sur le processeur A31 : prise en charge de SPI et I2C, pilotes pour le bus bus et pour le contrôleur PRCM, et le support de l’USB.

Nous disposons maintenant d’une expérience assez complète en écriture de pilotes pour le noyau et intégration de code dans les sources officielles du noyau. N’hésitez pas à nous contacter si vous avez besoin d’aide pour développer des pilotes pour le noyau Linux, ou pour prendre en charge une nouvelle carte ou un nouveau processeur.

Contributions à Buildroot

Notre implication dans le projet Buildroot, un des plus populaires outils de compilation de systèmes de fichiers pour l’embarqué, s’est poursuivie. Nous avons intégré 159 patches à la version 2014.05 du projet (sur un total de 1293 patches), et 129 patches à la version 2014.08 (sur un total de 1353 patches). De surcroît, notre ingénieur Thomas Petazzoni joue souvent le rôle de mainteneur par intérim, quand Peter Korsgaard, le mainteneur, n’est pas disponible. Voici les fonctionnalités principales que nous avons ajoutées : améliorations majeures de la prise en charge de Python 3, ajout de chargeurs de démarrage EFI, support de la bibliothèque C Musl.

Projets Linux embarqué

Bien-sûr, nous avons également conduit des projets de développement Linux embarqué et de réduction du temps de démarrage pour divers fabricants de systèmes embarqués, avec un impact moins visible sur les projets de la communauté. Cependant, nous essaierons de partager l’expérience générique que nous avons pu acquérir via de futurs billets de blog.

Nouvelle formation : Yocto Project et OpenEmbedded

Un grand nombre de projets Linux embarqué utilisent des systèmes de compilation automatique qui intègrent les divers composants d’un système dans une image de systèms de fichiers prête à l’emploi. Parmi les solutions existantes, Yocto Project et OpenEmbedded sont très en vogue.

Nous avons ainsi développé une nouvelle formation de 3 jours, Yocto Project et OpenEmbedded, pour aider les ingénieurs et les sociétés qui utilisent, ou sont intéressés par utiliser ces solutions pour leur projets Linux embarqué. En commençant par la compréhension des principes de base de Yocto, la formation rentre dans les détails de l’écriture de recettes de paquetages, de la prise en charge d’une carte par Yocto, de la création d’images sur mesure, etc.

Le programme détaillé de la formation est disponible. Vous pouvez commander une session sur site, ou bien participer à notre première session inter-entreprises organisée à Toulouse du 18 au 20 novembre.

Mise à jour de la formation Linux embarqué

L’écosystème de Linux embarqué évolue très rapidement, et donc nous mettons constamment à jour nos formations vis à vis des derniers développements. Dans le cadre de cet effort, nous avons récemment procédé à une mise à jour majeure de notre formation Linux embarqué : le matériel utilisé dans les travaux pratiques est passé à la populaire et intéressante carte Atmel Xplained SAMA5D3, et de nombreux travaux pratiques ont été améliorés pour un apprentissage plus facile. Voir notre billet de blog pour plus de détails.

Liste de discussion pour les participants à nos formations

Nous avons mis en place un nouveau service pour les participants à nos sessions de formation : une liste discussion qui leur est dédiée, et sur laquelle ils peuvent poser toutes questions supplémentaires après la formation, partager leur expérience, et se mettre en contact avec d’autres participants et avec les ingénieurs de Bootlin. Bien-sûr, tous les ingénieurs de Bootlin sont sur la liste et participent aux discussions. Encore un service utile offert par nos sessions de formation !

Note: cette liste de discussion n’est plus en service. Les questions des anciens participants à nos formations sont toujours les bienvenues par e-mail.

Conférences : ELC, ELCE, Kernel Recipes

L’équipe d’ingénierie de Bootlin participera aux conférences Embedded Linux Conference Europe et Linux Plumbers, le mois prochain à Düsseldorf en Allemagne. Plusieurs ingénieurs de Bootlin donneront également des présentations à ELCE :

De surcroît, Thomas participera aussi au Buildroot Developers Day, qui se tiendra à Düsseldorf juste avant l’Embedded Linux Conference Europe.

Voir aussi notre billet de blog sur ELCE pour plus de détails.

Maxime Ripard et Michael Opdenacker participeront également à la conférence Kernel Recipes 2014 à Paris, du 25 au 26 septembre. Maxime donnera sa présentation noyau Allwinner à la conférence. Voir notre billet de blog pour plus de détails.

Enfin, nous avons récemment publié les vidéos d’un certain nombre de présentations à l’Embedded Linux Conference, qui s’est tenue en avril à San Jose. Cela représente une bonne quantité d’informations intéressantes sur Linux embarqué ! Voyez vous-même sur notre billet de blog.

Prochaines sessions de formation

Nous proposons un certain nombre de sessions de formation en inter-entreprises, dans lesquelles nous avons encore des places disponibles :

Sessions et dates

Séminaire gratuit « Introduction à Linux embarqué » près de Lyon, jeudi 15 décembre

Logo CaptronicAprès Montpellier au mois de mars, puis Clermont-Ferrand et Limoges au mois de juin et Marseille au mois d’octobre, nous animerons une nouvelle édition de notre séminaire d’une demi-journée « Introduction à Linux embarqué », le jeudi 15 décembre de 14h à 18h à Villefontaine dans la région de Lyon. Comme chaque séminaire, il est organisé par Captronic et accessible gratuitement après inscription. Toutes les informations pratiques (lieu, modalités d’inscription) sont disponibles sur le site de Captronic.

Ce séminaire d’introduction a pour objectif de présenter les possibilités offertes par le système Linux et par les composants open-source dans le cadre du développement d’un projet embarqué :

  • Introduction
  • Bref historique de Linux et du monde open-source
  • Les avantages de Linux et de l’open-source dans l’embarqué
  • Matériel nécessaire pour utiliser Linux embarqué, quelques exemples de plateformes répandues.
  • L’offre du monde open-source pour les systèmes embarqués
    • La chaîne de compilation
    • Les chargeurs de démarrage
    • Le noyau Linux et les pilotes de périphériques
    • Les bases du système
    • Les bibliothèques graphiques et multimédia
    • Les composants orientés réseau
    • Les extensions temps-réel
  • Le système Android, comparaison avec Linux embarqué
  • Le processus de développement d’un système Linux embarqué
    • Les licences open-source
    • Construction du système Linux
    • Développement et mise au point des applications
  • Le support commercial et le support communautaire. Comment s’appuyer sur la communauté open-source pour accélérer le développement de son système embarqué.
  • Conclusion – Débat – Questions/réponses

Des démonstrations illustrant l’utilisation pratique de Linux embarqué sur une carte ARM seront réalisées au fil de la présentation. En complément du séminaire en lui-même, cet événement est également une occasion pour rencontrer Bootlin sur la région lyonnaise.

Le séminaire sera animé par Thomas Petazzoni, ingénieur Linux embarqué chez Bootlin. Il est également un des principaux développeurs de Buildroot, un outil de construction de systèmes Linux embarqué, et utilisateur/développeur sous système Linux depuis plus de dix ans.

Stage sur Linux embarqué à Toulouse (2012)

  • Penguin worksIntitulé du stage: Participation à des projets Linux embarqué
  • Période: printemps-été 2012
  • Type de stage: École d’ingénieurs – Stage de fin d’études
  • Lieu: Toulouse, France

Bootlin est une société proposant des services et des formations dans le domaine Linux embarqué. Fortement impliquée dans la communauté du Logiciel Libre, Bootlin est amené dans le cadre de projets de développement pour ses clients ou de la préparation de formations, à explorer et contribuer à l’amélioration de nombreuses briques logicielles du monde Linux embarqué.

L’objectif de ce stage est de participer, avec les ingénieurs Bootlin, à différents projets Linux embarqué de la société. Le stagiaire pourra notamment être amené à :

  • Développer des améliorations pour des briques logicielles Linux embarqué (chargeurs de démarrage, noyau Linux, outils de construction de systèmes Linux embarqué, etc.) et contribuer directement ces améliorations à la communauté open-source.
  • Expérimenter et explorer certaines technologies Linux embarqué (exemples de thématiques possibles: Android sur ARM, support multimédia et 3D sur processeur ARM, outils de tracing, développement de pilotes noyau Linux pour des besoins de formation, etc.), réalisation de démonstrations de ces technologies.
  • Rédiger et publier, sous licence libre, des articles techniques sur les différentes technologies explorées et des démonstrations de ces technologies.

L’intégralité des travaux réalisés pendant le stage sera diffusé sous une licence libre, aussi bien pour le code que la documentation technique.

Qualités et compétences requises ou souhaitées :

  • Autonomie, recherche d’informations et de ressources sur le Web, connaissance du fonctionnement des communautés Logiciel Libre / Open Source et des outils correspondants (gestion de version, Wiki, IRC, etc.)
  • Développement en C sous Linux
  • Connaissance générale du fonctionnement d’un système Linux
  • De préférence, un intérêt pour le bas niveau, le support du matériel et une connaissance minimale des systèmes Linux embarqué.
  • Bonne maîtrise de l’anglais à l’oral comme à l’écrit
  • Adhésion aux valeurs du Logiciel Libre, au cœur de la culture de notre société.

Le stage se déroule dans les locaux de Bootlin dans la région toulousaine, sous l’encadrement d’un ingénieur de la société.

Séminaire gratuit « Introduction à Linux embarqué » le mardi 4 octobre à Marseille

Logo CaptronicAprès Montpellier au mois de mars, puis Clermont-Ferrand et Limoges au mois de juin, nous animerons une nouvelle édition de notre séminaire d’une demi-journée « Introduction à Linux embarqué », le mardi 4 octobre de 14h à 18h à Gardanne dans la région de Marseille. Comme chaque séminaire, il est organisé par Captronic et accessible gratuitement après inscription. Toutes les informations pratiques (lieu, modalités d’inscription) sont disponibles sur le site de Captronic.

Ce séminaire d’introduction a pour objectif de présenter les possibilités offertes par le système Linux et par les composants open-source dans le cadre du développement d’un projet embarqué :

  • Introduction
  • Bref historique de Linux et du monde open-source
  • Les avantages de Linux et de l’open-source dans l’embarqué
  • Matériel nécessaire pour utiliser Linux embarqué, quelques exemples de plateformes répandues.
  • L’offre du monde open-source pour les systèmes embarqués
    • La chaîne de compilation
    • Les chargeurs de démarrage
    • Le noyau Linux et les pilotes de périphériques
    • Les bases du système
    • Les bibliothèques graphiques et multimédia
    • Les composants orientés réseau
    • Les extensions temps-réel
  • Le système Android, comparaison avec Linux embarqué
  • Le processus de développement d’un système Linux embarqué
    • Les licences open-source
    • Construction du système Linux
    • Développement et mise au point des applications
  • Le support commercial et le support communautaire. Comment s’appuyer sur la communauté open-source pour accélérer le développement de son système embarqué.
  • Conclusion – Débat – Questions/réponses

Des démonstrations illustrant l’utilisation pratique de Linux embarqué sur une carte ARM seront réalisées au fil de la présentation.

Le séminaire sera animé par Thomas Petazzoni, ingénieur Linux embarqué chez Bootlin. Il est également un des principaux développeurs de Buildroot, un outil de construction de systèmes Linux embarqué, et utilisateur/développeur sous système Linux depuis plus de dix ans.

Séminaires « Introduction à Linux embarqué » à Limoges et Clermont-Ferrand

Logo CaptronicSuite au séminaire « Introduction à Linux embarqué » qui s’est déroulé le 17 mars à Montpellier et dont nous avons publié le support, nous allons animer de nouvelles éditions de ce même séminaire, cette fois-ci dans les villes de Limoges et de Clermont-Ferrand, les 16 et 17 juin prochains. Ces séminaires sont à nouveau organisés par Captronic et animés par Thomas Petazzoni, ingénieur Linux embarqué à Bootlin.

Dates, lieux et inscription

Une session de ce séminaire d’une demi-journée aura donc lieu le jeudi 16 juin de 14h à 18h dans les locaux de l’ENSIL, Parc ESTER Technopole à Limoges. La seconde session aura lieu le vendredi 17 juin de 9h à 13h dans les locaux de l’ISIMA, Campus des Cézeaux, 63173 Aubière (à proximité de Clermont-Ferrand). L’inscription est gratuite pour les PME (société de taille inférieure à 2000 personnes), auprès de Captronic :

Résumé du séminaire

Depuis une dizaine d’années maintenant, le système d’exploitation Linux et les logiciels open-source offrent de nouvelles possibilités pour le développement des systèmes embarqués. Avec un faible coût, un code source disponible et modifiable, des offres de support commercial ou communautaire, des possibilités de réutilisation importantes permettant de se focaliser sur la valeur ajoutée de son système embarqué, la solution Linux embarqué a de nombreux atouts en comparaison de systèmes propriétaires traditionnels ou de solutions spécifiques. Ce séminaire se propose de faire le point sur les possibilités offertes par l’utilisation de l’OS Linux dans l’embarqué, en couvrant les sujets énoncés dans le programme ci-dessous :

  • Introduction
  • Bref historique de Linux et du monde open-source
  • Les avantages de Linux et de l’open-source dans l’embarqué
  • Matériel nécessaire pour utiliser Linux embarqué, quelques exemples de plateformes répandues.
  • L’offre du monde open-source pour les systèmes embarqués
    • La chaîne de compilation
    • Les chargeurs de démarrage
    • Le noyau Linux et les pilotes de périphériques
    • Les bases du système
    • Les bibliothèques graphiques et multimédia
    • Les composants orientés réseau
    • Les extensions temps-réel
  • Le système Android, comparaison avec Linux embarqué
  • Le processus de développement d’un système Linux embarqué
  • Les licences open-source
  • Construction du système Linux
  • Développement et mise au point des applications
  • Le support commercial et le support communautaire. Comment s’appuyer sur la communauté open-source pour accélérer le développement de son système embarqué.
  • Conclusion – Débat – Questions/réponses

Des démonstrations illustrant l’utilisation pratique de Linux embarqué sur une carte ARM seront réalisées au fil de la présentation.