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

Bootlin à Kernel Recipes, Paris, Septembre 2013

Kernel Recipes conference logoC’est la deuxième année que la société Hupstream, basée à Paris, organise en France une conférence uniquement dédiée au développement sur le noyau Linux : Kernel Recipes, les 24 et 25 septembre 2013.

Bootlin n’a pas pu participer à l’édition de l’année passée, qui apparemment était un événement très intéressant du point de vue de la pertinence des présentations et des participants, regroupant un nombre important de développeurs noyau et de sociétés intéressés par le développement noyau en France. Nous sommes ainsi heureux de participer à cette conférence cette année :

Nous sommes impatients de rencontrer certains des développeurs français du noyau avec lesquels nous avons été en contact ces derniers mois (voir la liste des participants). Nous vous signalons également que Bootlin a un poste ouvert d’ingénieur noyau / Linux embarqué / Android, et que cet événement est une bonne occasion pour nous rencontrer !

Poste d’ingénieur noyau Linux en région niçoise

Penguin worksBootlin recherche un ingénieur noyau Linux dans la région niçoise. Lee contrat sera en télétravail, mais demandera aussi de travailler sur des sites de clients dans la même région, et ceci sur de longues durées.

Voir une description détaillée du poste sur notre page carrières.

Pour cette ouverture de poste précise, nous avons absolument besoin d’une personne ayant déjà une expérience en développement sur le noyau Linux, et des contributions aux sources officielles de Linux constitueront un atout important. La raison est qu’un de nos clients recherche un ingénieur pour développer de nouveaux drivers et pour porter Linux sur des plateformes pré ou post silicium. Connaissant bien le client, l’intégration aux sources officielles du noyau Linux sera une priorité.

Une fois que nous aurons retenu un candidat avec le profil et les compétences que nous recherchons, et une fois que le client accepte de prendre cette personne pour une première mission, l’ingénieur sera recruté par Bootlin en CDI, et travaillera dans les locaux du client pendant au moins 6 mois.

Une fois que cette première mission sera terminée, notre ingénieur se verra confier des projets pour d’autres clients de Bootlin, et donnera aussi des formation sur Linux embarqué et sur le développement noyau dans le monde entier. Un bon niveau d’anglais oral et écrit sera donc nécessaire.

Si vous êtes intéressé, veuillez vous référer à notre page carrières pour la description du poste et pour savoir comment vous porter candidat.

Nouvelles sessions inter-entreprises à Toulouse courant 2011

Salle de formationNous venons d’ajouter de nouvelles dates pour les prochaines sessions inter-entreprises à Toulouse de nos formations :

  • Une session de notre formation Développement de systèmes Linux embarqué aura lieu du 6 au 10 juin 2011 à l’Hôtel Pullman à Toulouse. Cette formation est conçue pour les ingénieurs qui souhaitent utiliser le système Linux dans de nouveaux projets embarqués. En cinq jours, au travers de cours théoriques et de travaux pratiques, elle vous familiarise avec l’architecture d’un système embarqué sous Linux, la construction d’un tel système, la façon de tirer parti de composants open­ source pour accélérer l’ajout de fonctionnalités à votre système et réduire les coûts de développement, puis détaille comment développer et mettre au point vos applications dans le système embarqué. Retrouvez le programme détaillé ainsi que les supports de cours.
  • Une session de notre formation Développement noyau Linux et pilotes de périphériques aura lieu du 5 au 10 décembre 2011 à l’Hôtel Pullman à Toulouse. Cette formation est conçue pour les ingénieurs qui souhaitent développer ou améliorer des pilotes de périphériques dans le noyau Linux, pour des projets sur plateforme embarqué ou sur plateforme PC traditionnelle. En cinq jours, au travers de cours théoriques et de travaux pratiques, la formation introduit les bases essentielles du développement noyau : architecture du noyau, les principales APIs, intégration du pilote de périphérique avec le reste du noyau et avec les applications. Retrouvez le programme détaillé et les supports de cours.

Ces deux sessions seront animées en français par Thomas Petazzoni. Elles sont disponibles au tarif de 1990 € HT par personne, tarif qui comporte la carte électronique utilisée pour les TPs (que chaque participant conserve à l’issue de la formation) ainsi que les repas du midi. À noter qu’une réduction de 300 euros est offerte aux personnes s’inscrivant au moins 2 mois avant le début de la formation, pour les personnes venant de la même société ou pour les personnes en recherche d’emploi. Pour les PMEs, un co-financement est également possible par l’intermédiaire du programme Captronic.

Sessions inter-entreprises de formation à Toulouse début 2011

ToulouseNotre session inter-entreprises de formation « Développement de systèmes Linux embarqués » de la semaine dernière à Toulouse étant complète, nous avons reprogrammé une nouvelle session de cette formation du lundi 21 au vendredi 25 mars 2011 à Toulouse.

