Bootlin New Year – 2014

A French version also exists.

The Bootlin team wishes you a Happy New Year for 2014, with plenty of optimism and energy!

We are taking this opportunity to give some news about Bootlin.

In 2013, Bootlin significantly increased its contribution to open-source projects, especially at the Linux kernel level.

639 patches integrated in the Linux kernel, mainly to improve support for Marvell ARM processors and Allwinner ARM processors. For all kernel releases published in 2013, Bootlin has been in the top 30 contributing companies. We now have a significant experience in integrating support for ARM processors in the Linux kernel, and we expect to work more in this area in 2014.

595 patches integrated in the Buildroot embedded Linux build system, in a large number of areas, making Bootlin the second most important contributor after Buildroot’s maintainer. This effort allows Bootlin to keep an up-to-date expertise in cross-compilation and build systems.

26 patches integrated in the Barebox bootloader:

22 patches to the Yocto Freescale layer, mainly adding support for the Crystalfontz boards. In the process, a new image type was developed and significant improvements were made to the Barebox recipe.

Several of these contributions, and many other activities, were driven by development and consulting activities in 2013, with mainly:

  • Linux kernel code development, adding and maintaining support for customer ARM processors or boards in the mainline Linux kernel. Especially on Marvell and Freescale processors.
  • Linux kernel, driver development and build system integration for an Atmel SAMA5 based medical device.
  • Development of Linux kernel drivers for radio-frequency transceivers, on an Atmel SAMA5 based home automation platform.
  • Boot time optimization audits.
  • Buildroot consulting and audit.

We have also significantly improved and updated our training courses:

  • Our embedded Linux and kernel driver development course was updated to use the BeagleBone Black platform, to cover the usage of the Device Tree on ARM platform, and to use a fun I2C device to illustrate the development of a device driver in our labs.
  • Our Android system development course was updated to use Android 4.x, and use the BeagleBone Black as the development platform for the practical labs.
  • Our embedded Linux system development course was updated to use more recent versions of the Linux kernel, in order to cover the usage of the Device Tree on ARM platforms.

Our training materials remain freely available under a Creative Commons license, including their source code, available from a public Git repository.

Bootlin continues to believe that participating to conferences is critical to keep its engineers up to date with the latest Linux developments and create connections with the developers of the Linux community which are essential to make our projects progress faster. For this purpose, we participated to a large number of conferences in 2013:

  • FOSDEM 2013, in Brussels, Belgium. Our CTO and engineer Thomas Petazzoni gave a talk about ARM kernel development
  • Buildroot Developers Meeting, Brussels, Belgium. Our engineer Thomas Petazzoni organized and participated to this 2-days meeting, sponsored by Google, to work on Buildroot developments.
  • Embedded Linux Conference 2013 and Android Builders Summit 2013, in San Francisco, United States. Our engineer Gregory Clement gave a talk about the Linux kernel clock framework. Our engineer Thomas Petazzoni gave a talk about ARM kernel development. See also our videos.
  • Linaro Connect Europe 2013, Dublin Ireland. Our engineer Thomas Petazzoni participated to numerous discussions related to support for ARM processors in the Linux kernel.
  • Linux Plumbers 2013, New Orleans, United States. Our engineer Maxime Ripard attended the conference, and participated to discussions around Android and Linux kernel development.
  • Kernel Recipes, Paris, France. Both Bootlin CEO Michael Opdenacker and CTO Thomas Petazzoni participated to this Linux kernel conference, and Thomas gave two talks: one about ARM kernel development and one about Buildroot.
  • ARM kernel mini-summit 2013, Edinburgh, UK. Our engineers Gregory Clement, Thomas Petazzoni and Maxime Ripard participated to the invitation-only ARM kernel mini-summit. This summit is the key place to discuss and define the next directions for support for ARM processors in the Linux kernel.
  • Embedded Linux Conference Europe, Edinburgh, UK. Gregory Clement gave a talk about about the Linux kernel clock framework and Thomas Petazzoni gave a talk about the Device Tree.
  • Buildroot Developers Meeting, Edinburgh, UK. Our engineer Thomas Petazzoni organized and participated to this 2-days meeting, sponsored by Imagination Technologies, to work on Buildroot development.

A very important development of Bootlin in 2013 is the addition of a new engineer to our team: Alexandre Belloni joined us in March 2013. Alexandre has a very significant embedded Linux and kernel experience, see his profile.

