Actus trimestrielles: janvier 2013

Toute l’équipe de Bootlin vous souhaite une bonne année 2013, avec tout le succès que vous attendez dans vos projets personnels et professionnels, et dans vos contributions à la vie d’autrui. Nous saisissons cette occasion pour vous donner des nouvelles de Bootlin.

En 2012, Bootlin a continué à travailler sur des projets de développement. La principale différence avec 2011 est que les projets ont été bien plus longs. En voici les plus importants:

  • Développement de code pour le noyau Linux, pour prendre en charge les processeurs Armada 370 et Armada XP de Marvell dans le noyau Linux officiel. Cela représente des mois d’ingénierie ! Les modifications que nous avons apportées apparaissent sur git.kernel.org.
  • Développement de code pour le noyau Linux et mise en place d’un environnement de développement pour un nouveau système à base d’i.MX28 conçu par Crystalfontz, en ajoutant le support de cette carte à la version officielle de Linux. Vous trouverez plus de détails sur la page du projet sur Kickstarter !
  • Mise en place d’un système de compilation, développement de code de chargeur de démarrage et de pilotes noyau, amélioration du mécanisme de mise à jour, et plus généralement travail de développement de système Linux embarqué.
  • Développement de code noyau pour les convertisseurs analogique-numérique des processeurs AT91 d’Atmel, et inclusion dans les sources officielles du noyau.
  • Réduction du temps de démarrage et audit de gestion de l’énergie pour un terminal de paiement à base de processeur MIPS.
  • Réduction du temps de démarrage sur une plateforme de développement à base de processeur ARM pour terminal de paiement.
  • Développement, intégration, et support d’un système Linux embarqué

Que ce soit à travers des contrats ou des contributions directes, 2012 nous a donné de nombreuses occasions de contribuer à des projets open-source, en particulier:

  • 195 patches inclus dans le noyau Linux, sans compter ceux qui ont été acceptés par les mainteneurs mais n’apparaissent pas encore dans la version de Linus Torvalds. Voir git.kernel.org pour plus de détails.
  • 448 patches inclus dans le système compilation Buildroot: détails sur git.buildroot.net.
  • 9 patches inclus dans le chargeur de démarrage U-boot.
  • 7 patches pour le chargeur de démarrage Barebox: détails sur git.penguntronix.de.

Au passage, voici la commande git que vous pouvez lancer dans les dépôts correspondants pour obtenir ces mesures par vous-mêmes:

git shortlog --no-merges -sn --author votre-domaine --since="01/01/2012" --until="12/31/2012"

Nous avons également donné de multiples sessions de nos formations Linux embarqué et développement de pilotes de périphériques noyau Linux. Nous avons également fini de migrer nos supports de formation du format Open Document vers LaTeX, et leurs sources sont maintenant disponibles sur notre dépôt git public. Cela devient beaucoup plus simple de suivre les changements et de soumettre des contributions.

Nous avons également créé une nouvelle formation sur le développement système avec Android, et avons donné de multiples sessions chez nos clients ainsi qu’en session inter-entreprises à Toulouse. Il s’agit d’un programme de quatre jours, pour comprendre l’architecture du système Android, comment compiler et personnaliser le système pour une plateforme matérielle particulière, et comment l’étendre pour prendre en charge de nouveaux périphériques.

Tout comme l’an passé, nous avons partagé notre expérience lors de conférences techniques internationales:

En participant à ces conférences, nous avons également enregistré et publié des vidéos des présentations:

Grâce à leurs contributions au noyau Linux official sur la plateforme ARM, Grégory Clément et Thomas Petazzoni ont également été invités au minisummit ARM au Linux Kernel Summit à San Jose en août. Ils ont été impliqués dans les décisions techniques sur les prochaines évolutions du noyau Linux sur l’architecture ARM.

Nous avons aussi organisé et à participé à deux événements « Buildroot developer days », un à Bruxelles après le FOSDEM, et le deuxième à Barcelone après ELC Europe.

Nous avons également continué à participer au développement de la communauté de Linaro, une société d’ingénierie à but non lucratif dont le but est l’amélioration de Linux sur la plateforme ARM. Cet engagement est arrivé à son terme, et ceci permet à Michael Opdenacker de reprendre des projets plus techniques.

Il est maintenant temps de partager nos projets pour 2013.

Nous avons prévu de recruter de nouveaux ingénieurs pour satisfaire une demande toujours croissante pour nos services de développement et de formation. En particulier, un nouvel ingénieur nous rejoint en mars.

Nous organisons également de nouvelles sessions de formation inter-entreprises en France, dont les dates sont maintenant disponibles:

