Covid-19: Bootlin propose toutes ses formations en ligne

Tux faisant du Linux embarqué à la maisonComme la plupart d’entre nous, à cause de l’épidémie Covid-19, vous êtes sans doute contraint de travailler depuis votre domicile. Pour tirer partir de ce temps de confinement, nous proposons maintenant toutes nos formations sous forme de séminaires en ligne.

Ces formations sont toutes finançables par le dispositif FNE si votre entreprise a des salariés en chômage partiel.

Vous pouvez alors profiter du contenu et de la qualité des formations de Bootlin, sans avoir à quitter le confort et la sécurité de votre domicile. Durant ces séminaires en ligne, nos formateurs alterneront entre présentations et démonstrations pratiques, en déroulant les instructions de nos travaux pratiques.

Les participants pourront poser des questions à tout moment.

Nous pouvons proposer de telles formations à distance soit par des sessions en ligne publiques, où les participants peuvent s’inscrire individuellement, soit par des sessions en ligne dédiées, pour des participants tous issus de la même société.

Sessions en ligne publiques

Nous essayons de proposer des créneaux qui devraient convenir pour l’Europe, le Moyen Orient, l’Afrique et au moins pour la Côte Est de l’Amérique du Nord. Toutes nos sessions seront données en anglais. Comme toujours avec toutes nos formations, tous les supports de formation (présentations et instructions de travaux pratiques) sont librement disponibles sur les pages qui décrivent nos formations.

Nos formations Linux embarqué et noyau Linux sont données sur 7 demi-journées de 4 heures chacune, tandis que nos formations Yocto Project, Buildroot et Graphisme sous Linux sont données sur 4 demi-journées. Pour les formations Linux embarqué et Yocto Project, nous annonçons une date de plus pour le cas où du temps supplémentaire serait nécessaire pour terminer le programme.

Voici toutes les sessions disponibles. Si la situation dure plus longtemps, nous créerons de nouvelles sessions au fur et à mesure :

Type Dates Horaires Durée Formateur prévu Coût et inscription
Linux embarqué (agenda) 28, 29, 30 septembre, 1, 2, 5 et 6 octobre 2020 17:00 – 21:00 (Paris), 11:00 – 15:00 (Montréal) 28 h Michael Opdenacker 829 EUR + TVA* (inscription)
Linux embarqué (agenda) 2, 3, 4, 5, 6, 9, 10, 12 novembre 2020 14:00 – 18:00 (Paris), 08:00 – 12:00 (Montréal) 28 h Michael Opdenacker 829 EUR + TVA* (inscription)
Noyau Linux (agenda) 16, 17, 18, 19, 23, 24, 25, 26 novembre 2020 14:00 – 18:00 (Paris) 28 h Alexandre Belloni 829 EUR + TVA* (inscription)
Yocto Project (agenda) 30 novembre, 1, 2, 3 et 4 décembre 2020 14:00 – 18:00 (Paris) 16 h Maxime Chevallier 519 EUR + TVA* (inscription)
Buildroot (agenda) 7, 8, 9, 10 et 11 décembre 2020 14:00 – 18:00 (Paris) 16 h Thomas Petazzoni 519 EUR + TVA* (inscription)
Graphisme sous Linux (agenda) 1, 2, 3 et 4 décembre 2020 14:00 – 18:00 (Paris) 16 h Paul Kocialkowski 519 EUR + TVA* (inscription)

* TVA : s’applique aux entreprises françaises et aux particuliers de toutes origines. Les entreprises de l’Union Européenne ne se verront pas facturer la TVA sous réserve qu’elles fournissent à Eventbrite des informations de facturation et un numéro de TVA intracommunautaire valides, et ceci au moment de l’inscription. Pour les sociétés hors de l’Union Européenne, nous pourrons rembourser la TVA à l’issue de la session, pourvu qu’on nous fournisse une preuve d’enregistrement de la société dans son pays, et ceci avant la fin de la session.

Chaque session publique sera confirmée à partir de 6 inscriptions. Si le nombre minimum d’inscriptions n’est pas atteint, Bootlin proposera de nouvelles dates ou un remboursement complet (y compris les frais d’Eventbrite), si aucune nouvelle date ne vous convient.