Now, let’s talk about our plans for 2014:

  • Hire several additional engineers. One of them has already been hired and will join us in April, bringing a significant Linux kernel development experience, including mainline contribution.
  • Our involvement in support for ARM processors in the Linux kernel will grow significantly.
  • Two new training courses will be released: one “Boot time reduction” training course, and an “OpenEmbedded and Yocto” training course.
  • For the first time, we will organize public training sessions (open to individual registration) outside of France.
    • Our next Android system development session in English will happen on April 14-17 in Southampton, UK
    • We are also working on embedded Linux and Kernel and driver development sessions in the USA, to be announced in the next weeks.
    • We also plan to organize embedded Linux and Kernel and driver development sessions in Germany, with German speaking trainers.
    • By the way, our Android system development courses in French will continue to run in Toulouse, but there will also be a session on April 1-4 in Lyon.

    See also the full list of public sessions.

As in 2013, we will participate to several key conferences. We have already planned our participation to: Linux Conf Australia (January 2014), FOSDEM (February 2014), Embedded Linux Conference (April 2014) and the Embedded Linux Conference Europe (October 2014).

You can follow Bootlin news by reading our blog and by following our quick news on Twitter. We now have a Google+ page too.

Again, Happy New Year!

The Bootlin team.

Bootlin Quarterly – 2013 Q1

The Bootlin team wishes you a Happy New Year for 2013, with success in your professional and personal projects, and in contributing to other people’s lives. We are taking this opportunity to give some news about Bootlin.

In 2012, Bootlin continued to work on multiple development projects. The main difference with 2011 is that the projects were much longer. Here are the most important ones:

  • Linux kernel code development, adding and maintaining support for Marvell Armada 370 and Armada XP ARM SoCs in the mainline Linux kernel. Months of engineering work! Our commits appear on git.kernel.org.
  • Linux kernel code development and toolchain work on a new i.MX28 computer-on-module from Crystalfontz, adding support for this system to the mainline Linux kernel. See the project page on Kickstarter!
  • Build system integration, bootloader and kernel driver development, system update mechanism improvements, and general embedded Linux development work.
  • Kernel driver development and upstreaming for AT91 analog to digital converters.
  • Boot time optimization and power management audit on a MIPS based point of sales terminal
  • Boot time reduction project on a ARM based point-of-sales development kit.
  • Embedded Linux system integration, development and support.

Through contract work or through direct contributions, 2012 gave us multiple opportunities to contribute to open-source projects, in particular:

  • 195 patches to the Linux kernel, plus the ones which have been accepted by maintainers but haven’t been included by Linus Torvalds yet. See git.kernel.org for details.
  • 448 patches to the Buildroot build system. See git.buildroot.net for details.
  • 9 patches to the U-boot bootloader.
  • 7 patches to the Barebox bootloader. See git.penguntronix.de for details.

By the way, here’s the git command that you can run in the corresponding repositories to count the commits by yourself:

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

We gave multiple sessions of our Embedded Linux system development and Linux kernel and driver development courses. We have also completed migrating our training materials from the Open Document Format to LaTeX, and their sources are now available on our public git server, making it much easier to follow changes and contribute to them.

We also created a new Android system development course and delivered multiple sessions of it. It is a four days training course to understand the Android system architecture, how to build and customize an Android system for a given hardware platform, and how to extend the Android platform to take new hardware devices into account.

As in the previous years, we also gave presentations at international conferences:

Also attending these conferences, the Bootlin team also recorded and published videos of the talks:

Thanks to their contributions to the mainline Linux kernel on the ARM platform, Gregory Clement and Thomas Petazzoni have also been invited to the ARM minisummit at the Linux kernel summit in San Jose in August. They were involved in decision making for the next evolutions of the Linux kernel on the ARM architecture.

We also organized and participated to two “Buildroot developer days” events, one in Brussels in February after Fosdem, and one in Barcelona in November after ELC Europe.

We also continued to participate to the development of the community of Linaro, an engineering organization working on improving Linux on the ARM platform. Note that this involvement is now over, allowing Michael Opdenacker to get back to more technical projects.

Now, let’s talk about our plans for 2013.

We plan to continue to hire more engineers to meet growing demand for our development and training services. In particular, a new engineer is joining us in March.

We are also organizing several public training sessions in France, which dates are now available:

We also plan to announce several new training sessions. Being very busy with projects in 2012, we haven’t had time to make progress in the plans we announced one year ago:

  • Git training. A two day training session to clearly understand how to use the Git distributed version control system, both for internal projects and for contribution to open-source projects.
  • Linux kernel debugging, tracing and performance analysis course. A one to two day session to trace kernel execution, investigate bugs and performance issues.
  • Boot time reduction training. A one to two day workshop to learn and master the methodology and techniques to make your embedded Linux systems boot faster.