Nous prévoyons également d’annoncer plusieurs nouvelles formations. Étant très pris par des projets en 2012, nous n’avons pas eu le temps d’avancer dans les objectifs que nous avions annoncés il y a un an:

  • Formation Git. Une formation de deux jours pour bien maîtriser l’utilisation du système de gestion de sources distribué Git, que ce soit pour des projets internes ou pour contribuer à des projets open-source.
  • Formation sur le débogage, le traçage et l’analyse de performance sur le noyau Linux. Une session d’une ou deux journées pour tracer l’exécution des fonctions du noyau, et pouvoir rechercher les causes de dysfonctionnements et de problèmes de performance.
  • Formation sur la réduction du temps de démarrage. Une formation d’une ou deux journées pour apprendre et maîtriser la méthodologie et les techniques pour faire démarrer plus vite vos systèmes Linux embarqué.

Comme nous ne sommes qu’aux premières étapes de la préparation de ces formations, n’hésitez pas à saisir l’occasion de nous contacter et de nous faire part de vos attentes, pour influer sur leur contenu final, au cas où vous seriez intéressés par de telles formations.

Nous continuerons également à participer aux conférences techniques les plus importantes. En particulier, les ingénieurs de Bootlin seront présents à l’Android Builders Summit et à l’Embedded Linux Conference à San Francisco, ainsi qu’à l’Embedded Linux Conference Europe à Edinbourg en octobre. Cette participation aux conférences permet à nos ingénieurs de rester au courant des derniers développements dans le domaine de Linux embarqué et de créer des contacts utiles dans la communauté. N’hésitez pas à vous rendre ces conférences, pour développer vos connaissances techniques et pourquoi pas en profiter pour nous rencontrer !

Enfin, nous ferons aussi plus d’efforts pour publier ce bulletin vraiment chaque trimestre. En 2012, nous étions si occupés par nos projets que nous n’avons pas réussi à publier de bulletins pour les troisième et quatrième trimestres.

Vous pouvez continuer à suivre les actualités de Bootlin en lisant notre blog en anglais (31 articles en 2012), nos actualités francophones et en suivant nos nouvelles brèves sur Twitter.

Une fois de plus, bonne année 2013 !

L’équipe de Bootlin.

Séminaire gratuit sur Android le 29 janvier à Gardanne

Android robotLe programme Captronic organise un séminaire gratuit sur Android et son utilisation dans les systèmes embarqués. Celui-ci se tiendra le 29 janvier à Gardanne, près de Marseille, et sera présenté par mon collègue Maxime Ripard, qui est le créateur de notre formation sur le développement système avec Android.

Matinée

  • Présentation générale d’Android
  • Opportunités d’utiliser Android dans des systèmes embarqués qui ne sont ni des téléphones ni des tablettes
  • Détails sur l’architecture d’Android et sa personnalisation
  • Code source et compilation
  • Modifications apportées par Android au noyau Linux
  • Chargeurs de démarrage pour Android
  • Prise en charge d’un nouveau matériel
  • L’organisation du système de fichiers d’Android
  • Les couches natives d’Android et l’appel d’un programme C depuis Android pour l’accès à un matériel spécifique
  • Introduction au développement d’applications
  • Personnalisation du système
  • Utilisation d’adb (Android Debug Bridge) pour la mise au point et le contrôle à distance du système.
  • Ressources et bonnes pratiques

Après-midi

  • Démonstrations de plusieurs aspects du développement de systèmes avec Android
    • Récupération des sources et compilation
    • Démonstration de l’émulateur d’Android
    • Démarrage d’Android sur une carte électronique à base de processeur ARM OMAP 3530, en utilisant une console série.
    • Prise en compte de boutons spécifiques. Exemple de la touche « Back ».
    • Utilisation d’adb : installation, accès au logs du système, accès à une ligne de commande sur l’équipement, échange de fichiers avec le PC.
    • Personnalisation du système : changer le nom du produit, le fond d’écran par défaut, rajouter une nouvelle propriété.
    • Pour l’accès à un matériel spécifique (un périphérique USB par exemple), développement d’une bibliothèque native et accès à cette fonctionnalité depuis le framework Android via une classe et une bibliothèque JNI spécifiques.
    • Présentation d’une application permettant de contrôler un périphérique USB.
  • Questions et réponses

L’inscription est gratuite mais une inscription préalable est requise. Voir la page de Captronic sur ce séminaire.

Par ailleurs, les transparents de ce séminaire sont disponibles dans leur intégralité. Cela vous permettra de vous assurer que le séminaire correspondra à vos attentes.

Brevets logiciels : lettre aux députés européens

La menace des brevets logiciels est de retour, à travers le projet de « Brevet Unitaire » qui est actuellement à l’étude à la Commission Juridique du Parlement Européen. En quelques mots, il s’agit de confier à l’Office Européen des Brevets (OEB) le soin de définir ce qui est brevetable et ce qui ne l’est pas. Or l’OEB est bien connu pour être favorable aux brevets logiciels, et échappe également à tout contrôle démocratique.

Vous trouverez plus d’informations sur le site Stop Software Patents.

