2016 Q1 newsletter

Newsletter iconThis article was published on our quarterly newsletter.

The Free Electrons team wishes you a Happy New Year for 2016, with many new bits to enjoy in your life!

Free Electrons is happy to take this opportunity to share some news about the latest training and contribution activities of the company.

Free Electrons work on the $9 computer

As announced in our previous newsletter, Free Electrons has been working intensively on developing the low-level software support for the first $9 computer, the C.H.I.P by Next Thing Co.

Next Thing Co. has successfully delivered an initial batch of platforms in September to the early adopters, and has started shipping the final products in December to thousands of Kickstarter supporters.

Those products are using the U-Boot and Linux kernel ported by Free Electrons engineers, with numerous patches submitted to the official projects and more to be submitted in the coming weeks and months:

  • Support for the C.H.I.P platform itself, in U-Boot and in the Linux kernel;
  • Support for audio on Allwinner platforms added to the Linux kernel;
  • Development of a DRM/KMS driver for the graphics controller found on Allwinner platforms;
  • Significant research effort on finding appropriate solutions to support Multi-Level Cell NANDs in the Linux kernel;
  • Enabling of the NAND storage in Single-Level Cell mode, until the Multi-Level Cell mode can be enabled reliably;
  • Addition of NAND support in the fastboot implementation of U-Boot, which is used to reflash the C.H.I.P.

We will continue to work on the C.H.I.P over the next months, with among other things more work on the graphics side and the NAND side.

Kernel contributions

The primary focus of the majority of our customer projects remain the Linux kernel, to which we continue to contribute very significantly.

Linux 4.2

We contributed 203 patches to this release, with a new IIO driver for the ADC found on Marvell Berlin platforms, a big cleanup to the support of Atmel platforms, improvements to the DMA controller driver for Atmel platforms, a completely new driver for the cryptographic accelerator found on Marvell EBU platforms.

In this cycle, our engineer Alexandre Belloni became the official maintainer of the RTC subsystem.

See details on our contributions to Linux 4.2

Linux 4.3

We contributed 110 patches to this release, with mainly improvements to the DRM/KMS driver and DMA controller driver for Atmel platforms and power management improvements for Marvell platforms.

See details on our contributions to Linux 4.3

Linux 4.4

We contributed 112 patches to this release, the main highlights being an additional RTC driver, a PWM driver, support for the C.H.I.P platform, and improvements to the NAND support.

See details on our contributions to Linux 4.4

Work on ARM 64-bit platform

We have started to work on supporting the Linux kernel on several ARM 64 bits platforms from different vendors. We will be submitting the initial patches in the coming weeks and will progressively improve the support for those platforms throughout 2016 where a major part of our Linux kernel contribution effort will shift to ARM 64-bit.

Growing engineering team

Our engineering team, currently composed of six engineers, will be significantly expanded in 2016:

  • Two additional embedded Linux engineers will join us in March 2016 and will be working with our engineering team in Toulouse, France. They will help us on our numerous Linux kernel and Linux BSP projects.
  • An engineering intern will join us starting early February, and will work on setting up a board farm to contribute to the kernelci.org automated testing effort. This will help us do more automated testing on the ARM platforms we work on.

Upcoming training sessions

We have public training sessions scheduled for the beginning of 2016:

Embedded Linux development training
February 29 – March 4, in English, in Avignon (France)
Embedded Linux kernel and driver development training
March 14-18, in English, in Avignon (France)
Android system development training
March 7-10, in English, in Toulouse (France)

We also offer the following training courses, on-site, anywhere in the world, upon request:

Contact us at training@bootlin.com for details.

Conferences

We participated to the Embedded Linux Conference Europe in Dublin in October 2015, and gave a number of talks:

In addition, our engineer Thomas Petazzoni was invited to the Linux Kernel Summit, an invitation-only conference for the kernel maintainers and developers. He participated to the three days event in Seoul, South Korea. See Free Electrons at the Linux Kernel Summit 2015.

At the beginning of 2016, our entire engineering team will be attending the Embedded Linux Conference in San Diego (US), which means that no less than 9 engineers from Free Electrons will be present at the conference!

Porting Linux on ARM seminar

In December 2015, we gave a half-day seminar entitled “Porting Linux on ARM” in Toulouse (France). The materials, in English, are now freely available on our web site.

2015 Q2 newsletter

This article was published on our quarterly newsletter.

Free Electrons working on the $9 computer!

NextThing Co, a company based in Oakland, California, made the news in the last months by starting a successful crowdfunding campaign to develop a $9 computer! Much like the Raspberry Pi, this $9 computer called C.H.I.P is based on an ARM processor and runs a Linux operating system.

