Soutenez le Logiciel Libre : adhérez à l'April
L'association
April, référence au niveau national en matière de promotion et de défense du Logiciel Libre, a lancé il y a quelques jours une
grande campagne d'adhésion, qui vise à atteindre 5.000 adhérents d'ici fin 2008. Cette campagne d'adhésion a reçu le soutien de
Tristan Nitot, président de Mozilla Europe, rédacteur du fameux
Standblog qui déclare :
« Liberté d'apprendre, de partager, de mettre la technologie au service des utilisateurs : peu d'organisations parviennent à expliquer le logiciel libre ; plus rares encore sont celles qui peuvent le défendre. L'April mène ce combat, et je soutiens son action par mon adhésion. Je vous encourage tous à faire de même, car ce sont nos libertés à l'ère du numérique qui sont en jeu. »
Pour rappel, Richard Stallman a également soutenu l'April en 2007, en déclarant:
« L'APRIL joue en France un rôle fondamental et unique pour la promotion et la défense du logiciel libre et de ses différents acteurs. La liberté informatique est un enjeu de société et il est essentiel, aujourd'hui plus encore qu'avant, de soutenir celle-ci en rejoignant l'APRIL. J'encourage tous les citoyens épris de liberté informatique à adhérer dès maintenant à l'APRIL »
Je crois que Tristan Nitot et Richard Stallman sont deux acteurs du Logiciel Libre suffisamment différents dans leur historique, leurs points de vue et leurs positions, pour montrer que par leur soutien, l'action de l'April est utile voire nécessaire au Logiciel Libre en général.
Au début de la campagne d'adhésion l'association comptait 2.500 adhérents, dont plus de 100 entreprises, 80 associations et 2 collectivités territoriales. Parmi les entreprises, de nombreuses sociétés de service en Logiciel Libre évidemment, mais aussi des grands noms comme Sun Microsystems, RedHat, Canonical, Mandriva, Neuf, Steria, Thalès, etc.
Si vous êtes utilisateur de Logiciels Libres, ou même tout simplement amateur des idéaux portés par le mouvement des Logiciels Libres, je vous encourage à adhérer dès maintenant !
Je suis membre du conseil d'administration de l'April depuis l'assemblée générale de février 2007. En près de deux ans, j'ai donc eu l'occasion d'observer (et occasionnellement de participer) à l'action du conseil d'administration de l'April, mais également et surtout à celui des permanents de l'April. En effet, l'April compte aujourd'hui trois permanents, qui peuvent travailler à temps complet sur les dossiers, ce qui est devenu indispensable vu leur nombre et leur complexité. Parmi les permanents, l'historique Frédéric Couchet, un des fondateurs de l'association il y a plus de 12 ans, est délégué général. Alix Cazenave, ancienne assistante parlementaire, est chargée des relations institutionnelles. Eva Mathieu est assistante de direction et aide l'association d'un point de vue logistique et administratif.
Je ne suis pas du tout un « historique » de l'April, je suis même un adhérent tardif, puisque j'ai adhéré seulement en février 2006, alors que j'étais utilisateur de Logiciels Libres et actif dans de nombreux groupes d'utilisateurs pour en faire la promotion depuis 2000. En près de deux ans d'observation et de participation à l'activité de l'April, que j'ai pu suivre de très près en tant que membre du CA, je peux témoigner de
l'énorme travail de qualité réalisé par les permanents et le CA. Entre les rendez-vous avec les institutionnels, les courriers aux députés et aux institutions, les rencontres avec la communauté, la participation à des conférences, à des colloques, ils font preuve d'un dévouement et d'une passion sans limites. Il n'est pas rare de trouver les permanents et les membres du CA travailler sur IRC à 2h du matin ou de voir un mail d'un permanent à 3h du matin avec une proposition de courrier à envoyer en pièce jointe. Et évidemment, le mot « week-end » n'a pas vraiment de sens quand on parle du travail des permanents ou du CA.
Ma participation à toute cette activité a été très modeste, car je dépense principalement mon énergie sur le plan local, au niveau de
Toulibre. Mais je pense qu'aujourd'hui, face aux menaces croissantes qui pèsent sur le Logiciel Libre alors que celui-ci est dans une phase de croissance majeure, il est important que l'ensemble de la communauté se regroupe derrière un acteur fort, et pour moi, cet acteur fort est l'April. C'est pourquoi je vous encourage aujourd'hui à adhérer.
Il faut savoir que l'April n'est actuellement financée que par les cotisations de ses adhérents. Elle ne reçoit pas de subventions aujourd'hui, et ce n'est pas un mode de financement souhaitable pour une association qui a entre autres pour objectif d'influencer les décisions des élus. Le financement par les cotisations des adhérents permet d'agir en toute indépendance.
Pour résumer, pourquoi adhérer :
- l'April existe depuis 12 ans, fait un travail remarquable, salué par le récent prix « Lutèce d'Or », et est clairement l'acteur majeur pour la défense du Logiciel Libre en France ;
- face au lobbying des « adversaires », il est nécessaire de s'organiser et de se regrouper ;
- c'est possible à partir de 10 Euros / an, avec des prélèvements automatiques qui permettent d'étaler le paiement et de ne pas avoir à y penser ;
- ça prend cinq minutes, et les adhésions de soutien sans participation active sont les bienvenues ;
- c'est plus d'adhérents, c'est un poids plus important lors des discussions avec les institutions. Le passage de 400 adhérents à plus de 2000 adhérents lors de la précédente campagne d'adhésion a très clairement largement augmenté l'écoute que l'association avait ;
- c'est s'assurer de la pérennité financière de l'association, indispensable au financement des postes des permanents et des actions de l'April en général.
À vous de jouer !
Ubuntu Party, le 15 novembre à Blagnac près de Toulouse

À l'occasion de la sortie de la nouvelle version 8.10 de la distribution GNU/Linux Ubuntu, nommée "Intrepid Ibex",
Toulibre et l'association
Ubuntu-fr organisent une après-midi de découverte et d'aide à l'installation de GNU/Linux, avec conférences, démonstrations et
install-party. Les personnes désireuses d'installer une distribution GNU/Linux sur leur ordinateur peuvent venir avec.
L'événement, ouvert à tous, libre et gratuit, se déroulera le
samedi 15 novembre de
14h à 18h à
Odyssud, Blagnac. Les détails d'accès sont disponibles sur le
site d'Odyssud.
De 14h à 18h, des ordinateurs de
démonstration seront disponibles et les membres des associations Ubuntu-fr et Toulibre répondront à toutes vos questions concernant les Logiciels Libres et Ubuntu. Un espace
« install party » sera également disponible, grâce auquel vous pourrez procéder à l'installation du système libre Ubuntu sur votre ordinateur personnel avec l'aide des membres de deux associations organisatrices. Les personnes intéressées par l'install party sont invitées à prendre contact avec les organisateurs.
D'autre part, l'après-midi sera ponctuée d'une série de courtes présentations, pour
découvrir et comprendre Ubuntu et le monde des Logiciels Libres :
- 14h30 : Présentation « Qu'est-ce qu'Ubuntu ? », par Sylvain Garcia, Ubuntu-fr
- 15h : Présentation « Qu'est-ce que le Logiciel Libre ? », par Hugo Mercier, Toulibre
- 15h30 : Présentation « Quoi de neuf dans Ubuntu 8.10 ? », par Lionel Porcheron, Ubuntu-fr
- 16h : Présentation « Comment contribuer à Ubuntu ? », par Lionel Porcheron et Christophe Sautier, Ubuntu-fr
- 16h30 : Présentation « La communauté Ubuntu-fr », par Christophe Sautier, Ubuntu-fr
- 17h : Présentation « Ubuntu à la maison et au boulot », par Lionel Porcheron, Ubuntu-fr
Going to Embedded Linux Conference Europe 2008