Après les dernières batailles sur les brevets logiciels en 2005, il était temps de reprendre ma plume pour essayer de sensibiliser nos représentants aux dangers que représentent les brevets logiciels. La lettre ci-dessous a été envoyée la semaine dernière à chacun des membres de la commission juridique, en version anglaise ou en version française.

Il ne s’agit pas d’une étude juridique approfondie sur les brevets logiciels, car je ne suis qu’un ingénieur, ne disposant pas de connaissances juridiques avancées. Il s’agit plutôt du témoignage de mes inquiétudes par rapport à ces brevets, inquiétudes légitimées par les nombreuses dérives observées de par le monde depuis de longues années, et par les multiples pressions que nos législateurs ont subies pour légaliser les brevets logiciels en Europe.

Il n’est peut-être pas trop tard pour écrire à vos représentants aux parlement Européen, mais en tout cas, il n’est pas trop tard pour signer la pétition que de nombreuses entreprises et de nombreux particuliers ont signée.

Madame, Monsieur le député européen,

Je suis le créateur et dirigeant de Bootlin, une jeune société d’ingénierie en informatique embarquée, qui accompagne des entreprises du monde entier dans la conception de systèmes embarqués, sur un marché à forte croissance.

C’est la disponibilité d’un grand nombre de briques logicielles Open-Source qui a permis à notre société de connaître une croissance continue depuis sa création en 2004. De très nombreux produits industriels et d’électronique grand public sont conçus à partir de ces briques, développées en commun par une communauté de développeurs dans le monde entier, à laquelle notre entreprise participe.

Or, cette dynamique aurait pu être atténuée si les brevets logiciels avaient été légaux dans l’UE, comme ils le sont aux États-Unis et au Japon. Par leur nombre et souvent leur trivialité, ces brevets constituent un véritable « champ de mines » pour tout créateur de logiciels et de système embarquant du logiciel. Pour une société aux moyens limités, il est en effet impossible de s’assurer que les idées que l’on met en pratique en programmant, ou les composants logiciels qu’on réutilise, ne «posent pas le pied» sur méthode brevetée par un tiers. Le créateur d’un produit innovant à base de matériel et de logiciel court alors le risque de voir son investissement ruiné par un concurrent plus gros auquel son invention ferait de l’ombre. Ce concurrent, s’il possède un jeu de brevets suffisamment fourni, pourra toujours trouver un brevet logiciel trivial enfreint par le produit concurrent, et faire arrêter la diffusion du produit. Un autre danger vient aussi de sociétés (« Patent trolls ») qui ne créent aucun produit et ne vivent que par la recherche de victimes qui enfreignent des brevets dans leurs produits.

Il est ainsi inquiétant de constater qu’au moins dans le domaine du logiciel, les brevets sont détournés de leur vocation première de favoriser l’innovation. C’est tout le contraire qui se produit, et il semble que les brevets ne sont aujourd’hui plus qu’un instrument pour des sociétés géantes pour lutter contre leurs concurrents, gros comme petits, et s’opposer à la distribution de produits concurrents. Les premiers brevets accordaient un monopole provisoire en échange de la révélation d’un secret de fabrication. Pour de nombreux brevets logiciels, comme le fameux « double clic » breveté par Microsoft, il n’y a plus de secret de fabrication à révéler, tant leurs effets sont faciles à reproduire. Pourtant, on continue d’accorder un monopole pour ces brevets.

Notre entreprise est donc inquiète des projets en cours pour installer un brevet unitaire dans l’UE, accompagné d’une cour unifiée des brevets.

Nous sommes préoccupés du fait que le règlement sur le brevet unitaire, selon l’accord obtenu en décembre 2011 par les négociateurs du Conseil, de la Commission et de la commission des affaires juridiques du Parlement européen, abandonne toute question à propos des limites de la brevetabilité à la jurisprudence de l’Office Européen des Brevets (OEB), sans contrôle démocratique, ni recours devant un tribunal indépendant.

Pourtant, au mépris du rejet que le Parlement européen a exprimé dans ses votes du 24 septembre 2003 et du 6 juillet 2005, l’OEB a continué à délivrer des brevets logiciels, sous l’appellation trompeuse d’« inventions mises en œuvre par ordinateur ». C’est peut-être parce que l’OEB, échappant à tout contrôle démocratique, a un intérêt financier à délivrer un maximum de brevets, et ainsi alimenter une augmentation des litiges, qui profite aux cabinets d’avocats mais décourage l’innovation, qui pourtant est le principal moteur de notre économie.

Le règlement sur le brevet unitaire est une opportunité pour les législateurs de l’UE d’harmoniser le droit matériel des brevets dans le cadre institutionnel et juridique de l’UE, et de mettre fin aux pratiques intéressées de l’OEB qui étendent le domaine de la brevetabilité aux logiciels. Si cela échoue, le brevet unitaire sera plus préjudiciable que bénéfique pour les entreprises informatiques européennes.