More specifically, at the core of this computer is an Allwinner ARM processor, and Free Electrons engineer Maxime Ripard turns out to be the official Linux kernel maintainer for the support of this processor family. Since NextThing Co. is firmly engaged in having software support for the C.H.I.P that is as open-source as possible, they decided to contract us to do a lot of work in the official Linux kernel to improve the support for the Allwinner processor they are using.

Thanks to this project, some of the big missing features in the support of Allwinner processors in the official Linux kernel will be implemented in the coming months, so you can expect to see a lot of contributions from Free Electrons on such topics in the future. We’re really excited to be part of the $9 computer adventure!

See our blog post for more details.

Kernel contributions

As usual, we continue to contribute significantly to the Linux kernel, with 100 to 200 or more patches from Free Electrons engineers merged at each kernel release. Our focus continues to be on support for various ARM processor families.

  • In Linux 3.19, we had 205 patches merged, making Free Electrons the 13th contributing company in number of patches. See details on our 3.19 contributions.
  • In Linux 4.0, we had 252 patches merged, making Free Electrons the 6th contributing company in number of patches. See details on our 4.0 contributions.
  • In Linux 4.1, we had 118 patches merged, a smaller amount of contributions. See details.

Some major highlights of our contributions:

  • In Linux 4.0, we merged a complete driver for the display controller of the latest Atmel ARM processors. This DRM/KMS driver, written by Boris Brezillon, allows using the display of those processors with the mainline kernel. It was the last big feature missing in the mainline kernel for the Atmel processors.
  • Our engineer Alexandre Belloni was appointed as the co-maintainer of the RTC subsystem, and also as the co-maintainer of the support for the Atmel processors. As the maintainer of the RTC subsystem, Alexandre is now sending pull requests directly to Linus Torvalds!
  • In Linux 4.1, we completed the conversion of Atmel platform support to the multiplatform paradigm. And we also added support for the latest Armada 39x processor from Marvell.

New training session on Buildroot

Last year, we developed and released a new 3-day training session on the Yocto Project and OpenEmbedded. This year, we are happy to release a new 3-day training course covering the Buildroot embedded Linux build system.

Buildroot is very popular alternate solution to the Yocto Project to build embedded Linux systems, thanks to its ease of use and Buildroot, with Free Electrons CTO Thomas Petazzoni being one of the top contributors to the project.

Over the 3 days of this training course, you will learn how to use Buildroot, how to add more packages, how to customize the filesystem generated by Buildroot, how Buildroot works internally and much more!

Check out our agenda, slides, and practical lab instructions for more details.

This training session, taught by Thomas, can be delivered anywhere in the world at your location, or individual participants can attend to our first public training session on this topic in Toulouse (France) in November 2015.

Recent projects

Besides our visible contributions, we also work on a number of projects for customer-specific platforms.

For a French customer making a custom i.MX6 base-board using a System-on-Module from SECO, we ported a recent mainline U-Boot, a 3.10 Freescale kernel, and provided a Buildroot based system with Qt5 and OpenGL acceleration to allow the customer to develop its own applications. Among other things, we had to add support for communication with an FPGA over SPI, and wrote a userspace tool to reprogram this FPGA over SPI.

This project lead to a few U-Boot contributions (support for the SECO module):

And a few Buildroot contributions as well:

For a US based customer, developed a prototype system running on a Nitrogen 6x platform, built by Buildroot, and running the SuperCollider application for audio synthesis.

For a French customer, developed a Yocto Project based BSP for a custom i.MX6 platform. The work involved kernel development to adapt to the hardware and run some Qt5 application under X11.

Conferences

Like we do every year, we participated to the Embedded Linux Conference in San Jose, California: seven engineers from Free Electrons attended the conference.

The videos and slides of the three talks we gave have been posted:

  • The DMAengine subsystem, by Maxime Ripard (slides, video).
  • The Device Tree as a stable ABI: a fairy tale?, by Thomas Petazzoni (slides, video).
  • MLC/TLC NAND support: (new ?) challenges for the MTD/NAND subsystem, by Boris Brezillon (slides, video)

For more details about our participation to ELC, see our blob post.

We have submitted several talks for the upcoming Embedded Linux Conference Europe, which will take place early October in Dublin, Ireland.

Upcoming public training sessions

In addition to offer our training courses on-site everywhere in the world (we recently delivered training in the United States, Israel, India and Mexico!), we also offer public training sessions opened to individuals. Our next public training sessions are:

