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

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.

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