As we are only in the very early stages of planning and preparing these courses, don’t hesitate to take the opportunity to contact us to let us know your expectations and influence their contents, in case you are interested in such courses.

We will also continue to participate to the key technical conferences. In particular, Bootlin engineers will be present at the Android Builders Summit and the Embedded Linux Conference in San Francisco, and at Embedded Linux Conference Europe in Edinburgh in October. This participation to conferences allows Bootlin engineers to remain up-to-date with the latest developments in the embedded Linux area and to create useful contacts in the community. Do not hesitate to go to such conferences, develop your technical knowledge and to take the opportunity to meet us there!

Last but not least, we will try harder to really write this newsletter every quarter. In 2012, we were so busy with projects that we didn’t manage to release newsletters for Q3 and Q4.

You can follow Bootlin news by reading our blog (31 articles in 2012) and by following our quick news on Twitter.

Again, Happy New Year!

The Bootlin team.

Bootlin Quarterly – 2012 Q2

This is the second Bootlin newsletter for 2012. We are happy to share with you the latest news about our projects, training courses and contributions.

New “Android system development” training

As announced in our previous newsletter, we have created a new Android system development training course.

This course targets engineers who need to develop embedded systems with Google Android. In four days, through theory and practical labs, the course makes you familiar with compiling and booting Android, with adapting Android to support a new embedded board (assuming that it is already supported by the Linux kernel), and with building a real system through accessing specific hardware, customizing the filesystem and using debugging techniques. More details and the complete agenda.

The first public session of this training will take place on June 11-14 2012 in Toulouse, France (session taught in English). There are still seats available for this session.

We will start giving on-site sessions of this course in July 2012. Do not hesitate to contact us if you want to organize on-site sessions.

Opening our training materials source code

Since Bootlin’screation in 2004, we have been releasing our training materials under the Creative Commons Attribution Share-Alike license, a free license that allows anyone to share, improve and use our embedded Linux and Linux kernel training materials. Since that time, our training materials were available as PDF files, and as OpenDocument files for the source code, but we were only updating their online version from time to time.

Now, we are proud to announce that our training materials are being converted to the LaTeX language, and their latest version is available at any time from our public Git repository.

For the moment, our embedded Linux slides have been published (about 500 slides) in this Git repository, as well as the instructions for the practical sessions of our embedded Linux and Linux kernel courses. In the near future, we will also publish in LaTeX the slides of our Linux kernel training (which remain available under PDF and OpenDocument formats) as well as the materials of our new “Android system development” course.

The creation of this public Git repository is a strong sign of our commitment for open training materials.

The LaTeX format and the public Git repository now make it easy for everyone to follow updates on our materials, to keep one’s knowledge up to date, and even to teach a training session using our materials (commercial use of our materials is welcome, as it helps to spread knowledge about Free and Open Source Software for embedded systems).

Upcoming public training sessions

Our next public training sessions dates and locations are:

  • Embedded Linux kernel and driver development
    June, 4-8 2012
    Toulouse, France
    Session given in French
    Details
  • Android system development
    June, 11-14 2012
    Toulouse, France
    Session given in English
  • Embedded Linux system development
    June, 18-22 2012
    Avignon, France
    Session given in French
    Details
  • Embedded Linux kernel and driver development
    July 2-6, 2012
    Avignon, France
    Session given in French
    Details
  • Embedded Linux kernel and driver development
    October, 8-12 2012
    Avignon, France
    Session given in English
    Details
  • Embedded Linux system development
    October, 15-19 2012
    Toulouse, France
    Session given in French
    Details
  • Embedded Linux system development
    December, 3-7 2012
    Avignon, France
    Session given in English
    Details
  • Embedded Linux system development
    February, 4-8 2013
    Lyon, France
    Session given in French
    Details

Projects

Since the beginning of the year, we have been involved in the following projects for various customers:

  • Boot time optimization and power management evaluation for a MIPS-based platform used in a payment terminal;
  • Filesystem size optimization, embedded Linux build system integration, Ethernet PHY driver development for an AT91 ARM platform used in satellite video processing;
  • Embedded Linux build system integration and generic embedded Linux debugging and support for an AT91 ARM platform used as a gateway between medical devices;
  • Starting in April, we will be working with a major ARM SoC vendor to help mainlining support for their latest SoC in the official Linux kernel sources;
  • Continued the creation of materials for our new “Android system development” course.
  • Continued our work on the Linux kernel driver for the Analog-to-Digital converters of the AT91 ARM SoC (see ‘Contributions’, below);
  • Continued our work on real-time Linux evaluation on AT91 ARM SoC (see ‘Contributions’, below.).