Nous garantissons que le nombre de participants ne dépassera pas 12.

Sessions en ligne dédiées

Si vous avez assez de personnes à former, ces sessions dédiées peuvent constituer une alternative avantageuse aux sessions publiques :

  • Des dates et des durées journalières flexibles, correspondant aux disponibilités de vos équipes.
  • Confidentialité : liberté de poser des questions en rapport avec les projets et la stratégie de votre entreprise.
  • S’il reste du temps à la fin, vous pourrez le consacrer à du partage d’expérience avec le formateur, qui pourrait aller au delà du contenu de la formation.
  • Langue: possibilité d’avoir une session en français plutôt qu’en anglais.

Détails sur les séminaires en ligne

Chaque session sera donnée au moyen de la plateforme Jitsi Meet, une solution libre pour les conférences vidéo que nous essayons de promouvoir. En cas de besoin, nous pourrons aussi utiliser Google Hangouts Meet comme solution de secours. Chaque participant devra avoir sa propre connexion et son propre ordinateur (avec une webcam et un micro) et si possible un casque-micro audio, pour éviter tout problème d’écho entre les entrées et les sorties audio. Il s’agit sans doute de la meilleure solution pour permettre à chacun de poser des questions et écrire des commentaires dans la fenêtre de messagerie instantanée. Nous pouvons bien-sûr accueillir des personnes se connectant depuis la même salle de réunion, avec un équipement approprié.

Nous demanderons à chaque participant de se connecter 15 minutes avant le début de la session, pour s’assurer que sa configuration fonctionne (des instructions vous seront envoyées avant l’événement).

Financement

Si votre société a des salariés en chômage partiel, nos formations sont toutes éligibles au financement FNE.

N’hésitez pas à contacter votre OPCO ou à nous contacter pour plus de détails.

Comment s’inscrire

Pour les sessions publiques en ligne, utilisez les liens EventBrite (site en anglais) dans la liste de sessions plus haut pour inscrire un ou plusieurs participants.

Pour inscrire un groupe (en sessions dédiées), veuillez contacter training@bootlin.com et nous indiquer quelle formation vous intéresse. Nous vous enverrons alors un formulaire d’inscription pour recueillir tous les détails dont nous aurons besoin pour établir un devis.

Vous pouvez aussi nous contacter par téléphone au +33 484 258 096.

Questions / réponses

Q : Dois-je commander du matériel à l’avance, ou du matériel me sera t-il fourni ?
R : Non, les travaux pratiques pendant les démonstrations seront remplacés par des démonstrations techniques, donc vous pourrez suivre la formation sans aucun matériel. Néanmoins, vous pouvez quand même vous procurer le matériel en vous reportant aux pages « Shopping list » des supports de présentation pour chaque formation. Ainsi, vous pourrez refaire entre les sessions les manipulations montrées par votre formateur, poser toutes vos questions, et aussi vous faire aider entre les sessions via notre canal Matrix dédié pour y arriver.

Q : Pourquoi juste des démos au lieu de pratiquer sur du vrai matériel ?
R : Nous ne sommes pas prêts à fournir de l’aide à un nombre suffisant de participants utilisant du vrai matériel à distance, ce qui est bien plus complexe et chronophage qu’en session sur site. Nous proposons donc de remplacer les travaux pratiques par des démonstrations faites par le formateur. Celui-ci suivra lui-même les instructions de nos travaux pratiques avec le matériel standard que nous utilisons.

Q : Serait-il possible de faire des travaux pratiques sur l’émulateur QEMU ?
R : Oui, cela arrive. Dans notre formation Linux embarqué, nous fournissons déjà des instructions pour effectuer la quasi-totalité des travaux pratiques entre les sessions, et ceci avant les démonstrations réalisées par le formateur, qui feront alors office de solutions et seront l’occasion de poser toutes questions au formateur. Nous devrions aussi être en mesure de proposer de telles instructions pour les formations Yocto Project et Buildroot dans les mois qui viennent. Ce travail risque de prendre un peu plus de temps pour la formation Noyau Linux, les travaux pratiques étant plus proches du matériel utilisé.