Embedded Linux training
October 12-16, in Avignon (France), in English
November 23-27, in Toulouse (France), in French
Embedded Linux kernel and driver development training
July 20-24, in Avignon (France), in English
November 16-20, in Toulouse (France), in French
Embedded Linux development with Buildroot training
November 30-December 2, in Toulouse (France), in English
Yocto Project and OpenEmbedded development training
October 13-15, in Toulouse (France), in English
Android system development training
December 7-10, in Toulouse (France), in English

Recruiting

At Free Electrons, we are starting to get more and more requests for very cool projects. As it can be very frustrating to turn down very interesting opportunities, we have decided to look for new engineers to join our technical team.

Therefore, if you are a junior engineer showing a real interest in embedded Linux and open-source projects, or an experienced engineer with existing visible contributions and embedded Linux knowledge, do not hesitate to contact us.

See more details about our job openings.

2015 Q1 newsletter

This article was published on our quarterly newsletter.

The Free Electrons team wishes you a Happy New Year for 2015, with plenty of optimism and energy!

Free Electrons is happy to take this opportunity to share some news about the latest training and contribution activities of the company.

Kernel contributions

We continue to work significantly on support for various ARM processors in the Linux kernel. Our contributions to the latest kernel releases:

  • 147 patches from Free Electrons merged in Linux 3.17, making Free Electrons the 14th contributing company for this release by number of patches. See our blog post about this release.
  • 155 patches from Free Electrons merged in Linux 3.18, making Free Electrons the 14th contributing company. See our blog post for more details.
  • For the upcoming 3.19 release, we already have 196 patches merged.

One of the highlights was that we added support for the Atmel SAMA5D4 SoC to the Linux kernel even before the new chip was announced by Atmel! That’s a very positive sign for customers when an SoC is supported in the mainline Linux kernel sources right at product launch, instead of having to wait for months or years before the community developers can catch up.

Note that we also added Atmel SAMA5D3 SoC support to Xenomai, a hard real-time extension for the Linux kernel. Thanks to this, the Atmel SAMA5D3 Xplained board can now run with the 2.6.x release of Xenomai.

Besides those highlights, most of our kernel contributions were as usual centered around support for specific families of ARM processors: CPUs from Marvell EBU and Marvell Berlin, from Atmel and from Allwinner. We added a new network driver for some Marvell EBU processors, added SMP support for Marvell Berlin processors, added a DMA controller driver for Allwinner processors, and did a lot of maintenance work to support these processors in the mainline kernel.

Buildroot contributions

Our involvement into the Buildroot project, a popular embedded Linux build system, is going on. Our engineer Thomas Petazzoni contributed 136 patches to the 2014.11 release, making him the second contributor by number of patches. Thomas is also taking care of the maintenance of the project on a more regular basis, reviewing and merging patches from contributors.

OpenWRT contributions

We have recently started contributing to the OpenWRT project: improve the kernel support to use defconfig, introduce a notion of board to support different NAND configurations for each platform. We will soon to be pushing support for the Marvell Armada 385 platform, and improved support for the Marvell Armada 370 and XP platforms.

Recent projects

Besides our publicly visible kernel contributions, we do also work on customer-specific projects. Among the latest projects we have done:

  • Develop a complete Board Support Package for a custom TI AM335x based platform: U-Boot porting, Linux kernel porting, and development of a Yocto-generated system. Qt5 and OpenGL are used for the graphical application, a fairly complex audio setup had to be supported, and many traditional interfaces as well (USB Host and Device, CAN, display, etc.)
  • Develop a Board Support Package for a custom Marvell Armada 375 based platform for a telephony system. Not only did we port a Linux kernel on this platform, but we also wrote several DAHDI drivers to interface the telephony hardware of the platform with Asterisk.
  • NAND and UBI stress-testing for a customer-specific Freescale i.MX28 based platform. We improved the NAND controller driver, added a new MTD tool to generate bitflips, and did some long term power-cut stress-testing of the UBIFS setup to ensure the reliability of the platform. See our kernel driver improvements and the new nandflipbits tool.
  • Adapt an existing ADC driver for a customer-specific platform to the modern Industrial Input Output (IIO) subsystem of the kernel.

Conferences: FOSDEM, Embedded World and Embedded Linux Conference

Several Free Electrons engineers will participate to the FOSDEM conference, taking place on January 30 and February 1 in Brussels. In addition, Thomas Petazzoni will be participating to the Buildroot Developers Meeting that takes place right after FOSDEM in the Google offices in Brussels.