Career opportunities

Bootlin is looking for a kernel developer in the the French Riviera, to be hired with a permanent contract. The job is open to English speaking people who do not speak French, but are ready to settle in the area of Nice, and be hired through a French contract. See details.

Conferences and contributions

Embedded Linux Conference and Android Builders Summit

Three engineers of Bootlin attended the Embedded Linux Conference 2012 and Android Builders Summit 2012 in Redwood Shores, near San Francisco in California, on February. This strong participation of our engineers to technical conferences is a key factor to make sure we remain up to date on embedded Linux technologies and keep a close contact with the community.

During the conference, we have published daily reports about the various talks that we thought were interesting:

After the conference, we also posted videos of the talks:

Our scripts to encode videos to the royalty-free VP8 codec and add a title sequence to the videos are now available on on our public git server.

At this conference, our engineer Thomas Petazzoni has given a talk titled “Buildroot, a nice, simple and efficient embedded Linux build system”. Here are the slides and the video.

FOSDEM conference

Two of our engineers participated to the FOSDEM conference, a community-driven open-source conference, in early February.

Our engineer Maxime Ripard gave a talk on his work around the IIO kernel subsystem, which he used to write an ADC driver for the AT91 SoC. Here are the slides.

Our engineer Thomas Petazzoni gave a talk about “Using Qt for non-graphical applications”. Here are the slides.

AT91 Analog-to-Digital converter drivers

Details about the driver for the AT91 Analog-to-Digital converters driver written by Maxime Ripard from Bootlin have been published on the Atmel Linux4Sam wiki. This driver relies on the IIO framework, and we are in the process of getting this driver merged upstream. See the Atmel Linux4Sam wiki page.

Real-time Linux benchmarks

A report of extensive real-time benchmarks conducted by Gregory Clement from Bootlin on AT91 platforms has been published on the Atmel Linux4Sam Wiki. This report compares a vanilla Linux kernel, the PREEMPT-RT patches and the Xenomai co-kernel approach through timer-based and GPIO-based benchmarks. See the Atmel Linux4Sam wiki page.

Buildroot

Bootlin’sinvolvement in Buildroot is still strong:

  • Maxime Ripard and Thomas Petazzoni participated to the Buildroot Developer Day organized in Brussels before the FOSDEM conference. A report of this meeting, which gathered several other Buildroot developers, is available at the Buildroot mailing list archives.
  • Since the beginning of the year, Thomas Petazzoni has contributed 64 patches that have been merged: support for the LTT-ng Linux tracing solution, support to represent host utilities in the menuconfig, many updates and fixes to external toolchain support and many other fixes.
  • In the same time-frame, Maxime Ripard has contributed 13 patches that have been merged: support for systemd, improvements to the package infrastructure and various fixes.
  • Thomas Petazzoni has implemented a Web interface that publicly shows the result of our random configuration builds, available at http://autobuild.buildroot.org. The Buildroot community is doing random configuration builds 24/7 on three machines, with various configurations. This Web interface collects the build results and sends a summary every day on the Buildroot mailing-list. This has already allowed to fix many build issues, and will help to improve Buildroot’s quality in the future.

Linux kernel course

Participants to our Embedded Linux kernel and driver development course have also started contributing to the Linux kernel sources during the course itself. Here are the patches which have been merged so far:

During our git lab, instead of asking people to make dummy code changes, we ask them to make real improvements to the Linux sources, and send them for real to the right maintainers and mailing lists. This way, people get a better understanding of how they can interact with the Linux kernel developers to merge their changes and contributions.

See our slides and practical lab instructions for our git lectures and lab.

Blog posts

Bootlin has published several blog posts:

You can follow Bootlin’snews by reading our blog and by following our quick news on Twitter.

By the way, the right column of the Bootlin blog now lists the most popular posts and pages. This can help you to find useful content that you may have missed.

Bootlin remains available to help you in your embedded Linux projects, either through its development and support services or through its training sessions. Do not hesitate to contact us!

Gregory, Maria, Maxime, Michael and Thomas – Bootlin

New quarterly newsletter: 2011 report, best wishes and 2012 plans