Q : Pourquoi proposer des demi-journées plutôt que des journées entières ?
R : D’après notre expérience, il est très difficile de rester concentré une journée entière sur un sujet technique nouveau sans avoir régulièrement des moments où vous êtes actif (ce qui se produit dans nos sessions publiques et sur site, durant lesquelles nous alternons entre les présentations et les travaux pratiques). Nous pensons donc que des créneaux journaliers de 4 heures (avec une petite pause au milieu) sont une bonne solution, en vous laissant aussi du temps chaque jour pour votre travail habituel.

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

Un petit tour avec Yocto

J’ai eu récemment l’occasion de mettre en œuvre Yocto. J’avais déjà pas mal pratiqué OpenEmbedded auparavant. On peut voir Yocto comme un projet dérivé d’OpenEmbedded même si c’est un peu plus que cela.

En effet Yocto c’est Poky (un système de build qui s’appuie sur OpenEmbedded), quelques outils de build recréés pour l’occasion (swabber, pseudo, etc..) ainsi qu’un ensemble de méta données permettant de créer des distributions embarquées pour un certain nombre de cibles.

La force mais aussi la faiblesse d’OpenEmbedded c’est que c’est un système de build qui peut tout faire: des images finales de rootfs, mais aussi une distribution complète avec son dépôt de paquets prêt à l’emploi, et cela sur plusieurs plateformes matérielles. Cela en fait un système complexe à mettre en œuvre et à prendre en main. Il y a encore 2 ans, la documentation d’OpenEmbedded participait à cette difficulté de prise en main. En effet OpenEmbedded fournissait bien une documentation mais qui ne prenait vraiment tout son sens seulement une fois que l’on avait commencé à maîtriser le sujet. Ce qui est assez paradoxal pour une documentation. Il manquait les éléments qui permettent aux développeurs de rentrer dans ce système de build.

Avec Yocto j’ai pu constater qu’il y a eu un réel progrès de ce côté
là. Le projet vient avec une documentation beaucoup plus complète et surtout beaucoup plus accessible. La prise en main n’est tout de même pas immédiate mais cette fois cela est plutôt dû à la complexité et à la richesse de l’outil.

En quelques heures je suis quand même parvenu à développer un BSP (Board Support Package) minimaliste pour une carte donnée (en l’occurrence une AT91SAM9G20-EK). Le concept de layer permet d’avoir une couche de configuration spécifique pour un matériel donné. On peut en fait même supporter plusieurs matériels différents et on peut aussi ajouter des paquets spécifiques. En fait un layer n’est rien de plus qu’un ensemble de paquets et de configurations ou de surcharges de configurations. Le BSP n’est qu’un layer spécifique à un matériel (ou à un ensemble de matériel). Comme on le voit même pour le support d’une simple carte électronique, il y a déjà beaucoup de concepts qui entrent en jeu. Il y a aussi déjà de nombreuses façon de faire qui arriveront à la même fin mais qui seront plus ou moins faciles à maintenir. Le concept de BSP se rapproche surtout d’un « guideline » pour permettre à la « communauté Yocto » d’avoir un référentiel commun. Je tâcherai d’illustrer la mise en œuvre d’un BSP sur la carte AT91SAMG20-EK dans mes prochains articles ici même et/ou sur ma page Google+.

Une autre avancée notable de Yocto est son optimisation pour le temps de la première compilation d’une cible « minimale », je suis passé de plus de 3 heures à une légèrement plus d’heure maintenant. Cela reste quand même très long notamment pour une cible qui se veut minimale.

Pour faire une image d’un système avec quelques composants seulement, Buildroot reste largement plus approprié. Pour des systèmes requérant un grand nombre de composants, alors il vient souvent le besoin de fonctions plus avancées comme la gestion d’un dépôt de paquet ou la prise en charge de plusieurs plateformes matérielles par exemple. Dans ce cas-là, Yocto reste la meilleure (la seule?) option d’autant plus que ce projet tend à améliorer les points faibles historiquse d’OpenEmbedded.

Numéro hors-série de Linux Magazine sur l’embarqué