Free Electrons will participate to the Embedded World trade show on February 24-26 in Nuremberg, Germany. We will be present at Atmel’s booth and visiting exhibitor booths too. For people in Europe, this will be a good opportunity to ask your questions about our embedded Linux training and engineering services. In particular, you will be able meet our engineers Alexandre Belloni, Thomas Petazzoni (CTO), Michael Opdenacker (CEO) and Anja Roubin as well, the new person in charge of our training services.

This year again, most of the Free Electrons engineering team (7 engineers) will participate to the 2015 edition of the Embedded Linux Conference on March 23-25 in San Jose, California. We submitted several talk proposals, but our presence won’t depend on the number of talks that are eventually accepted. Participating to this conference, and to its European edition in the fall too, is very important for us to make sure we do not miss any of the interesting developments in the technical community, and above all to strengthen our ties with the community developers. This helps us to be good technical trainers with valuable experience and information to share. The strong relationships with other community developers (and in particular with project maintainers) also help us when our customers contract us to add hardware support or features to official versions of community projects such as the Linux kernel.

Free technical documentation resources

Since the latest edition of this newsletter, we started running our new Yocto Project and OpenEmbedded course, and we released all training materials for this course. As usual, such materials are meant to be used by people learning by themselves too. All you have to do is get your hands on a Beaglebone Black board, read the slides and try to do the labs!

Our engineer Maxime Ripard also contributed documentation about the DMAEngine subsystem in the Linux kernel.

Upcoming training sessions – Now in Paris too!

The news is that we will run new public sessions in Paris, in addition to the ones we usually organize in Toulouse, Avignon and Lyon in France. We are starting with our embedded Linux and our Yocto courses, but other topics will follow too.

So, here are our next session dates:

See sessions and dates for more details. Of course, we can also deliver our training courses at your location, anywhere in the world. Feel free to contact us for a quote.

If you are interested in more frequent news about Free Electrons, you can follow us on Twitter, Google+ and LinkedIn.

2014 Q3 newsletter

This article was published on our quarterly newsletter.

Free Electrons is happy to share some news about the latest training and contribution activities of the company.

Kernel contributions

Since our last newsletter, our engineering team continued to make significant contributions to the Linux kernel, especially in the area of supporting ARM processors and platforms:

  • 218 patches from Free Electrons were merged into Linux 3.15, making Free Electrons the 12th contributing company for this release by number of patches. See our blog post.
  • 388 patches from Free Electrons were merged into Linux 3.16, making Free Electrons the 7th contributing company for this release, by number of patches. See our blog post.
  • For the upcoming 3.17 release, we already have 146 patches merged, and we have a lot more work being done for future kernel releases.

The major areas of our contributions were:

  • The addition of an ubiblk driver, which allows traditional block filesystems to be used on top of UBI devices, and therefore on NAND flash storage. Only read-only support is available, but it already allows to make use of the super efficient SquashFS filesystem on top of NAND flash in a safe way.
  • Another major addition is support for the new Marvell Armada 375 and Armada 38x processors. In just two releases (3.15 and 3.16) we almost pushed entire support for these new processors. The network driver for Armada 375 is one missing piece, coming in 3.17.
  • Our maintenance work on the Atmel AT91 and SAMA5 processors has continued, with more conversion to the Device Tree, the common clock framework, and other modern kernel mechanisms. We have also developed the DRM/KMS (graphics) driver for the SAMA5D3 SoC, which has already been posted and should hopefully be merged soon.
  • Our work to support the Marvell Berlin processor has started to be merged in 3.16. This processor is used in various TVs, set-top boxes or devices like the Google Chromecast. Basic support was merged including Device Trees, clock drivers, pin-muxing driver, GPIO and SDHCI support. AHCI support will be in 3.17, and USB and network support should be in 3.18.
  • Additional work was done on support for Allwinner ARM SoCs, especially the A31 processor: SPI and I2C support, drivers for the P2WI bus and the PRCM controller, and support for USB.

We now have broad experience in writing kernel drivers and getting code merged into the mainline tree. Do not hesitate to contact us if you need help to develop Linux kernel drivers, or to support a new board or processor.

Buildroot contributions

Our involvement into the Buildroot project, a popular embedded Linux build system, is going on. We have merged 159 patches in the 2014.05 release of the project (total of 1293 patches), and 129 patches in the 2014.08 release of the project (total of 1353 patches). Moreover, our engineer Thomas Petazzoni is regularly an interim maintainer of the project, when the official maintainer Peter Korsgaard is not available. Some of the major features we contributed: major improvements to Python 3 support, addition of EFI bootloaders, addition of support for the Musl C library.