En cinq jours, au travers de cours théoriques et de travaux pratiques, cette formation vous familiarise avec l’architecture d’un système embarqué sous Linux, la construction d’un tel système, la façon de tirer parti de composants open source pour accélérer l’ajout de fonctionnalités à votre système et réduire les coûts de développement, puis détaille comment développer et mettre au point vos applications dans le système embarqué.

Cette session inter-entreprises sera animée en langue française, par Thomas Petazzoni, et nous proposons une réduction de 15% pour les personnes s’inscrivant au moins deux mois avant le début de la formation, c’est à dire avant le 21 janvier 2011. Informations, programme détaillé et inscription.

D’autre part, une session inter-entreprises de notre formation « Développement noyau Linux et pilotes de périphériques » aura lieu à Toulouse du 31 janvier au 4 février 2011. Des places sont encore disponibles pour cette session de formation. Informations, programme détaillé et inscription.

Conférence sur Linux et le temps réel

Affiche Ubuntu Party

À l’occasion de l’Ubuntu Party Toulouse 2010, j’ai animé le samedi 20 novembre une conférence sur Linux et le temps réel, dans laquelle je présente brièvement les problématiques pour que Linux répondent aux contraintes des systèmes temps réel, puis aborde rapidement les améliorations apportées au noyau Linux pour aller dans cette direction, les projets PREEMPT_RT et Xenomai. En raison du temps limité (45 minutes), la conférence est plutôt rapide et tous les détails n’ont pu être donnés, mais elle peut constituer une petite introduction au sujet.

Les supports sont disponibles au format PDF, ainsi qu’une vidéo de la conférence.

À noter que Bootlin était partenaire de l’Ubuntu Party Toulouse 2010, et a donc contribué à l’organisation et à la réalisation de cet évènement.

Offre de stage – Gestion de la mémoire flash sous Linux

Exploration et amélioration des technologies de gestion de la mémoire flash sous Linux

Note: Cette offre a été pourvue. Nous ne recherchons plus de stagiaire sur cette thématique. Nos futures offres de stage seront publiées sur notre page carrières.

Penguin worksLe noyau Linux ainsi que les chargeurs de démarrage tels que U-Boot et Barebox supportent les mémoires Flash de type NOR ou NAND au travers d’un sous-système appelé MTD et de systèmes de fichiers spécialisés. Ce type de mémoire est extrêmement utilisé dans le monde de l’embarqué, et il revêt pourtant des caractéristiques qui rendent son utilisation délicate: l’usure des blocs de stockage qui deviennent
inutilisables au fil des écritures. Cette caractéristique des mémoires Flash nécessite une gestion relativement élaborée de ces périphériques (détection et correction des erreurs, répartition équitable des écritures, remplacement des blocs défectueux).

L’objectif de ce stage est de :

  1. Explorer l’existant. Comprendre comment les mémoires Flash fonctionnent au niveau matériel, comment elles sont gérées par le sous-système MTD du noyau, par le sous-système UBI ainsi que par les différents systèmes de fichiers pour Flash (JFFS2, YAFFS, LogFS et UBIFS), comprendre comment les mécanismes de CRC et de détection/marquage des blocs en erreur, de cleanmarkers fonctionnent, les interactions entre chargeur de démarrage (U-Boot / Barebox) et le noyau. Étudier dans quel mesure des systèmes de fichiers en lecture seule tels que SquashFS peuvent être utilisés sur une Flash de manière fiable.
  2. Améliorer l’existant. Selon les observations effectuées à l’étape 1, proposer des améliorations ou corrections aux différents projets concernés. L’utilisation fiable de SquashFS au-dessus d’une mémoire Flash, c’est à dire en tenant compte des blocs en erreur détectés, pourra être l’une des améliorations possibles.
  3. Documenter l’existant. La phase d’exploration pourra donner lieu à la rédaction d’articles de blogs ou dans un magazine, ou de présentations orales lors de conférences spécialisées du monde Linux embarqué.

L’intégralité des travaux effectués pendant le stage sera publié sous licence libre: code et documentation.

Selon les intérêts du candidat et la progression sur le sujet du stage, le stage pourra être étendu à d’autres thématiques liées à Linux embarqué.

Qualités et compétences requises :

  • Autonomie, recherche d’informations et de ressources sur le Web, connaissance minimale du fonctionnement des communautés Logiciel Libre / Open Source.
  • 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 et le support du matériel
  • Aptitude pour la rédaction d’articles techniques et pour la présentation en public de sujets techniques, en particulier lors de conférences. Bonne maîtrise de l’anglais oral et écrit.