Pour ces raisons, nous incitons vivement les législateurs à adopter des amendements qui énoncent clairement que les décisions de l’OEB sont sujettes à un recours devant la Cour de justice de l’Union européenne et réaffirment le rejet des brevets logiciels exprimé par les votes du Parlement Européen.

N’hésitez pas à me contacter si vous le souhaitez.

Bien cordialement,

Michael Opdenacker

Actus trimestrielles: avril 2012

Ceci est le deuxième exemplaire du bulletin d’informations de Bootlin en 2012. Nous avons le plaisir de partager avec vous des nouvelles de nos projets, de nos formations et de nos contributions.

Nouvelle formation « Android : développement système

Comme annoncé dans l’édition précédente de ce bulletin, nous avons créé une nouvelle formation sur le développement de systèmes avec Android.

Cette formation est conçue pour les ingénieurs qui souhaitent développer un système embarqué à base d’Android. En quatre jours, au travers de cours théoriques et de travaux pratiques, elle vous familiarise avec la compilation et le démarrage d’Android, avec l’adaptation d’Android à une nouvelle carte embarquée (en supposant que celle-ci soit déjà supportée par le noyau Linux), et enfin avec la construction d’un vrai système via l’accès à un matériel spécifique, la personnalisation du système de fichiers et les techniques de débug.

La première session inter-entreprises sur ce sujet se tiendra du 11 au 14 juin 2012 à Toulouse (la session sera présentée en anglais, mais le formateur sera francophone, pour des échanges en français pendant les travaux pratiques). Il reste encore des places disponibles pour cette session.

Nous commencerons à donner des sessions sur site à partir de juillet 2012. N’hésitez pas à nous contacter si vous souhaitez organiser une session dans vos locaux.

Ouverture du code source de nos supports de formation

Depuis la création de Bootlin en 2004, nous avons toujours publié nos supports de formation sous licence libre (actuellement la licence Creative Commons Attribution Share-Alike), de telle sorte que chacun puisse partager, améliorer et bien sûr utiliser nos supports de formation sur Linux embarqué et sur le noyau Linux. Depuis ce temps, les supports de formation étaient disponibles au format PDF, et au format OpenDocument pour le code source, mais nous ne mettions à jour les versions en ligne que de temps à autre.

Nous avons maintenant le plaisir de vous annoncer que nos supports de formation sont en cours de conversion vers le langage LaTeX, et que leur dernière version est disponible à tout instant sur notre dépôt Git public.

Pour le moment, nous avons déjà publié sur ce dépôt nos transparents sur Linux embarqué (500 pages environ), ainsi que les instructions pour les travaux pratiques de nos sessions sur Linux embarqué et sur le noyau Linux. Dans un futur proche, nous publierons également la version LaTeX des transparents de notre formation sur le noyau Linux (qui est déjà disponible aux formats PDF et OpenDocument), ainsi que les supports de notre nouvelle formation sur le développement système avec Android.

La création de ce dépôt public Git est un signe fort de notre engagement pour des supports de formation ouverts.

Le format LaTeX et le dépôt Git public permettent maintenant à tout un chacun de suivre les évolutions de nos supports, pour se tenir informé, ou même pour donner une formation en utilisant nos supports (l’utilisation commerciale de ceux-ci est la bienvenue, car elle permet de diffuser la connaissance des logiciels libres pour l’embarqué).

Prochaines sessions inter-entreprises

Voici nos prochaines sessions de formation :

  • Noyau Linux et développement de pilotes de périphériques
    4 au 8 juin 2012
    Toulouse
    Session en français
    (Plus de places disponibles)
    Détails
  • Développement système avec Android
    11 au 14 juin 2012
    Toulouse
    Session en anglais
  • Développement de systèmes Linux embarqué
    18 au 22 juin 2012
    Avignon
    Session en français
    Détails
  • Noyau Linux et développement de pilotes de périphériques
    2 au 6 juillet 2012
    Avignon
    Session en français
    Détails
  • Noyau Linux et développement de pilotes de périphériques
    8 au 12 octobre 2012
    Avignon
    Session en anglais
    Détails
  • Développement de systèmes Linux embarqué
    15 au 19 octobre 2012
    Toulouse
    Session en français
    Détails
  • Développement de systèmes Linux embarqué
    3 au 7 décembre 2012
    Avignon
    Session en anglais
    Détails
  • Développement de systèmes Linux embarqué
    4 au 8 février 2013
    Lyon
    Session en français
    Détails

Projets