Regular embedded Linux projects

Of course, we also conducted embedded Linux development and boot time optimization projects for various embedded system makers, with less visible impact on community projects. However, we will try to share generic technical experience from such projects through future blog posts.

New training course: Yocto Project and OpenEmbedded

A large number of embedded Linux projects use embedded Linux build systems to integrate the various software components of the system into a working root filesystem image. Among the solutions available to achieve this, the Yocto Project and OpenEmbedded are very popular.

We have therefore launched a new 3 day Yocto Project and OpenEmbedded training course to help engineers and companies who are using, or are interested in using these solutions for their embedded Linux projects. Starting from the basics of understanding the core principles of Yocto, the training course goes into the details of writing package recipes, integrating support for a board into Yocto, creating custom images, and more.

The detailed agenda of the training course is available. You can order this training course at your location, or participate to the first public session organized on November 18-20 in France.

Embedded Linux training course updated

The embedded Linux ecosystem is evolving very quickly, and therefore we are continuously updating our training courses to match the latest developments. As part of this effort, we have recently conducted a major update to our Embedded Linux course: the hardware platform used for the practical labs has been changed to the popular and very interesting Atmel Xplained SAMA5D3, and many practical labs have been improved to provide a more useful learning experience. See our blog post for more details.

Mailing list for training participants

We have launched a new service for the participants to our training sessions: a mailing list dedicated to them, and through which they can ask additional questions after the course, share their experience, get in touch with other training participants and Free Electrons engineers. Of course, all Free Electrons engineers are on the mailing list and participate to the discussions. Another useful service offered by our training courses!

See more details.

Conferences: ELC, ELCE, Kernel Recipes

The Free Electrons engineering team will participate to the Embedded Linux Conference Europe and Linux Plumbers, next month in Düsseldorf, Germany. Several Free Electrons engineers will also be giving talks during ELCE:

In addition, Thomas will participate to the Buildroot Developers Day, taking place right before the Embedded Linux Conference Europe in Düsseldorf.

See also our blog post about ELCE for more details.

Maxime Ripard and Michael Opdenacker will participate to the Kernel Recipes 2014 conference, on September 25-26 in Paris. Maxime will be giving his Allwinner kernel talk at this conference. See our blog post for more details.

Last but not least, we have recently published the videos of a number of talks from the previous Embedded Linux Conference, held earlier this year in San Jose. A lot of interesting material about embedded Linux! Check out our blog post for more details.

Upcoming training sessions

We have a number of public training sessions dates, with seats available:

Sessions and dates

2014 Q2 newsletter

This article was published on our quarterly newsletter.

Free Electrons is happy to share some news about the latest training and contribution activities of the company.

Free Electrons New Year – 2014

This article was published on our quarterly newsletter. A French version also exists.

The Free Electrons 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 Free Electrons.

In 2013, Free Electrons 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, Free Electrons 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 Free Electrons the second most important contributor after Buildroot’s maintainer. This effort allows Free Electrons 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.

Free Electrons 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 Free Electrons 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 Free Electrons 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 Free Electrons 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 Free Electrons team.

Free Electrons Quarterly – 2013 Q1

This article was published on our quarterly newsletter.

The Free Electrons 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 Free Electrons.

In 2012, Free Electrons 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 "free-electrons.com" --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 Free Electrons 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, Free Electrons 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 Free Electrons 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 Free Electrons news by reading our blog (31 articles in 2012) and by following our quick news on Twitter.

Again, Happy New Year!

The Free Electrons team.

Free Electrons Quarterly – 2012 Q2

The below message has been posted on our English and French newsletters. Don’t hesitate to subscribe to these newsletters if you are interested in getting these news by e-mail.

This is the second Free Electrons 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 Free Electrons’ creation 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

Free Electrons 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 Free Electrons 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 Free Electrons 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 Free Electrons 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

Free Electrons’ involvement 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

Free Electrons has published several blog posts:

You can follow Free Electrons’ news by reading our blog and by following our quick news on Twitter.

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

Free Electrons 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 – Free Electrons

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

The below message has been posted on our English and French newsletters. Don’t hesitate to subscribe to these newsletters if you are interested in getting quarterly news about Free Electrons.

The Free Electrons 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 Free Electrons.

In 2011, Free Electrons 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 Free Electrons 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 Free Electrons 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. Free Electrons 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 Free Electrons 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 Free Electrons news by reading our blog (24 articles in 2011) and by following our quick news on Twitter.

Free Electrons 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 – Free Electrons