Informations diverses

  • Durée du stage: 4 mois ou plus, suivant la disponibilité de chacun. Le stage pourrait commencer dès la fin de 2010, et se poursuivre jusqu’à la rentrée 2011.
  • Préférence pour les étudiants en dernière année d’études, dans la perspective d’un recrutement en CDI à l’issue du stage.
  • Lieu: le stage aurait lieu soit en région toulousaine, soit dans un contexte de télé-travail en France.
  • Rémunération: 800 EUR mensuels. Prime en fin de stage en fonction des résultats.
  • Contact: envoyer un CV et une lettre de motivation à notre adresse jobs.

Vidéos des Rencontres Mondiales du Logiciel Libre 2010

RMLL 2010Au début du mois de juillet se sont déroulées à Bordeaux les Rencontres Mondiales du Logiciel Libre, un important rendez-vous de la communauté française du Logiciel Libre. Cette conférence, aux multiples thématiques, propose chaque année un thème Systèmes embarqués et matériel libre, dont Florian Fainelli, Pierre Ficheux et moi-même avions la charge cette année.

Comme nous en avons l’habitude, nous avons enregistré en vidéo l’ensemble des conférences de ce thème, et nous vous proposons ces vidéos ci-dessous, sous licence Creative Commons Paternité – Partage sous conditions identiques version 3.0.

Éric Benard (Eukrea) présentant la détection de pollution maritime avec Linux embarqué

Parmi les conférences que nous avons préféré : les deux conférences de Sarah Sharp sur USB3, la conférence d’Éric Bénard sur l’utilisation de Linux embarqué dans la détection de pollution maritime, la conférence sur l’utilisation de FPGA pour le développement de bibliothèques d’outils radiofréquence ainsi que la conférence sur ConnMan par Samuel Ortiz. À noter également que Thomas Petazzoni, de Bootlin, a donné dans le cadre de ce thème une conférence sur le thème Noyau Linux : architecture des drivers et device model.

Samuel Ortiz (Intel) présentant ConnMan
Sarah Sharp (Intel) présentant USB3

Bootlin aux Rencontres Mondiales du Logiciel Libre à Bordeaux

Rencontres Mondiales du Logiciel Libre 6 au 11 juillet 2010Du 6 au 11 juillet a lieu la onzième édition des Rencontres Mondiales du Logiciel Libre à Bordeaux, qui cette année à nouveau, propose un cycle de conférences sur le thème « Systèmes embarqués et Matériel Libre ».

Dans le cadre de ce cycle de conférences, j’aurai le plaisir d’animer une présentation intitulée « Noyau Linux : architecture des drivers et device model », au travers de laquelle je présenterai la façon dont le noyau est organisé pour intégrer les pilotes de périphériques, avec notamment un détail du fameux device model, qui est solution élégante mais pas nécessairement simple à comprendre pour résoudre les interactions entre bus, driver et device. Cette conférence est en grande partie issue d’un élément de notre formation « Développement de pilotes de périphérique noyau Linux » et est généralement la partie de notre formation qui captive le plus les développeurs qui ont déjà commencé à faire un peu de code noyau.

À noter que de nombreuses autres conférences auront lieu dans ce même thème : conférence sur USB3 par Sarah Sharp, Robotique et Logiciels Libres, OpenWRT sur la Neufbox 4, Enna/Geekbox, les Enlightenment Foundation Libraries, Ebook hacking, des conférences en partenariat avec le thème accessibilité, ConnMan, Archos, Buildroot, etc.

Enfin, dans le cadre de ces Rencontres Mondiales, j’aurai également l’occasion de présenter une conférence sur un thème qui n’est pas lié à l’activité de Bootlin : MapOSMatic, des plans de ville pour tous qui portera sur MapOSMatic, un service de génération de plans de ville à la demande à partir des données OpenStreetMap, dont je suis l’un des auteurs.

J’espère avoir l’occasion de vous rencontrer durant ces Rencontres Mondiales du Logiciel Libre ! Je serai la personne derrière la caméra dans le thème « Systèmes embarqués et Matériel Libre ».

Offres d’emploi à Bootlin

Penguin workerExperts en noyau et Linux embarqué

Bootlin recherche des contributeurs expérimentés à la communauté du Logiciel Libre, pour satisfaire une demande croissante en développement, conseil et formation sur Linux embarqué et sur le noyau Linux. Ces postes sont soit en télétravail, soit à Toulouse dans des locaux que nous ouvrirons.

Un attrait important de nos postes est la contribution aux projets de la communauté, qui fait partie des objectifs qui sont donnés à nos collaborateurs.

Tous les détails sur notre page sur les carrières.

Les plus passionnés auront le plaisir de remarquer que nos postes incluent un « abonnement de fonction » à LWN.net. Winking smiley