Couverture Linux MagazineActuellement en kiosque, un numéro hors-série de Linux Magazine sur l’embarqué, avec des articles forts intéressants, dont certains sur le projet Buildroot, auquel Bootlin contribue de manière active. Au menu de ce magazine :

  • Le développement d’applications sur Android, sur un exemple utilisant les fonctionnalités géographiques de la plateforme. Une introduction didactique pour qui souhaite se lancer dans le développement d’applications pour cette plateforme qui a clairement le vent en poupe dans le monde mobile.
  • Le développement d’applications en Python pour Symbian. Intéressant, même si le futur de Symbian semble incertain. Il y a fort à parier que Nokia va plutôt s’orienter vers la nouvelle plateforme MeeGo (fusion récente de Maemo et Moblin).
  • Introduction à Buildroot, par Pierre Ficheux, qui montre comment construire un système avec Buildroot et le faire fonctionner dans l’émulateur Qemu. Les principales fonctionnalités de Buildroot et son fonctionnement sont présentés, de manière progressive. Seul petit regret: la description de l’ajout d’un paquet dans Buildroot utilise l’ancienne méthode, rendue obsolète depuis par les infrastructures pour les paquets autotools et l’infrastructure générique (contribuée par Bootlin pour la version 2010.02 de Buildroot).
  • Cas pratique d’utilisation de Buildroot, article dans lequel Pierre Ficheux montre comment intégrer dans Buildroot le support de nouvelles cartes matérielles, en l’occurence deux cartes de chez Pragmatec.
  • OpenWRT sur ACME Fox, article de Denis Bodor montre comment utiliser OpenWRT, un autre système de construction de systèmes Linux embarqué, pour produire un système fonctionnel sur des cartes à base de processeurs ETRAX.
  • Mise en œuvre de Linux embarqué sur le processeur softcore libre LEON, article par Ahmed Ben Atitallah avec la participation de Patrice Kadionik. Le LEON est un processeur RISC 32 bits développé par l’Agence Spatiale Européenne, et compatible avec l’architecture SPARC. Ses sources HDL sont intégralement disponibles, chacun peut le modifier et le synthétiser sur son FPGA. L’article montre comment configurer le processeur avant de le flasher dans un FPGA, puis la configuration et la mise en œuvre d’un système Linux embarqué en utilisant SnapGear Linux.
  • Étude d’un système d’exploitation pour microcontrôleur faible consommation (TI MSP 430) : pilote pour le stockage de masse au format FAT sur carte SD, un article de Gwenhaël Goavec-Merou et de Jean-Michel Friedt, qui comme d’habitude, intègre agréablement électronique et informatique. On y apprend notamment le fonctionnement de TinyOS, un OS libre pour micro-contrôleurs, avec une structure un peu particulière, comment un LCD a été connecté au TI MSP 430, puis un GPS et un lecteur de carte SD sur SPI, avant de détailler l’implémentation d’un driver FAT minimal permettant l’enregistrement longue durée de traces GPS sur la carte SD.
  • Le VHDL pour les débutants, une véritable mini-introduction au VHDL pour ceux qui ne connaissent pas, avec la réalisation pratique d’un composant de décalage de bits (transformation d’un signal série en 8 signaux parallèles). D’autres articles suivront, avec notamment la compilation/simulation en utilisant GHDL.

En bref, un numéro passionnant, que vous pouvez feuilleter rapidement sur http://ed-diamond.com/feuille_lmhs47/index.html pour vous faire une idée plus précise.

Présentation de Buildroot aux RMLL par Thomas Petazzoni

RMLL 2009La semaine prochaine, du 7 au 11 juillet, se tiennent à Nantes les Rencontres Mondiales du Logiciel Libre, le rendez-vous majeur de l’année pour la communauté du Logiciel Libre en France. Un thème Systèmes embarqués et matériel libre proposera un certain nombre de conférences sur nos sujets préférés. J’y ferai une présentation de Buildroot, l’outil de génération de systèmes Linux embarqué, auquel je contribue par ailleurs. Elle aura lieu le jeudi 9 juillet à 10h50.

Si vous passez par les RMLLs, n’hésitez pas à venir me rencontrer !