The Bootlin team wishes you a Happy New Year 2012 and all the best for your professional and personal projects. We are taking this opportunity to give some news about Bootlin.

In 2011, Bootlin has:

Worked on multiple development projects for various customers. Amongst the most important ones:

  • development of an embedded Linux system and Qt-based application for a RFID/GSM device based on the AT91 ARM processor
  • boot time reduction on a MIPS-based point-of-sale system, by improving the embedded Linux system integration
  • development of an embedded Linux system for an AT91-based device for the medical field (kernel and bootloader adaptation, system integration, application porting)
  • porting of the PREEMPT_RT patch set to the 2.6.32 kernel delivered by Texas Instruments
  • developed the driver for the Analog to Digital converters built-in the AT91 processors
  • conducted a real-time performance analysis of the PREEMPT_RT and Xenomai solutions on AT91 based processors
  • developed an Ubuntu-based embedded system on a BeagleBoard, for image acquisition and analysis with OpenCV
  • boot time reduction on an i.MX-based device, with major bootloader modifications
  • developed a demonstration system for a racing car control panel on a AT91-based device, with a Qt graphical application

Helped customers solve various embedded Linux related problems, through the support provided by Bootlin engineers

Contributed to various open-source projects:

  • 167 patches to the Buildroot build system
  • 6 patches to the Linux kernel, and more are coming with the mainlining of our AT91 ADC driver
  • 6 patches to the Barebox bootloader
  • 4 patches to the U-Boot bootloader
  • 3 patches to the LTT-ng project

Given multiple sessions of our Embedded Linux system development and Linux kernel and driver development courses. The materials of these courses are being constantly updated and are still freely available under a Creative Commons license.

Prepared materials for a new Android system development course. A four days training session to understand the Android system architecture, how to build and customize an Android system for a given hardware platform, how to extend the Android platform to take new hardware devices into account. A first public session will be organized in June in Toulouse.

Switched the hardware platform used in our Embedded Linux system development course from the aging Calao USB-A9263 platform (AT91-based) to the much more powerful IGEPv2 platform from ISEE (OMAP3-based), offering more possibilities to improve our course.

Hired a new engineer, Maxime Ripard, with Android and embedded Linux experience, and created a new office in Toulouse, France.

Moved its headquarters to Orange, France. While we remain reasonably close the Nice area, where we started, we get closer to other parts of France.

Given two presentations at the Embedded Linux Conference Europe in Prague (Using Buildroot for real projects and Qt for non-graphical applications), gave one presentation on boot time reduction at the GENIVI meeting in Dublin, and gave five editions of an embedded Linux introduction seminar in France.

Attended multiple conferences, for which the Bootlin team also recorded and published videos of the talks:

Participated to the development of the community of Linaro, an engineering organization working on improving Linux on the ARM platform. In addition to making sure that Linaro has all the infrastructure required to nurture a community of developers and users, we also supported Linaro release users on AskLinaro.

In 2012, we expect to:

Work on more development projects in the field of kernel porting, boot time reduction, power management and embedded Linux system integration.

Announce several new training sessions:

  • Git training. A two days training session to clearly understand how to use the Git distributed version control system, both for internal projects and for contribution to open-source projects.
  • Advanced Buildroot training. A three days training session to get a clear and detailed understanding of the Buildroot embedded Linux build system: how to add new packages, how to customize it to generate the embedded Linux system for a given hardware platform.

As we are currently preparing those courses, we are definitely interested in having feedback. Do not hesitate to contact us with your ideas and needs about those topics.

Switch our Linux kernel and driver development course to an OMAP3-based platform, and expand it to the development of a driver for an I2C-attached device.

Convert our training materials to a text source format (LaTeX), and maintain them in a public git tree, making it easier to contribute to them and to follow changes between between versions.

Participate to multiple conferences. Bootlin will be present at the FOSDEM in Brussels in February, at the Android Builders Summit and the Embedded Linux Conference in San Francisco in February, and also at the Embedded Linux Conference Europe in Barcelona in October. This participation to conferences allows Bootlin engineers to remain up-to-date with the latest developments in the embedded Linux area and to create useful contacts in the community.

You can follow Bootlin news by reading our blog (24 articles in 2011) and by following our quick news on Twitter.

Bootlin remains available to help you in your embedded Linux projects, either through its development and support services or through its training sessions. Do not hesitate to contact us!

Best regards, and again, Happy New Year 2012!

Gregory, Maria, Maxime, Michael and Thomas – Bootlin