Depuis le début de l’année, nous avons été impliqués dans les projets suivants :

  • Optimisation du temps de démarrage et de la consommation électrique pour un terminal de paiement sur plateforme MIPS;
  • Optimisation du système de fichiers et intégration d’un système de compilation automatique, développement d’un pilote PHY Ethernet pour plateforme de traitement de vidéo satellite à base d’ARM AT91;
  • Intégration d’un système de compilation automatique, mise au point et support d’une plateforme AT91 ARM utilisée comme passerelle entre équipements médicaux;
  • A partir d’avril, nous travaillerons avec un des principaux fournisseurs de processeurs ARM, pour les aider à intégrer le support de leurs processeurs dans les sources officielles du noyau Linux;
  • Poursuite du développement des supports pour notre nouvelle formation « Android : développement système »;
  • Poursuite de notre travail sur le pilote pour les convertisseurs analogique – numérique des processeurs AT91 ARM (voir le paragraphe « Contributions » plus bas);
  • Poursuite de nos bancs d’essai de Linux temps-réel sur les CPUs AT91 ARM (voir le paragraphe « Contributions » plus bas);

Offres d’emploi

Bootlin est à la recherche d’un développeur noyau en région niçoise, pour un recrutement en CDI. Plus de détails.

Conférences et contributions

Embedded Linux Conference et Android Builders Summit

Trois ingénieurs de Bootlin ont participé à l’Embedded Linux Conference 2012 et à l’Android Builders Summit 2012 à Redwood Shores, près de San Francisco en Californie en février. Cette forte participation de nos ingénieurs aux conférences techniques est un facteur clé pour rester à jour des technologies dans le domaine de Linux embarqué et pour garder le contact avec la communauté de développeurs.

Durant la conférence, nous avons publié des rapports journaliers sur les présentations que nous avons trouvé intéressantes :

A l’issue de la conférence, nous avons aussi publié des vidéos des présentations :

Notre script pour encoder les vidéos au format libre de droits VP8 et ajouter une séquence d’introduction aux vidéos est maintenant disponible sur notre serveur Git public.

A cette conférence, notre ingénieur Thomas Petazzoni a donné une présentation intitulée « Buildroot, a nice, simple and efficient embedded Linux build system ». En voici
les transparents et la vidéo.

FOSDEM

Deux de nos ingénieurs ont participé à la conférence FOSDEM, une conférence de la communauté des développeurs de logiciels libres, en début février.

Notre ingénieur Maxime Ripard a donné une présentation sur ses travaux sur le sous-système IIO du noyau, qu’il a utilisé pour écrire un pilote ADC pour les processeurs AT91. Voici les transparents.

Notre ingénieur Thomas Petazzoni a donné une présentation intitulée « Utilisation de Qt pour applications non graphiques ». Voici les transparents.

Convertisseurs analogique – numériques pour AT91

Des détails sur le pilote pour les convertisseurs analogique – numérique des processeurs AT91 ont été publiés sur le wiki d’Atmel Linux4Sam. Ce pilote s’appuie sur l’infrastructure IIO, et nous sommes en train de faire inclure ce driver dans les sources officielles de Linux. Voir la page sur le wiki d’Atmel.

Tests de performance sur Linux temps-réel

Un rapport sur des bancs d’essai très complets conduits par Grégory Clément de Bootlin sur les plateformes AT91 a été publié sur le wiki Linux4Sam d’Atmel. Ce rapport compare un noyau Linux standard, les patches PREEMPT-RT et l’approche Xenomai à base de co-noyau, à travers des mesures de performance sur des timers et des GPIOs. Voir la page sur le wiki d’Atmel.

Buildroot

L’implication de Bootlin dans le projet Buildroot est toujours importante :

  • Maxime Ripard et Thomas Petazzoni ont participé au Buildroot Developer Day organisé à Bruxelles avant la conférence FOSDEM. Un rapport de cette rencontre, qui a réunit d’autres développeurs de Buildroot, est disponible dans les archives de la liste de discussion de Buildroot.
  • Depuis le début de l’année, Thomas Petazzoni a partagé 64 patches qui ont été inclus : prise en charge de la solution de traçage de Linux LTT-ng, prise en charge des outils de développement dans l’interface menuconfig, de nombreuses mises à jour pour le support des chaînes de compilation externes, et de nombreux autres correctifs.
  • Pendant la même période, Maxime Ripard a partagé 13 patches qui ont été inclus : prise en charge de systemd, améliorations de l’infrastructure de paquetages, et d’autres correctifs.
  • Thomas Petazzoni a implémenté une interface Web qui expose les résultats de nos tests avec des configurations aléatoires, disponibles sur http://autobuild.buildroot.org. Ces tests sont tournés 7 jours sur 7, 24 heures sur 24 sur trois machines, avec des configurations diverses. Cette interface Web récupère les résultats des tests et envoie un résumé tous les jours à la liste de diffusion de Buildroot. Cela a déjà permis de corriger de nombreux problèmes de compilation, and va permettre d’améliorer la qualité de Buildroot dans le futur.

Formation sur le noyau Linux

Les participants à notre session sur le noyau Linux et le développement de pilotes de périphériques, ont commencé à contribuer aux sources du noyau Linux pendant la session elle-même. Voici les patches qui ont été acceptés jusqu’à présent :