So, on Wednesday I'm leaving for the Nederlands, in order to attend to
Embedded Linux Conference Europe 2008 on Thursday and Friday. Thanks to KLM, there are direct flights between Toulouse and Amsterdam, which means that the trip is quite certainly going to be an easy one, except if the
strike continues. In April, I went to
Embedded Linux Conference 2008 near San Francisco, CA, and it was a really great conference: the talks, the informal discussions and the organization were all very good, and I'm eager to come again to an Embedded Linux related conference. For those just tuning in, I've written a quite extensive report of ELC, together with videos from many talks, it's available on
Free-Electrons website.
Keynotes

For ELCE 2008, there are two keynote speakers: Harald Welte and David Woodhouse. Harald Welte is kind of a hero for any free software enthusiast and embedded linux geek: he worked on many different embedded Linux projects, including OpenMoko, did a lot of reverse engineering and hacking on embedded devices, and worked on gpl-violations.org to make sure that the rights of free software developers are respected when their GPL softwares are distributed. And as a "detail", he is one of the designer and main author of Netfilter, the packet filtering framework of the Linux kernel, even though nowadays it seems that other people have taken the lead on this project. He now works for VIA, and his keynote will discussion relationships between chip makers and the free software community. The second keynote speaker, David Woodhouse, is one of the new « embedded Linux » maintainers, that volunteered after Andrew Morton's call for such maintainers at ELC. I had the opportunity to work a little bit with David on Linux-Tiny related stuff, and working with him was really nice, because it was really supportive, despite the general dislike for Linux-Tiny work by many other kernel developers.
Personal talk selection
Of course, desides these two keynotes, there are many more
interesting talks. Just a personal selection :
- Digital Television with Linux - Architecture and Opportunities, because it's probably going to be an interesting feedback on using Linux in consumer electronic devices (the speaker works for Philipps), even though the talk happening at the same time Managing NAND longevity in a product is also probably going to be very interesting. The speaker, Matthew Porter, was also a speaker at ELC and his talk (video and slides) on using Linux on a consumer electronic device was very interesting
- Kernel Summer Report, by Thomas Gleixner, one of the x86 maintainers, -rt maintainers, and much more. A lot is happening these days in the kernel towards embedded systems, having a regular report about this is certainly refreshing, even though I think that I follow the kernel development close enough to be aware of most of the major stuff
- Rich GUI Without Pain, by Gustavo Sverzut Barbieri, where the speaker will present the capabilities of the Enlightenment Foundation Libraries. I've seen demonstrations and feature lists on the speaker website, and they are very impressive
- A quart into a pint pot: porting uClinux to small micros by Peter Griffin. The porting process is still a tedious process, and listening to more experiences always grows each other experience. At the same time, there will be a talk given by an anthropologist, entitled Embedded Magic, or How People Suddenly Find Out That They Are Collaborating (Some Thoughts Parsed Through the Brain of an Anthropologist). As I have a personal interest on how free software projects are organized, I might attend this talk.
- Taking Linux Power Management to Production Quality, which is probably to be interesting, as it looks like it comes from real experience, and so certainly contains a valuable feedback.
-
Tim Bird will this time discuss boot time, an issue he works on at Sony. At the same time, Perry Ismangil will present pjsip, but I already attended this presentation at FOSDEM this year (. And Jake Edge, from LWN will again discuss Web application flaws in embedded devices
- Frank Rowand will give the second part of this Adventures in real-time performance tuning, whose first part was given at ELC and was very interesting, full of real-world experience.
- Vitaly Bordug, from Montavista (where my brother is currently doing an internship, BTW) will present Device Tree's in Linux. It's a mechanism used by the PowerPC Linux port to give the kernel details about the hardware configuration as a separate entity from the kernel, so that thousands different kernels are not needed to support thousands different hardware platforms. At OLS this year, kernel developers more or less agreed on using this mechanism for other architectures as well. See the summary of the Device Tree BOF at OLS.
- Then, Philip Lougher will give an Overview of SquashFS filesystem, a popular compressed read-only file system, used by many embedded systems and LiveCDs. SquashFS has been sent for inclusion into the mainline kernel recently. As to my knowledge, it hasn't been merged during the 2.6.28 merge window, so that might probably happen during the next merge window. At the same time, Vasileios Laganakos will give a talk about Portability and Optimization of GNU / Open Source Applications with ARM Embedded Linux, which it seems will discussion compiling/building issues with embedded systems, a never-ending problem.
- During the timeframe of both of the preceding talks, Mike Anderson will give a tutorial Using a JTAG for Linux driver debugging, that he already gave at ELC. Unfortunately, at the ELC edition, he in my opinion, spent too much time discussion kernel driver development and not enough discussing JTAG debugging. But the tutorial was really great, clear, understandable, full of informations. See the video and slides.
- Next, Denis Oliver Kropp, the main developer of DirectFB? will discuss Open Integration Layer - DirectFB 2.0. At the same time Andrew Christian from Nokia will present Handhelds Mojo - Building and Running Ubuntu Distributions on ARM. It's again a talk about compiling/building issues, but this time while trying to get some kind of Ubuntu distribution working on ARM devices.
-
Finally, Nedjelko Miljevic and Klaas van Gend will discuss Building Embedded Userlands and the different tools available to do that (manual scripts, Scratchbox, Buildroot, and so on). A topic that my colleague Michael Opdenacker quickly covered through a BOF at the Ottawa Linux Symposium this year (video and slides). At the same time, the power management talk and the talk by FSFE representative are also probably worthwhile.
Our talks
My colleague Michael Opdenacker will give a talk entitled
Update on Filesystems For Flash Storage where he will discuss the various filesystems available for flash storage, a quickly moving area these days, with UBIFS being mainlined, AXFS released and so on.
On my side, I'll present a talk entitled
Choosing Free Software Graphical Libraries for Embedded Devices, during which I will quickly present most of the serious free software graphical libraries available. During the last weeks, I spent a significant amount of time trying, building and testing all these graphical libraries, and learned a lot from this, a knowledge (even if still incomplete, it's basically impossible to have a deep knowledge in everything) I'd like to share with ELCE attendees.
Merge window and Linux-Tiny work
The merge window for the
2.6.28 kernel has been opened about two weeks ago and has now be closed with the release of
2.6.28-rc1. In the context of my work at
Free-Electrons, I have the opportunity to contribute to the Linux-Tiny project, whose goal is to try to reduce the size of the kernel. Some of my patches have been integrated during this merge window :
- PCI quirks disabling patch, which allows to remove almost 12 Kb of kernel code/data
- AIO disabling patch, which allows to remove ~7 Kb of kernel code/data when asynchronous input/output operations are not needed
- file locking disabling patch, which allows to remove ~11 Kb of kernel code/data when file locking is not needed
- x86 CPU architecture selection, which allows to remove ~6 Kb of kernel code/data by disabling code only used for other CPU types. This modification in fact involved several distinct patches.
It's amazing to see how the kernel workflow works well. I haven't had to care about sending these patches during the merge window: I just submitted them to the proper subsystems maintainers, and they took care of updating them as needed and sending them to Linus once the merge window opened. Once one change has been accepted by a subsystem maintainer, the Linux kernel contributor doesn't have to do anything to see his patch integrated in mainline. This is how dozens of thousands of patches are merged between every kernel version.
However, the Linux-Tiny patches specifically are not always well received by the kernel community. Most of them are patches that add new configuration options to disable features. But most of these features are seen as absolutely mandatory for non-embedded developers, even though a kernel can work perfectly fine without them in certain conditions, conditions which can be guaranteed to be true on embedded systems were the environment, feature-set and used applications are most of the time precisely defined. Developers also tend to not like them because more configuration options means more #ifdef machinery and more complexity for future maintenance, which is an absolutely valid concern. But numbers clearly show that the size of the kernel is growing over time, and this is problematic to embedded users who care about size.
See also
my report of Matt Mackall's talk at Embedded Linux Conference this year concerning kernel size, and the associated
video.
Présentation des Logiciels Libres à Sciences Po
Le mardi 14 octobre, je suis intervenu dans le cadre d'un cours à Sciences Po Toulouse pour présenter les Logiciels Libres, leur historique, leurs enjeux, leurs intérêts, les modèles économiques ainsi que le fonctionnement et l'organisation de la communauté. Les supports sont disponibles au format
PDF et
OpenDocument.
Vidéos des présentations de Toulibre
Le mercredi 10 septembre ont eu lieu deux présentations dans le cadre de la rencontre bi-mensuelle de
Toulibre. La première portait sur Crunchy, un outil permettant d'embarquer un interpréteur Python dans une page Web, essentiellement dans un but pédagogique. La seconde, réalisée modestement par votre serviteur, portait sur le fameux téléphone libre OpenMoko Freerunner et avait principalement pour objectif de faire circuler un exemplaire de l'appareil et de permettre au public de le découvrir.
Les slides et les vidéos de ces deux présentations sont maintenant disponibles :
- Crunchy, par Florian Birée. Slides au format PDF et source LaTeX. Vidéo au format Ogg Theora, 195 Mo.
- OpenMoko, par Thomas Petazzoni. Slides au format PDF et OpenDocument, lourdement inspirés pour certains de la présentation sur OpenMoko réalisée aux RMLLs par Lucas Bonnet. Vidéo au format Ogg Theora, 205 Mo. Je ne sais pas si la vidéo est vraiment intéressante, car la présentation a surtout consisté en un échange avec la salle plutôt qu'en une présentation magistrale. En effet, n'ayant personnellement que peu d'expérience en OpenMoko, plusieurs personnes du public ont fait part de leur expérience dans l'utilisation de ce téléphone, ce qui fût fort intéressant.
Le mercredi 24 septembre a eu lieu une présentation du système d'exploitation libre OpenSolaris, par Nicolas Dorfsman et Hervé Ferdinand. Au menu: présentation générale d'OpenSolaris, puis focus sur Dtrace et ZFS. Les slides sont disponibles au format
PDF pour la première partie,
PDF et
OpenDocument pour la deuxième partie. Vidéo au format
Ogg Theora, 827 Mo.
Depuis ces deux présentations, deux autres ont lieu : Introduction à LaTeX et Beamer le 8 octobre, et Introduction à Linux embarqué le 22 octobre. Ces deux présentations ont également été filmées, mais je dois encore faire l'extraction et le montage.
Libtool brain damage
Trying to understand what the whole "libtool" crap does, I made some basic examples with libtool, and I'm still being hit by libtool crappyness. First try:
$ libtool --mode=link gcc -g -O -o libplap.la tata.lo libplop.la -rpath /tmp/prout/usr/lib/
[...]
$ libtool --mode=install install -c libplap.la /tmp/prout/usr/lib/libplap.la
libtool: install: error: cannot install `libplap.la' to a directory not ending in /tmp/prout/usr/lib/
Second try (after reading /usr/bin/libtool and executing it through bash -x to understand the completely strange message) :
$ libtool --mode=link gcc -g -O -o libplap.la tata.lo libplop.la -rpath /tmp/prout/usr/lib
[...]
$ libtool --mode=install install -c libplap.la /tmp/prout/usr/lib/libplap.la
[...], but works
See the difference ? Yes, just the
-rpath ending with a slash in the first case and not in the second case. Isn't this a completely broken test ?
PGDay.fr à Toulouse, un succès !

Hier se tenait à Toulouse le premier
PGDay francophone, organisé par l'association
PostgreSQLFr, en partenariat avec
Toulibre. La journée avait évidemment pour thème le serveur de base de données libre
PostgreSQL. Bien que n'étant pas du tout spécialiste du domaine, ni n'ayant un intérêt particulier pour le sujet, j'ai assisté à cet évènement, pour la culture, mais aussi pour filmer les interventions.
Tout d'abord, la logistique de l'évènement fût vraiment remarquable. Les organisateurs ont déniché une salle de bonne taille (~70 places) au Centre Culturel Soupetard, dans le quartier Jolimont à Toulouse. Ensuite, tout y était: la sonorisation avec micro-cravate sans fil, l'accueil avec les badges nominatifs, la petite sacoche aux couleurs des sponsors avec stylos, bloc-note (lui aussi aux couleurs des sponsors) et brochures. Café, thé, jus d'orange et viennoiseries étaient de la partie, ainsi qu'un repas sympathique dans un restaurant le midi. Non, vraiment, au niveau logistique, pour une première édition, c'était très très bien.
Du coté des conférences, il y a aussi eu des interventions vraiment intéressantes, d'autres un peu moins (mais comme dit plus haut, mon point de vue est celui d'un non-utilisateur de PostgreSQL) :
- la première, par Guillaume Smet d'OpenWide, était un retour d'expérience sur l'utilisation de PostgreSQL chez Cityvox, le fameux site d'informations sur les restaurants, théatres, cinéma, concerts et autres. Une présentation chronologique des différentes étapes de la migration de l'ancien système d'informations de Cityvox vers un nouveau, basé sur PHP et PostgreSQL, la montée en puissance du site, les problématiques de pic de visites lors d'évènements comme la Fête de la Musique ou la Saint-Valentin. La présentation résumait une expérience de quatre ans, puisque la migration a été entamée en 2004, et retraçait toutes les évolutions du système d'informations de 2004 à 2008 pour résoudre les différents problèmes rencontrés. Cette expérience me semble être une très bonne carte de visite pour PostgreSQL, qui montre bien les possibilités de la solution dans un environnement assez contraignant. J'ai vraiment beaucoup apprécié cette intervention.
- la seconde, sur PostGIS, m'intéressait puisque je m'amuse un peu avec OpenStreetMap et donc tout ce qui est géographique a tendance à m'interpeller ces derniers temps, même si je ne suis qu'un jeune padawan dans le domaine. Réalisée par une personne de CampToCamp?, une société spécialisée dans la géomatique. L'intervenant a donc présenté PostGIS, une extension de PostgreSQL (visiblement une sorte de plug-in), qui ajoute de nouveaux types de données pour associer des informations géographiques aux informations classiques mais également des opérations. Ainsi, on va pouvoir stocker la localisation géographique d'un point, les coordonnées d'une zone, puis réaliser des opérations comme « Est-ce que le point est dans la zone », « Quelles sont toutes les zones qui touchent cette zone », « Quelles sont les points situés à moins de 10 km de ce point et répondant à tels critères ». Les types de données ont été présentés, puis quelques opérations, exemples d'utilisation, etc. Il a également été question des outils permettant d'utiliser PostGIS? (visualisation et/ou édition, import et export), avec visiblement un certain manque de support de PostGIS? dans les applications propriétaires traditionnelles du monde de la géomatique.
- la troisième, première de l'après-midi, portait sur TinyERP et PostgreSQL, par Christophe Chauvet. C'est sans doute la présentation que j'ai trouvé la moins intéressante de la journée. Après une présentation très générale de TinyERP, sans doute trop générale pour apporter réellement des informations, l'orateur est parti dans une liste de détails/bugs qui affectaient TinyERP en relation avec PostgreSQL. Bref, je n'en ai pas retenu grand chose, mais là encore, ce n'est pas du tout mon domaine d'expertise, donc je suis peut-être passé à coté des choses intéressantes.
- la quatrième portait sur PostgreSQL dans les architectures SIG web et était réalisée par Vincent Picavet de Makina Corpus, société également spécialisé dans les SIG libres. PostGIS était évidemment à l'honneur, au travers de la présentation d'un projet assez remarquable en terme de complexité. Un client (non nommé) de Makina Corpus avait une base de données géographique basée sur des données Télé Atlas de 2004 (Télé Atlas est avec Navtek, un des deux principaux fournisseurs de données géographique dans le monde). Cette base de données avait été enrichie par le client au fil des années avec les nouvelles routes, les modifications de route et autre, mais également enrichie avec ce que les spécialistes appellent apparemment de la « donnée attributaire » (des données sur les données géographiques). Maintenant, le client venait de récupérer des données Télé Atlas de 2008 mises à jour. Il s'agissait donc de fusionner ces nouvelles données avec les données existantes sans perdre toutes les améliorations réalisées par le client, notamment les fameuses données attributaires. Imaginez donc deux graphes d'un réseau routier, à l'échelle de la France entière, dans lesquels les points sont presque au même endroit, mais pas toujours, pas décalés de la même façon, etc.. Et il faut retrouver quel point correspond à quel point, quel segment correspond à quel segment. Ils combinent pour cela trois techniques: la sémantique, la topologie et la géométrie. La sémantique consiste à utiliser le nom des rues pour reconnaître quel segment dans un graphe correspond à quel autre segment dans un autre graphe. La topologie consiste à utiliser la « forme (au sens large, avec les sens de circulation, les intersections) » d'une portion du graphe pour reconnaître un motif similaire dans l'autre graphe. Enfin la géométrie consiste simplement à chercher des points « autour » et essayer de trouver des correspondances. Tout ça est implémenté sous forme de procédures stockées PostgreSQL, les données étant évidemment stockées dans une telle base, grâce à PostGIS. Un projet vraiment impressionnant par sa complexité. D'autres aspects ont été abordés, comme l'import/export de données, l'utilisation de PostgreSQL sous Windows (car le projet suscité se passe sous Windows), etc. Une présentation vraiment très intéressante.
- la cinquième conférence était intitulée « PostgreSQL: utilisation, performance, outils » et était une petite étude/retour d'expérience sur l'utilisation de PostgreSQL dans trois cas: petite base de données (~ 5 Go), base de données plus volumineuse (~ 150 Go) et base de données à fort accès concurrent. L'orateur y a donc partagé son expérience, dans le choix du matériel, la configuration de PostgreSQL pour que ça fonctionne bien, le monitoring pour surveiller l'espace disque, mais aussi le nombre de requêtes, leur durée (pour détecter d'éventuels bugs applicatifs), la réplication et d'autres choses. Un petit ensemble d'astuces, d'idées, d'outils qui constituaient un bon retour d'expérience sur une utilisation plus « raisonnable » de PostgreSQL que celle présentée par Guillaume Smet, et qui correspondra donc à d'autres utilisations, plus courantes peut-être.
- en dernière partie de journée, une série de quatre présentations éclair
- Les deux premières, par Jean-Christophe Arnu puis Ludovic Levesque, portaient sur des solutions de réplication. D'un coté WALs et PITR et de l'autre coté Londiste. Dans PostgreSQL, la réplication entre un serveur maître et un serveur esclave se fait de manière asynchrone: il peut y avoir un delta de plusieurs secondes à plusieurs minutes entre un maître et un esclave. L'esclave peut donc surtout être utilisé en lecture, pour faire par exemple de l'analyse ou des statistiques sur des données qui n'ont pas forcément besoin d'être 100% à jour. La première solution, WALs (Write Ahead Logging) et PITR, repose sur les journaux de transaction de PostgreSQL. Ceux-ci sont stockés par le serveur maître, puis envoyés vers le serveur esclave, où ils sont joués sur la base de données esclave pour qu'elle évolue de la même manière que la base de données maître. Londiste est une autre solution, et Ludovic Levesque présentait son utilisation pour faire la migration d'une version de PostgreSQL vers une autre avec une interruption de service la plus courte possible.
- Une présentation éclair de Thomas Reiss sur l'anonymisation des données. Il travaille pour le Ministère de l'Intérieur, qui manipule donc des données nominatives sensibles, qui ne peuvent pas être transmises à des prestataires. Elles doivent donc d'abord être anonymisées. Au final, ce n'est pas un problème très simple, car il faut que les données gardent leur sens et leur cohérence: cohérence entre code postal et ville, cohérence entre date de naissance, lieu de naissance et numéro de sécurité sociale, etc. Il a donc présenté son approche, réalisée entièrement en procédures stockées PL/SQL.
- Une dernière présentation éclair de Damien Clochard, de la société Dalibo, spécialisée dans PostgreSQL, qui a brièvement présenté le projet de livre blanc PostgreSQL, pour faire connaître cette solution souvent méconnue car ne bénéficiant pas de l'effort marketing d'une grosse entreprise (contrairement à MySQL, il n'y a pas de société derrière PostgreSQL, même si les contributeurs sont évidemment souvent issus d'entreprises).
- Enfin, la journée a été clôturée par Jean-Christophe Arnu, qui est revenu sur les différentes présentations en prenant des citations mettant en avant les atouts de PostgreSQL en terme de performance, de fiabilité, de réactivité de la communauté, etc. Il a également évoqué le futur proche de PostgreSQL avec les nouveautés de la version 8.4.
Au final, cette journée fût vraiment très intéressante. Les vidéos et les slides seront sans aucun doute prochainement mis en ligne.
First step towards AACI emulation in Qemu
I just spent some time writing the first few bits of AACI emulation in Qemu. AACI stands for Advanced Audio CODEC Interface, and the specification is available at least
here. I'm pretty new to the audio low-level stuff, but it seems that this piece of hardware is simply an interface to an audio codec, the famous AC97.
Until now, my Qemu
patch only provides the first bits. It registers the I/O memory region that corresponds to AACI, and implements some dummy
read() and
write() operations. This AACI emulation is hooked into the Versatile PB platform emulation by a simple call to the new aaci_init() function.
Of course, the bulk of the work is to implement the
read() and
write() operations. For the moment, the read() operation only allows to get the vendor and product ID. It allows the AMBA bus driver of the Linux kernel to figure out that an AACI device is present, and to call the probe() method of the AACI driver, which was the first step. Qemu is rather well-designed: adding the emulation for a new device is very simple.
Now that the kernel correctly detects the AACI, I'm receiving AC97 requests. Qemu already implements the AC97 codec, in
hw/ac97.c, but it seems that the implementation is hardcoded to work over the PCI bus, which is not the case with AACI. So I'll probably have to make Qemu AC97 support a bit more generic, so that it can be used both from the PCI bus and the AACI interface.
More on this later...
Using U-Boot and Flash emulation in Qemu
For the embedded Linux trainings of
Free-Electrons, we use virtual machine environments for the practical labs, because we haven't found yet a nice board that matches all our criterias. Qemu, of course, is used in all our labs, and provides a very nice emulation environment since it emulates several CPU architectures often used in embedded systems (ARM, MIPS and PowerPC).
However, until recently, there was no emulation of flash memory in Qemu, which is sad because flash memory is very common in embedded systems, and is handled by different tools, different filesystems than normal block devices, and we wanted our training participants to get used to these tools. We also wanted to allow the training participants to configure, compile and use an embedded bootloader, the famous
U-Boot. Now, the emulation of Intel flashes is present in Qemu (in
hw/pflash_cfi01.c) and this emulation is already used in some emulated ARM platforms, but not the Versatile PB platform that we use for our trainings (this platform is nice because it has Ethernet, serial ports, LCD, etc.). So, I decided to add flash emulation to the Versatile PB platform. It turned out not to be so easy, even if the patches are in the end relatively small.
I've written four small patches for Qemu, which have been written and tested for Qemu revision 5391 from the Subversion repository (I don't think the Flash emulation has yet been part of an official stable Qemu release). They have all been submitted to the Qemu mailing-list. Here are the patches :
- pflash-cfi01-increase-write-buffer-size, which increases the size of the write buffer declared by Qemu in the CFI table of the flash. The advertised buffer size was only 16 bytes, which is small compared to usual buffer sizes, and makes the writing process very slow, at least from U-Boot. The size has been increased to 2048 bytes.
- pflash-cfi01-after-erase-confirm-reset-wcycle, which fixes a problem in the code handling the erase command. When the "erase confirm" command was sent to Qemu, it didn't reset the wcycle variable, which lead Qemu to think that the next command wasn't a new one, but was part of the "erase command", which obviously was wrong. I'm not 100% sure about this patch, since there was already a pfl->wcycle = 1 at the place where it should have been pfl->wcycle = 0. But hey, we'll what the Qemu developers say about it.
- pflash-cfi01-improve-debug-msgs, which only improves two debugging messages that were useful while working on the other patches. Nothing fancy.
- versatilepb-add-flash-support, which adds the flash emulation to the Versatile PB platform. It wasn't really easy to understand the qemu_ram_alloc() mechanism, but in the end, it seems to work. The RAM size of a Versatile PB platform is now fixed to 128 MB and the Flash size is fixed to 64 MB. The file containing the flash is specified using the -pflash option. When this option is absent, Qemu falls back to the traditionnal way of loading the kernel given with the -kernel option. If the -pflash option is present, then the contents of the file are used as the contents of the emulated flash, and the emulation starts at the beginning of the Flash (address 0x34000000).
Of course, the goal of all this is to run something on the Flash, basically U-Boot to start with. I've used U-Boot 1.3.4, which also requires
a patch, which changes the following things :
- Switch for the Versatile specific flash driver to the CFI generic flash driver
- Adjust the flash settings (sector size, location of the environment, etc.)
- Configure the Ethernet driver for an external PHY, because it seems that Qemu doesn't emulate the PHY operations
- Fix the timer code to use the CFG_TIMER_CTRL constant instead of hardcoding it
- Tweak the CFG_HZ and CFG_TIMER_CTRL to get a relatively working time. Without these tweaks, the time was going very fast for U-Boot, all delays were instantaneous, the network timeouts were reached instantaneously. However, the tweaks are only work-arounds at the moment, as I don't have a clear understanding of how the time is handled under Qemu.
With all these patches in place, one can run U-Boot, download a Linux kernel, flash it from U-Boot and run it. Basically, the 128 MB RAM is mapped from 0x0 to 128 MB, and the 64 MB Flash is mapped from 0x34000000 to 0x38000000, with 256 KB sectors. U-Boot is stored at the beginning of the Flash, at address 0x34000000 where the CPU starts its execution. The U-Boot environment is stored in the next sector, at 0x34040000, which leaves the flash free starting at 0x34080000. This is the place where I flash the kernel. To load the kernel from TFTP, I use the RAM address 0x200000 (2 MB), because U-Boot is loaded at address 0x100000 (1 MB).
To create the Flash file, I use :
dd if=/dev/zero of=flash.img bs=1M count=64
dd if=/path/to/u-boot-1.3.4/u-boot.bin of=flash.img conv=notrunc
Then, to run Qemu, I use :
sudo qemu-system-arm -M versatilepb -m 192 -serial stdio -net nic,model=smc91c111 -net tap -pflash flash.img
I get into the U-Boot prompt, and do :
setenv ipaddr 172.20.0.2
setenv serverip 172.20.0.1
setenv bootfile /uImage
setenv bootcmd bootm 34080000
setenv bootargs console=ttyAMA mem=128M
saveenv
tftpboot 200000
protect off 1:2-32
erase 1:2-32
cp.b 200000 34080000 ${filesize}
protect on 1:2-32
boom 34080000
Which basically does :
- set environnement variables for the IP address of the embedded system, IP address of the server, file to download using TFTP from the server, the default command to run when U-Boot starts, and the kernel command line. The console=ttyAMA allows to get the console on the serial port.
- save the environment. It is saved in the second flash sector, for 0x34040000 to 0x34080000, so that next time, the previous environment variable settings will be kept.
- download the kernel image at address 0x200000
- unprotect flash sectors 2 to 32 (sector 0 is U-Boot, sector 1 is the environment)
- erase these sectors
- copy the kernel to the flash. U-Boot is smart enough to know that the destination is a flash memory and that it shouldn't copy to it as usual, but that it should use the flash driver instead.
- re-protect the flash sectors
- boot the kernel. And hippy !
Next steps: play with the kernel MTD layer, JFFS2 and other flash filesystems on one hand, and implement the Versatile sound emulation in the other hand.
Encore du nouveau dans l'Agenda du Libre
Encore quelques nouveautés dans l'Agenda du Libre ces derniers temps :
- Alors que la possibilité était récemment donnée aux soumetteurs d'évènements de modifier et d'annuler leurs évènements après validation, il leur est maintenant également possible de modifier ou d'annuler leurs évènements durant la phase de modération. Une action de modération a été ajoutée, elle permet aux modérateurs de demander au soumetteur d'un évènement de compléter la description de celui-ci. De cette manière, l'équipe de modération peut plus facilement demander des informations complémentaires, sans avoir à passer par un cycle de refus de l'évènement, ré-ajout par le soumetteur. Ces deux nouvelles fonctionnalités devraient sensiblement améliorer la vie des modérateurs et la qualité de la relation entre modérateurs et soumetteurs d'évènements
- Passage à l'UTF-8 de la base de données, des pages Web générées, du flux RSS, des courriers électroniques envoyés. Pas vraiment de changements visibles du point de vue du visiteur, si ce n'est que les GULLs présents dans des villes contenant des caractères accentués sont désormais affichés sur la carte.
- Ajout d'un certain nombre de GULLs sur la carte, au travers du tableau lugname2city du script extract-gulls.py. Il reste encore quelques GULLs à ajouter, mais certains ont un site inaccessible, ou n'ont pas vraiment de ville de référence.
- Intégration de Tiny MCE dans le formulaire de soumission/édition d'évènement, afin de permettre la rédaction de la description d'un évènement en mode WYSIWYG, sans nécessiter de connaissance en HTML. C'est une fonctionnalité qui était demandée depuis longtemps, merci donc à Erwan Léhérissé de l'avoir implémentée.
David Mentré
propose de publier une version 1.0 du code de l'Agenda du Libre. Effectivement, le code est utilisé par quelques autres projets, bien qu'il soit conçu spécifiquement pour l'Agenda du Libre et n'a jamais eu vocation à être un agenda générique. En plus, le code est absolument affreux, du PHP de goret. Enfin en tout cas, d'ici à la version 1.0, j'aimerais corriger les problèmes de la carte : tous les évènements et tous les GULLs qui sont sur un même lieu se surperposent, si bien qu'on ne voit qu'un seul évènement et qu'un seul GULL pour chaque ville. Malheureusement,
OpenLayers? ne semble pas très simple à utiliser quand il s'agit de customiser le rendu. Si quelqu'un a des pistes sur le sujet, je suis preneur.
Enfin, l'Agenda du Libre a été discuté lors de la table ronde Interlug des RMLLs, à laquelle je n'ai malheureusement pas pu me rendre car je donnais une conférence au même moment. Le compte-rendu de cette table a
été publié sur la liste interlug par Emmanuel Seyman, et sa publication a donné suite à une discussion sur l'intégration entre l'Agenda du Libre et LinuxFr.org. De mon point de vue, la meilleure intégration serait de développer un widget spécial pour LinuxFr.org, sous forme de calendrier configurable (par région, par tag, etc.) et qui afficherait dans une boîte les évènements à venir. Quelqu'un est partant pour développer ça ?
Poursuite des contributions à OpenStreetMap
Depuis ma
première contribution à
OpenStreetMap fin mai, j'ai continué à contribuer de temps en temps au projet, sur plusieurs zones :
- à Colomiers, évidemment, surtout la partie nord-ouest de la ville pour l'instant. De nombreuses rues étaient déjà présentes dans le centre ville, mais ont été réalisées à partir des photographies aériennes Yahoo. Les noms des rues ne sont pas présent, et parfois, leur configuration a changé: les photos aériennes Yahoo mises à disposition gracieusement pour le projet OpenStreetMap, sont vraiment anciennes.
- à Sanguinet, qui n'existait pas du tout. J'ai commencé par relier la ville au reste du monde, puis à mapper les rues de celle-ci. Quasiment toutes les rues du centre-ville sont présentes, mais il manque encore pas mal de routes en périphérie. Il reste aussi un problème de piste cyclable traversant le lac, visiblement dû à un décalage des photos aériennes par rapport à la réalité mesurée par un GPS. Dans la même région, j'ai également mappé quelques routes allant vers Biscarosse
- à Condom, malheureusement encore très incomplète, mais il faut bien en garder pour les prochaines vacances.
J'utilise toujours un Tomtom GO 920 équipé du logiciel additionnel Event Logger pour faire les relevés. Il marche plutôt bien, mais la fréquence des relevés est un peu trop faible à mon goût et parfois aléatoire. Au départ, pour noter les informations, j'utilisais simplement un papier et un crayon, mais je suis depuis passé au
Photo mapping qui fonctionne plutôt bien. Cependant, il m'arrive encore parfois de prendre des notes en complément des photos : quand on regarde des photos, on ne connaît pas leur orientation (il faudrait une boussole dans l'appareil), et dans les carrefours un peu spéciaux, un petit plan papier permet de bien resituer les choses. Le photo mapping est une assez bonne technique, mais comme pour le papier/crayon, elle oblige à s'arrêter (je mappe en vélo) pour prendre une photo à chaque intersection. Il faudrait peut-être que je tente l'
Audio mapping qui permet peut-être de s'arrêter moins souvent.
En tout cas, le travail de mapping reste amusant, même si mapper un lotissement d'une ville moderne comme Colomiers avec des rues dans tous les sens est assez long. Rien que sur Colomiers, au rythme où je progresse, il y en a encore pour plusieurs années :-)
Premières rencontres Toulibre de l'année
La première rencontre bi-mensuelle de Toulibre aura lieu le 10 septembre, de 19h à 23h, au Centre Culturel Bellegarde. Comme d'habitude, dans une salle, nous accueillons le public désireux d'en savoir plus sur le Logiciel Libre, souhaitant trouver de l'aide pour en installer ou pour résoudre des petits soucis. Et dans une autre salle, deux présentations auront lieu:
- la première sur Crunchy, animée par Florian Birée. Crunchy est un logiciel permettant d'intégrer un interpréteur Python dans une page Web. Cela permet la création de tutoriels sympathiques pour l'apprentissage du langage Python. Florian a travaillé cet été sur ce projet dans le cadre d'un Google Summer of Code
- la seconde sur OpenMoko, puisque j'ai reçu un exemplaire du Neo FreeRunner pour mon anniversaire (youpi !). Je n'ai pas grand chose à dire pour l'instant sur la chose, puisque je n'ai pas eu le temps d'explorer toutes les possibilités de la machine, mais ça me paraissait intéressant d'en parler lors d'une rencontre Toulibre. Puis c'est la garantie de faire venir un peu de monde, vu la popularité du projet :-)
La seconde rencontre bi-mensuellle aura lieu le 24 septembre, toujours de 19h à 23h, toujours au Centre Culturel Bellegarde, et on accueillera toujours le public dans une salle pour les questions, dépannage et autre. Dans l'autre salle, la présentation aura cette fois pour thème le système d'exploitation libre
OpenSolaris et sera animée par Nicolas Dorfsman.
Assemblée générale de Toulibre
Demain, mercredi 3 septembre, aura lieu la troisième assemblée générale de l'association
Toulibre. Le CA sortant, dont je fais partie, présentera son
rapport moral et son
rapport financier. Les activités régulières de l'association fonctionnent plutôt bien (les rencontres bi-mensuelles au Centre Culturel Bellegarde, les ateliers KDE, les Qjelt), mais au niveau des actions ponctuelles, nous avons été plus calmes cette année.
Les rencontres régulières sont intéressantes pour faire animer et faire vivre une petite communauté qui connaît déjà l'association (nous avons plus de 300 abonnés à notre liste d'annonces), mais les actions ponctuelles permettent de toucher de nouvelles personnes et de leur faire découvrir les Logiciels Libres, ce qui est un aspect important des objectifs de Toulibre. J'espère que cette année, nous trouverons des opportunités pour aller à la rencontre du public. L'expérience a montré que les évènements spécifiques au Logiciel Libre ne rencontrent pas toujours un grand succès, et qu'il vaut mieux participer à un évènement plus important.
Chtinux, par exemple, en participant à la Braderie de Lille ce WE, touche un très grand nombre de personnes. C'est à ce type d'évènement que j'aimerais que Toulibre participe dans l'année à venir.
Pour cette assemblée générale, quatre nouvelles personnes sont candidates au conseil d'administration, en plus des six présentes au conseil d'administration cette année (si elles renouvellent toutes leur candidature). J'ai personnellement incité ces personnes à se porter candidates, il me semble important d'injecter régulièrement des idées neuves, de l'énergie et de la motivation dans une association. Je vais essayer au fil de cette année d'ouvrir l'organisation des évènements en essayant de faire participer un plus grand nombre de membres de l'association. J'ai déjà confié l'organisation des rencontres et des repas mensuels à deux groupes de deux personnes, précisément celles qui sont nouvellement candidates au conseil d'administration. En étant plus ouvert, j'espère arriver à impliquer plus de personnes, et donc pouvoir participer à plus d'évènements, plus de projets. Nous verrons bien lors de l'assemblée générale 2009 ce que ces idées auront donné :-)
À demain, donc.
Présence et conférence à Embedded Linux Conference Europe 2008
Les 6 et 7 novembre 2008 aura lieu à
Ede aux Pays-Bas la conférence
Embedded Linux Conference Europe 2008, le pendant européen de l'Embedded Linux Conference qui a lieu chaque année dans la région de San Francisco. Le
programme annoncé est très alléchant pour qui s'intéresse à Linux embarqué. Tout
Free-Electrons fera le déplacement pour cette occasion, puisque Michael et moi-même seront présents.
En plus d'assister aux conférences, nous ferons également chacun une présentation, puisque nos deux propositions de présentationt ont été acceptées par le comité d'organisation. De mon coté, la présentation s'intitule
Choosing Free Software Graphical Libraries for Embedded Devices, et a pour objectif de faire un comparatif des très nombreuses solutions pour réaliser des interfaces graphiques sur les systèmes embarqués, afin de guider ceux qui ne s'y retrouvent pas parmi toutes les possibilités. Un gros travail de préparation sera nécessaire, puisqu'il faudra tester toutes ces bibliothèques, comprendre leur fonctionnement et leurs possibilités, mais cela va permettre d'apprendre énormément de choses sur le sujet. Michael, de son coté, animera une présentation intitulée
Update on Filesystems For Flash Storage, qui a pour objectif de faire le point sur les différents systèmes de fichiers pour Flash disponibles actuellement, leurs points forts, leurs points faibles et sur les développements futurs dans ce domaine.
Vidéos du Linux Symposium à Ottawa

Comme je le disais dans un
précédent billet, mon collègue Michael Opdenacker et moi-même avons filmé un certain nombre de conférences du Linux Symposium qui s'est déroulé à Ottawa fin juillet. Après extraction, montage, encodage et upload, ces vidéos sont désormais disponibles sur le site de
Free-Electrons, dans la section
Vidéos. Les vidéos disponibles sont (mes recommandations à la fin) :
- Keynote: The Kernel: 10 Years in Review, par Matthew Wilcox (Intel)
video (57 minutes, 175M)
- Présentation: Tux on the Air: State of Linux Wireless Networking, par John W. Linville (Red Hat)
papier, slides, video (52 minutes, 168M)
- Présentation: Suspend to RAM in Linux: State of the Union, par Len Brown and Rafael Wysocki (Intel)
papier, video (52 minutes, 163M)
- Présentation: Real Time vs Real Fast: How To Choose?, par Paul E. McKenney? (IBM)
papier, video (45 minutes, 166M)
- Tutorial: ftrace: latency tracer, par Steven Rostedt (Red Hat)
slides, video (98 minutes, 772M)
- BOF: Embedded Linux, par Tim R. Bird (Sony)
video (42 minutes, 200M)
- BOF: Embedded Microcontroller Linux, par Michael Durrant (Arcturus Networks)
video (42 minutes, 243M)
- Présentation: Energy-aware task and interrupt management, par Vaidyanathan Srinivasan (IBM)
papier, video (52 minutes, 182M)
- Présentation: Application Testing Under Realtime Linux, par Luis Claudio R. Gonçalves (Red Hat)
papier, slides, video (54 minutes, 297M)
- Présentation: Application Framework for Your Mobile Device, par Shreyas Srinivasan (Geodesic Information Systems)
papier, video (25 minutes, 146M)
- Keynote: The Making of OpenMoko Neo, par Werner Almesberger (OpenMoko?)
video (94 minutes, 463M)
- BOF: U-Boot by Wolfgang Denk (Denx)
video (54 minutes, 362M)
- BOF: Linux Compiler, par Rob Landley (Impact Linux)
video (100 minutes, 765M)
- Tutorial: Practical Guide to Using Git, par James Bottomley (Hansen Partnership)
video (61 minutes, 357M)
- Présentation: Advanced XIP File System, par Jared Hulbert (Numonyx)
papier, video (49 minutes, 160M)
- Présentation: SELinux for Consumer Electronic Devices, par Yuichi Nakamura (Hitachi)
papier, video (31 minutes, 113M)
- Présentation: Around the Linux File System World in 45 Minutes, par Steve French (IBM)
papier, slides, video (49 minutes, 298M)
- BOF: Linux The Easy Way with LTIB, par Stuart Hughes (Freescale)
slides, video (25 minutes, 144M)
- Keynote: The Joy of Synchronicity: Coordinating the Releases of Upstream and Distributions, par Mark Shuttleworth (Canonical)
slides slides, video (76 minutes, 458M)
- Présentation: Smack in Embedded Computing, par Casey Schauffer
papier, video (59 minutes, 211M)
- Présentation: Bazillions of Pages: The Future of Memory Management, par Christoph H. Lameter (SGI)
papier, video (49 minutes, 258M)
- Tutorial: Writing application fault handlers, par Gilad Ben-Yossef (Codefidence)
video (49 minutes, 275M)
- Présentation: Linux, Open Source and System Bringup Tools, par Tim Hockin (Google)
papier, video (51 minutes, 229M)
- Présentation: DCCP Reached Mobiles, par Leandro Melo Sales (Federal University of Campina Grande)
papier, slides, video (42 minutes, 193M)
- Présentation: Building a robust Linux kernel, par Subrata Modak (IBM)
paper, slides, video (51 minutes, 249M)
- CELF BOF presentation: Best of recent CELF Conferences, par Tim Bird (Sony)
slides, video (10 minutes, 88M)
- CELF BOF presentation: Developping Embedded Linux with Target Control, par Tim Bird (Sony)
slides, video (17 minutes, 145M)
- CELF BOF presentation: Embedded Building Tools - An Audience Survey, par Michael Opdenacker (Free Electrons)
slides, video (17 minutes, 127M)
- CELF BOF presentation: GCC Tips and Tricks Highlights, par Gene Sally
video (14 minutes, 62M)
Parmi celles que je recommanderai particulièrement :
- Le tutoriel sur ftrace de Steven Rostedt
- Le tutoriel sur Git de James Bottomley
- La keynote sur OpenMoko de Werner Almesberger
- La présentation sur le temps réel de Paul McKenney? pour qui s'intéresse au sujet, sachant que ça reste une introduction relativement basique sur cette thématique.
- La présentation de John Linville sur le Wifi dans Linux pour qui s'intéresse au sujet. C'est un bon récapitulatif de l'état du support Wifi dans le noyau.
- La présentation de Christoph Lameter sur les évolutions de la gestion de la mémoire virtuelle dans le noyau, mais elle est relativement ardue à comprendre.
- La présentation « Building a robust Linux kernel » qui porte en fait sur le projet LTP
- La courte présentation de Gene Sally « Gcc Tips and Tricks » avec plein d'astuces rigolotes et intéressantes pour Gcc
- La présentation de Yuichi Nakamura sur l'adaptation de SELinux pour un système embarqué. Un remarque résumé du travail qu'ils ont réalisé.
Ottawa Linux Symposium 2008

Je rentre tout juste ce matin de la dixième édition du
Linux Symposium qui s'est une nouvelle fois tenue à Ottawa au Canada. Cette conférence est l'une des deux principales conférences en ce qui concerne le noyau Linux, et j'avais déjà eu l'opportunité d'y assister en 2005 (voir le
compte-rendu) et en 2007.
Cette année, de nombreuses conférences très intéressantes étaient au programme et l'ont effectivement été en réalité. Plusieurs points marquent une rupture avec la "tradition" de ce symposium :
- la traditionnelle keynote d'ouverture The Kernel Report réalisé par l'excellentissime Jonathan Corbet de LWN n'était pas au programme, remplacée par une keynote d'ouverture The Kernel: 10 Years in Review présentée par Matthew Wilcox, un développeur noyau d'Ottawa, qui s'est révélée nettement, nettement moins bonne que la traditionnelle de Corbet. Décevant.
- la traditionnelle keynote de fermeture n'a tout simplement pas eu lieu. Réalisée par Dave Jones en 2005, Greg KH en 2006 (voir ici) puis James Bottomley en 2007, elle n'a pas eu lieu cette année. Traditionnellement, l'orateur de l'année N qui réalise la keynote de fermeture annonce également l'orateur de l'année N+1 pour cette keynote. Et cette keynote, à la fois sérieuse et humoristique, véritable exercice de style, était un moment très attendu de la conférence. Petite déception avec l'absence de cette keynote
- deux autres keynotes étaient au programme cette année, en plus de celle d'ouverture: une keynote de Werner Almesberger intitulée The making of OpenMoko Neo, fort intéressante, et une autre de Mark Shuttleworth intitulée The Joy of Synchronicity: Coordinating the Releases of Upstream and Distributions. Ceux qui ont suivi l'actualité trollifère de Marc Shuttleworth ces derniers temps peuvent aisément deviner la teneur d'une telle keynote.
En dehors de ces keynotes, j'ai donc assisté à un certain nombre de présentations, en général orientées sur l'embarqué, mais pas toujours. En vrac: ateliers sur SystemTap et ftrace, présentations sur Guilt, le wireless dans le noyau, le suspend to RAM, le temps réel, l'embarqué, la gestion d'énergie, les systèmes de fichiers et bien d'autres choses. Avec mon collègue de
Free-Electrons Michael Opdenacker, nous avons filmé 25 conférences et ateliers que nous mettrons prochainement en ligne.
Globalement, le Linux Symposium reste une très bonne conférence, mais la qualité semble tout de même avoir sensiblement baissé (avis partagé par un certain nombre de participants avec lesquels j'ai discuté), et le nombre de participants est inférieur aux années précédentes. Traditionnellement, le Kernel Summit avait lieu juste avant ce Symposium, ce qui assurait la présence d'un grand nombre de développeurs noyau importants et donc de bonnes présentations, ce qui attire le public. Depuis 2007, ce Kernel Summit n'est plus attaché au linux Symposium: en 2007, il a eu lieu conjointement avec Linux.conf.eu en Angleterre, et en 2008, il aura lieu conjointement à Linux Plumbers, une toute nouvelle conférence lancée à Portland, Oregon.
Enfin,
last but not least, l'année prochaine, le Linux Symposium aura lieu à Montréal, Canada et non plus à Ottawa !
Nouveautés dans l'Agenda du Libre
Récemment, j'ai pris un peu de temps pour travailler sur l'
Agenda du Libre et ajouter quelques fonctionnalités qui étaient nécessaires depuis un moment.
La première fonctionnalité permet aux personnes ayant soumis un évènement de le modifier après modération ou de l'annuler. Ces opérations prennent effet immédiatement, sans nouvelle étape de modération. L'objectif est notamment d'inciter les GULLs à inscrire le plus longtemps possible à l'avance leurs évènements, même si ils ont éventuellement besoin d'ajouter des précisions quelques jours/semaines avant l'évènement. C'est le cas de l'association
Toulibre : nous connaissons les dates de nos rendez-vous sur toute l'année, mais pas le thème de la présentation qui animera chaque rencontre. Jusqu'ici, je soumettais les évènements une fois que je connaissais la thématique, mais ce n'est pas idéal car les membres ne disposent pas d'un joli calendrier iCal listant l'ensemble des évènements prévus sur l'année. Avec cette nouvelle fonctionnalité, ce sera possible pour Toulibre, et j'espère que cela sera également utile pour d'autres GULLs ou associations.
La deuxième fonctionnalité est un changement de la
carte de France. Auparavant, la carte était une simple image découpée par région permettant d'avoir la liste des évènements. Désormais, c'est une carte dynamique générée grâce à la bibliothèque Javascript
OpenLayers. Le fond de carte est récupéré depuis
OpenStreetMap. Au-dessus du fond de carte, deux informations sont représentées sur la carte :
- La localisation des évènements futurs
- La localisation des GULLs. Actuellement, tous les GULLs n'y sont pas, car je n'ai pas encore pris le temps de déterminer la ville principale d'action de chaque GULL.
Il reste encore pas mal de travail sur la carte pour améliorer le rendu graphique, corriger certains problèmes (quand deux GULLs sont dans la même ville, les icônes sont exactement superposées et on ne peut donc en voir qu'un seul). Les patches sont les bienvenus :-)
Concernant la mise en oeuvre technique, je posterai prochainement un billet qui détaille comment cela fonctionne, cela sera peut-être utile pour d'autres.
Vidéos des RMLLs

Comme pour la conférence
Embedded Linux Conference au mois d'avril, je me suis rendu aux Rencontres Mondiales du Logiciel Libre avec un camescope de
Free-Electrons, ce qui m'a permis de filmer toutes les conférences auxquelles j'ai assisté, voire celles auxquelles je n'ai pas pu assister grâce à de sympathiques volontaires. Ces vidéos sont maintenant disponibles sur le site de Free-Electrons à l'adresse
http://free-electrons.com/communaute/videos/conferences/. Au total, 17 vidéos sont proposées, dont 13 du thème
Système embarqué :
- Simulation d'un senseur radio-fréquences avec Xenomai, par David Chabal, vidéo (61 minutes, 333 Mo)
- Fonera: une plateforme didactique et économique pour l'embarqué, par Denis Bodor, vidéo (51 minutes, 427 Mo)
- Automatisme libre avec Beremiz, par Édouard Tisserand, vidéo (55 minutes, 232 Mo)
- LiveCD Xenomai. Xenomai sur processeur ARM9, par Florent Audebert, vidéo (43 minutes, 125 Mo)
- Les BSP libres dans l'embarqué, par Ahmed Hajji, vidéo (48 minutes, 315 Mo)
- Plateforme mobile communicante: le projet Open E-bus, par Jean-Jacques Bascou, vidéo (33 minutes, 152 Mo)
- topProcess EPF: conception de processus, par Angel Garcia, vidéo (38 minutes, 172 Mo)
- CRESITAG: plateforme opensource pour la conception, réalisation et évaluation de Systèmes d'Identification à base de TAG 13.56 MHz, par Jean-Yves Cadorel, vidéo (53 minutes, 342 Mo)
- Système embarqué avec ajout de périphériques à la demande, par Julien Boibessot, Nicolas Colombain et Fabien Marteau, vidéo (57 minutes, 394 Mo)
- OpenMoko: libérez votre téléphone, par Lucas Bonnet, vidéo (36 minutes, 179 Mo)
- Linux et le Codesign pour la conception de systèmes embarqués, par Patrice Kadionik, vidéo (51 minutes, 253 Mo)
- OpenWRT sur EasyGate, par Pierre Ficheux, vidéo (46 minutes, 345 Mo)
- Instrumentation scientifique reconfigurable sur FPGA, par Thibault Rétornaz, vidéo (38 minutes, 160 Mo)
Quatre autres conférences sont également disponibles, trois du thème
Développement et développement communautaire et une du thème
Sécurité :
- Suivi des contributions dans une forge, par Quang-Vu Dang, vidéo (54 minutes, 318 Mo)
- Construction d'une version majeure pour les nuls: comment ça marche dans GNOME, par Vincent Untz, vidéo (50 minutes, 335 Mo)
- Processus et infrastructure de fabrication de Debian, par Lucas Nussbaum, vidéo (56 minutes, 370 Mo)
- Fault tolerant stateful firewalling with GNU/Linux, par Pablo Neira Ayuso, vidéo (45 minutes, 264 Mo)
Slides des présentations aux RMLLs

Comme annoncé dans un
précédent billet, j'ai réalisé deux interventions aux Rencontres Mondiales du Logiciel Libre à Mont de Marsan au début du mois. Les slides de ces présentations sont maintenant disponibles en ligne.
Les deux présentations ont eu pas mal de succès, puisqu'elles ont attiré une quarantaine de personnes, remplissant aisément la petite salle de TD qui avait été attribué à ces deux thèmes. Le noyau Linux semble donc toujours être un sujet de fascination pour un grand nombre d'utilisateurs et de développeurs du Logiciel Libre, et c'est vrai qu'il y a énormément de choses très intéressantes à regarder dans le noyau.