Dans nos travaux pratiques sur Git, au lieu de demander aux participants de faire des modifications « bidon » aux sources de Linux, nous leur demandons d’implémenter de vraies améliorations et de les envoyer aux bons mainteneurs et listes de discussion. De cette façon, nos clients acquièrent une meilleure compréhension de comment ils peuvent interagir avec les développeurs du noyau Linux, pour faire accepter leurs modifications et leurs contributions.

Voir les parties qui couvrent Git dans nos transparents sur le noyau et dans nos travaux pratiques.

Blog

Bootlin a publié plusieurs billets sur son blog en anglais. C’est là que nous publions nos ressources techniques, pour rendre celles-ci disponibles au plus grand nombre :

Nous avons également publié des informations en français:

Vous pouvez suivre les actualités de Bootlin en lisant nos blogs en anglais et en français, ainsi qu’en suivant nos
nouvelles brèves sur Twitter.

A ce propos, la colonne de droite sur le blog de Bootlin détaille les billets et les pages les plus visitées. Cela peut vous aider à découvrir des ressources techniques utiles que vous pourriez avoir manqué.

Bootlin reste à votre disposition pour vous accompagner dans vos projets sur Linux embarqué, aussi bien à travers ses services de développement et d’assistance technique, qu’à travers ses sessions de formation. N’hésitez pas à nous contacter!

Grégory, Maria, Maxime, Michael et Thomas – Bootlin

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.

Actus trimestrielles: bilan 2011, voeux et projets pour 2012

Toute l’équipe de Bootlin vous souhaite une Bonne Année 2012 avec tout le succès dans vos projets professionnels et personnels. Nous profitons de cette occasion pour vous donner des nouvelles de Bootlin.

Cette année, Bootlin :

A travaillé sur de multiples projets pour différents clients.

En voici les plus importants :

  • Développement d’un système Linux embarqué et d’une application à base de Qt pour un équipement RFID/GSM à base de processeur ARM AT91.
  • Réduction du temps de démarrage sur un terminal de paiement sur plateforme MIPS, en améliorant l’intégration du système Linux embarqué.
  • Développement d’un système Linux embarqué pour un équipement à base d’ARM AT91 pour le secteur médical (adaptation du noyau et du chargeur de démarrage, intégration du système, portage d’application)
  • Portage du jeu de patches PREEMPT_RT vers le noyau 2.6.32 fourni par Texas Instruments
  • Développement de driver pour les convertisseurs Analogique vers Numérique inclus dans les processeurs AT91.
  • Conduite d’une analyse de performance temps-réel des solutions PREEMPT_RT et Xenomai sur des processeurs AT91.
  • Développement d’un dérivé d’Ubuntu pour la BeagleBoard, pour un système embarqué d’acquisition et d’analyse d’image avec OpenCV.
  • Réduction du temps de démarrage sur plateforme i.MX, avec des modifications majeures apportées au chargeur de démarrage.
  • Développement d’un démonstrateur pour le tableau de contrôle d’une voiture de course, sur plateforme AT91, avec une application graphique utilisant la bibliothèque Qt.

A aidé ses clients à résoudre leurs problèmes en rapport avec Linux embarqué, à travers l’assistance technique apportée par les ingénieurs de Bootlin.

A contribué à plusieurs projets open-source :

  • 167 patches pour l’outil de compilation Buildroot
  • 6 patches pour le noyau Linux. De nombreux autres sont à attendre quand notre driver ADC pour AT91 sera intégré à la version officielle.
  • 6 patches pour le chargeur de démarrage Barebox
  • 4 patches pour le chargeur de démarrage U-Boot
  • 3 patches pour le projet LTT-ng

A animé de nombreuses sessions de nos formations Développement de systèmes Linux embarqué et Noyau Linux et développement de pilotes de périphériques. Les supports de ces formations sont mis à jour en permanence et sont toujours disponibles sous une licence Creative Commons.

A préparé des supports pour notre nouvelle formation sur le développement de systèmes embarqués avec Android. Il s’agit d’une formation de quatre jours pour comprendre l’architecture du système Android, comment compiler et personnaliser Android pour une plateforme matérielle spécifique, et comment étendre la plateforme d’Android pour prendre en charge de nouveaux périphériques. Une première session inter-entreprises sera organisée en Juin à Toulouse.

A remplacé la carte CALAO USB-A9263 (à base d’AT91) utilisée dans notre formation « Développement de systèmes Linux embarqué » par la carte IGEPv2 d’ISEE (à base d’OMAP3), bien plus puissante et offrant plus de possibilités de développement pour notre formation.

A engagé un nouvel ingénieur, Maxime Ripard, ayant de l’expérience avec Android et en Linux embarqué, et créé un nouvel établissement à Toulouse.

A déplacé son siège à Orange dans le Vaucluse. Tout en restant assez proches de la Côte d’Azur, notre région d’origine, nous nous rapprochons des autres régions de France.

A donné deux présentations à l’Embedded Linux Conference Europe à Prague (Utilisation de Buildroot dans de vrais projets et Qt pour applications non graphiques), a donné une présentation sur la réduction du temps de démarrage à la conférence de GENIVI à Dublin, et à donné cinq éditions d’un séminaire d’introduction à Linux embarqué dans différentes régions de France.

A participé à plusieurs conférences, pour lesquelles l’équipe de Bootlin a aussi enregistré et publié des vidéos des présentations :

A participé au développement de la communauté de Linaro, une organisation d’ingénierie travaillant à l’amélioration de Linux sur la plateforme ARM. En plus de s’assurer que Linaro se dote de l’infrastructure nécessaire pour cultiver une communauté de développeurs et d’utilisateurs, nous avons aussi assisté les utilisateurs des releases de Linaro sur Ask Linaro.

En 2012, nous avons pour projets :

De travailler sur de nouveaux projets de portage de noyau Linux, de réduction du temps de démarrage, de gestion de l’énergie et d’intégration de systèmes Linux embarqué.

D’annoncer de nouvelles sessions de formation :

  • Une formation sur Git. Une session de deux jours pour bien comprendre comment utiliser le système distribué de gestion de versions Git, à la fois pour des projets internes et pour contribuer à des projets open-source.
  • Une formation avancée sur Buildroot. Une session de trois jours pour avoir une compréhension claire et détaillée du système de compilation Buildroot : comment rajouter de nouveaux composants, comment le personnaliser pour produire un système de fichiers complet pour une plateforme matérielle donnée.

Comme nous sommes en train de préparer ces formations, nous sommes particulièrement intéressés par vos retours. N’hésitez pas à nous faire part de vos idées et de vos besoins sur ces sujets.

De passer notre formation Noyau Linux et développement de pilotes de périphériques sur une plateforme à base d’OMAP3, et l’étendre couvrir le développement d’un pilote pour un périphérique I2C connecté à la carte.

De migrer nos supports de formation vers une format source textuel (LaTeX), et les développer depuis un arbre Git public. Il deviendra ainsi plus facile de contribuer à ces support et de suivre les changements entre les versions.

De participer à plusieurs conférences. Bootlin sera présent au FOSDEM à Bruxelles en février, à l’Android Builders Summit et l’Embedded Linux Conference à San Francisco en février, et aussi à L’Embedded Linux Conference Europe à Barcelone en Octobre. Cette participation aux conférences permet aux ingénieurs de Bootlin de bien connaître les derniers développements dans le domaine de Linux embarqué, et de créer de précieux contacts dans la communauté.

Vous pouvez suivre les actualités de Bootlin en lisant notre blog (24 articles en 2011), nos actualités francophones (12 billets en 2011) and en suivant nos nouvelles brèves sur Twitter.

Bootlin reste à votre disposition pour vous accompagner dans vos projets sur Linux embarqué, via nos services de développement et d’assistance technique, et via nos sessions de formation. N’hésitez pas à nous contacter !

Bien cordialement, et une nouvelle fois : bonne année 2012 !

Grégory, Maria, Maxime, Michael et Thomas – Bootlin

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é.

Présentation sur Linaro à SophiaConf 2011

J’aurai bientôt le plaisir de donner une présentation sur Linaro à SophiaConf 2011, lors de la soirée sur le thème Open Source, Mobile et Embarqué, le 4 juillet 2011 à Sophia Antipolis.

Ma présentation fera suite à la keynote de Philippe Garnier, de ST Ericsson, qui marquera le début de la distribution en France de la carte Snowball et le lancement de la Communauté Igloo. Linaro, que je vais présenter, s’est chargé du port de Linux sur cette nouvelle carte.

Voici la description de mon intervention:

Linaro – Ressources techniques pour la communauté ARM Linux

Linaro est une société d’ingénierie à but non lucratif créé en juin 2010 par ARM, Texas Instruments, Freescale, ST-Ericsson, Samsung et IBM. Il s’agit d’une initiative commune pour améliorer et unifier l’infrastructure bas niveau de Linux sur la plateforme ARM. Linaro emploie maintenant plus de 100 ingénieurs dans plusieurs groupes de travail: noyau, compilateurs et outils, graphiques, multimédia, gestion de l’énergie…

Linaro est tout le contraire d’un nième groupement d’industriels ne produisant que des spécifications à usage interne. Son unique vocation est de développer de nouvelles fonctionalités tirant partie des processeurs ARM les plus récents, et de faire intégrer ces contributions dans les versions officielles de la communauté (noyau Linux, compilateurs, QEMU…). Linaro a un fonctionnement complètement ouvert, et n’importe quelle bonne volonté peut participer à ses projets et à ses discussions techniques.

Cette présentation mettra justement en évidence les contributions de Linaro qui ont été intégrées aux sources des projets de la communauté, ou qui le seront prochainement. Attendez-vous à rentrer chez vous avec de nombreuses idées et ressources pour améliorer vos produits à base d’ARM Linux, et pour réduire vos coûts et temps de développement. Nous vous recommandons juste de ne pas en parler à votre hiérarchie, et avec le temps que vous dégagerez, de rejoindre la communauté des développeurs de Linaro 😉

Intervenant: Michael Opdenacker

Michael est le « Community Manager » chez Linaro. Il fera de son mieux pour vous convaincre de rejoindre la commaunauté d’utilisateurs et de développeurs de Linaro, si vous n’en faites pas encore partie. N’hésitez pas à lui envoyer un signal SIGSTOP s’il parle trop longtemps. Michael est aussi le créateur de Bootlin, une société d’ingénierie en Linux embarqué qui est connue mondialement pour toutes les ressources techniques qu’elle publie sous une license de documentation libre.

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.

Recrutement à Toulouse

Note: le poste décrit ci-dessous a été pourvu début 2011. Si vous êtes intéressé par notre société, les prochains recrutements seront annoncés sur notre blog et sur notre page carrières.

Penguin worksPour faire face à un niveau d’activité croissant dans le domaine de l’informatique libre embarquée, nous recherchons un ingénieur jeune diplômé pour un nouveau bureau à Toulouse.

Ce poste consistera à participer aux projets de développement et de conseil qui sont confiés à Bootlin, en région toulousaine, en France et dans le monde entier. Notre nouvel ingénieur travaillera en étroite collaboration avec Thomas Petazzoni, qui lui fera profiter de son expérience dans le noyau Linux et l’embarqué, ainsi que dans la conduite de projets.

Voici quelques exemples de projets et de tâches qui lui seront confiés:

  • Portage du noyau Linux et de pilotes de périphériques sur de nouvelles cartes embarquées. Intégration du code source dans la version officielle du noyau.
  • Compilation et intégration de systèmes de fichiers embarqués.
  • Réduction du temps de démarrage, de la consommation d’énergie, réduction de l’espace de stockage, sur des systèmes développés par nos clients.
  • Évaluation de nouvelles ressources issues de la communauté. Rédaction d’articles techniques diffusés sur notre blog.
  • Conseil et assistance technique auprès de nos clients.

Voici les qualités qui constitueront des atouts pour les candidats qui se présenteront à nous:

  • Formation en informatique embarquée ou industrielle. Connaissance d’architectures matérielles utilisées dans ces domaines.
  • Bon niveau de pratique de la langue anglaise, autant à l’écrit qu’à l’oral.
  • Adhésion à la philosophie du logiciel libre. Expérience dans l’utilisation de logiciels libres. Une expérience de contribution à des projets libres et de création de documentation serait plus.
  • Familiarité avec la programmation système et le langage C sous Linux.
  • Goût pour l’exploration de nouveaux domaines, et pour le partage de connaissances.
  • Aptitudes à l’écriture de documentation et d’articles techniques
  • La pratique d’autres langues étrangères (espagnol, allemand en particulier) sera un plus.

Au delà de la formation initiale, ce n’est pas tant l’expérience de la personne qui comptera, mais plutôt son attitude, son enthousiasme, et donc son potentiel pour la conduite de projets et pour le travail avec la communauté du logiciel libre.

Contrairement aux postes que nous avons ouverts précédemment, celui-ci ne sera pas en télé-travail, mais bien dans notre nouveau bureau à Toulouse.

Voici quelques avantages offerts par ce poste:

  • Variété des domaines d’application. Acquisition de compétences au sein d’une équipe d’ingénieurs expérimentés
  • Clientèle internationale. Pratique des langues étrangères et voyages.
  • Une partie substantielle du temps de travail sera consacrée à la participation à des projets libres liés au noyau Linux et à l’embarqué, ainsi qu’à de la veille technologique dans ces domaines. C’est cela qui nous permet de construire et d’entretenir une expertise dont nous pouvons faire bénéficier nos clients et le reste de la communauté.
  • Participations à plusieurs conférences techniques
  • Formation en interne par nos sessions de formation
  • Abonnement de fonction à LWN.net

Dans un premier temps, notre nouvel ingénieur se verra confier des projets d’implémentation de solutions libres embarquées, puis au fur et à mesure de l’expérience acquise, des missions d’assistance et de conseil chez nos clients. Enfin, mais seulement à partir de la deuxième ou de la troisième année, nous lui demanderons d’intervenir chez des clients du monde entier pour donner des sessions de formation. Ainsi, notre ingénieur devra avoir un goût et des aptitudes pour la formation, ainsi que pour la conduite de projets avec de plus en plus d’autonomie. Il devra avoir également pouvoir voyager pour des durées allant jusqu’à une à deux semaines.

Les personnes intéressées pourront nous faire parvenir CV et lettre de motivation à notre adresse jobs.

Voir aussi notre page carrières.