Linux 4.2 released, Bootlin contributions inside

Adelie Penguin
Linus Torvalds has released last sunday the 4.2 release of the Linux kernel. LWN.net covered the merge window of this 4.2 release cycle in 3 parts (part 1, part 2 and part 3), giving a lot of details about the new features and important changes.

In a more recent article, LWN.net published some statistics about the 4.2 development cycle. In those statistics, Bootlin appears as the 10th contributing company by number of patches with 203 patches integrated, and Bootlin engineer Maxime Ripard is in the list of most active developers by changed lines, with 6000+ lines changed. See also this page for more kernel contribution statistics.

This time around, the most important contributions of Bootlin where:

  • Support for Atmel ARM processors:
    • The effort to clean-up the arch/arm/mach-at91/ continued, now that the conversion to the Device Tree and multiplatform is completed. This was mainly done by Alexandre Belloni.
    • Support for the ACME Systems Arietta G25 was added by Alexandre Belloni.
    • Support for the RTC on at91sam9rlek was also added by Alexandre Belloni.
    • Significant improvements were brought to the dmaengine xdmac and hdmac drivers (used on Atmel SAMA5D3 and SAMA5D4), bringing interleaved support, memset support, and better performance for certain use cases. This was done by Maxime Ripard.
  • Support for Marvell Berlin ARM processors:
    • In preparation to the addition of a driver for the ADC, an important refactoring of the reset, clock and pinctrl driver was done by using a regmap and the syscon mechanism to more easily share the common registers used by those drivers. Worked done by Antoine Ténart.
    • An IIO driver for the ADC was contributed, which relies on the syscon and regmap mentioned above, as the ADC uses registers that are mixed with the clock, reset and pinctrl ones.
    • The Device Tree files were relicensed under GPLv2 and X11 licenses.
  • Support for Marvell EBU ARM processors:
    • A completely new driver for the CESA cryptographic engine was contributed by Boris Brezillon. This driver aims at replacing the old mv_cesa drivers, by supporting the newer features of the cryptographic engine available in recent Marvell EBU SoCs (DMA, new ciphers, etc.). The driver is backward compatible with the older processors, so it will be a full replacement for mv_cesa.
    • A big cleanup/verification work was done on the pinctrl drivers for Armada 370, 375, 38x, 39x and XP, leading to a number of fixes to pin definitions. This was done by Thomas Petazzoni.
    • Various fixes were made (suspend/resume improvements, big endian usage, SPI, etc.).
  • Support for the Allwinner ARM processors:
    • Support for the AXP22x PMIC was added by Boris Brezillon, including the support for the regulators provided by this PMIC. This PMIC is used on a significant number of Allwinner designs.
    • A small number of Device Tree files were relicensed under GPLv2 and X11 licenses.
    • A big cleanup of the Device Tree files was done by using more aggressively the “DT label based syntax”
    • A new driver, sunxi_sram, was added to support the SRAM memories available in some Allwinner processors.
  • RTC subsystem:
    • As was announced recently, Bootlin engineer Alexandre Belloni is now the co-maintainer of the RTC subsystem. He has set up a Git repository at https://git.kernel.org/cgit/linux/kernel/git/abelloni/linux.git/ to maintain this subsystem. During the 4.2 release cycle, 46 patches were merged in the drivers/rtc/ directory: 7 were authored by Alexandre, and all other patches (with the exception of two) were merged by Alexandre, and pushed to Linus.

The full details of our contributions:

Bootlin talks at the Embedded Linux Conference Europe

Father Mathew BridgeThe Embedded Linux Conference Europe 2015 will take place on October 5-7 in Dublin, Ireland. As usual, the entire Bootlin engineering team will participate to the event, as we believe it is one of the great way for our engineers to remain up-to-date with the latest embedded Linux developments and connect with other embedded Linux and kernel developers.

The conference schedule has been announced recently, and a number of talks given by Bootlin engineers have been accepted:

We submitted other talks that got rejected, probably since both of them had already been given at the Embedded Linux Conference in California: Maxime Ripard’s talk on dmaengine and Boris Brezillon’s talk on supporting MLC NAND (which we regret since Boris is currently actively working on this topic, so we are expecting to have some useful results by the time of ELCE, compared to his ELC talk which was mostly a presentation of the issues and some proposals to address them). Interested readers can anyway watch those talks and/or read the slides.

In addition to the Embedded Linux Conference Europe itself:

  • Thomas Petazzoni will participate to the Buildroot developers meeting on October 3/4, right before the conference.
  • Alexandre Belloni will participate to the OEDEM, the 2015 OpenEmbedded Developer’s European Meeting, taking place on October 9 after the conference.

2015 Q2 newsletter

Bootlin 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 Bootlin 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 Bootlin 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 Bootlin 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 Bootlin 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 Bootlin 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 Bootlin 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 Bootlin 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 Bootlin, 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.

Linux 4.1 released, Bootlin 17th contributing company

TuxLinus Torvalds recently released the 4.1 Linux kernel, for which LWN.net gave a good description of the major new features: 4.1 Merge window, part 1, 4.1 Merge window, part 2, The 4.1 merge window closes.

As usual, Bootlin engineers contributed to the Linux kernel during this development cycle, though this time with a smaller number of patches: we contributed 118 patches. This time around, Bootlin is the 17th company contributing to this kernel release, by number of patches.

Our major contributions this time around have been:

  • On support for Atmel platforms
    • Alexandre Belloni did a good number of improvements to Atmel SoC support: converting some remaining SoCs to the SoC detection infrastructure, cleaning up the timer driver to use a syscon/regmap, removing a lot of unused headers in arch/arm/mach-at91/, etc. The final and very important change is that the AT91 ARM platform is now part of the multiplatform mechanism: you can build a single zImage for ARMv5 or for ARMv7 which will include support for the ARMv5 or ARMv7 Atmel platforms.
    • Boris Brezillon improved the Atmel DRM/KMS driver for the display controller by switching to atomic mode-setting. He also added Device Tree definitions for the Atmel display controller on Atmel SAMA5D3 and Atmel SAMA5D4.
  • On support for Marvell EBU platforms
    • Ezequiel Garcia enabled the Performance Monitor Unit on Armada 375 and Armada 38x, which allows to use perf on those platforms.
    • Gregory Clement did a number of fixes and minor improvements to support for Marvell EBU platforms.
    • Maxime Ripard enabled the Performance Monitoring Unit on Armada 370/XP, enabling the use of perf on these platforms. He also improved support for the Armada 385 AP board by enabling NAND and USB3 support.
    • Thomas Petazzoni added initial support for the new Marvell Armada 39x platform (clock driver, pinctrl driver, Device Tree). He did some cleanup and fixes in many Device Tree of Marvell EBU platforms and added suspend/resume support in the PCI and pinctrl drivers for these platforms.
  • Other contributions
    • As we posted recently, Alexandre Belloni also became in this release cycle a co-maintainer for the RTC subsystem.
    • Alexandre Belloni added bq27510 support for the bq27x00_battery driver.
    • Maxime Ripard did some small contributions to the dmaengine subsystem, improved the of_touchscreen code and the edt-ft5x06 touchscreen driver, and did some cleanup in the Allwinner sun5i clocksource driver.

For the upcoming 4.2 version, we have 198 patches in linux-next, of which 191 have already been pulled by Linus as part of the 4.2 merge window.

Our complete list of contributions follows:

Buildroot 2015.05 release, Bootlin contributions inside

Buildroot LogoThe Buildroot project has recently released a new version, 2015.05. With exactly 1800 patches, it’s the largest release cycle ever, with patches from more than 100 different contributors. It’s an impressive number, showing the growing popularity of Buildroot as an embedded Linux build system.

The CHANGES file summarizes the most important improvements of this release.

Amongst those 1800 patches, 143 patches were contributed by Bootlin. Our most significant contributions for this release have been:

  • Addition of a package for the wf111 WiFi drivers. They allow to use a WiFi chip from Bluegiga, which is being used in one of our customer projects.
  • Addition of the support for using uClibc-ng. uClibc-ng is a “collaborative” fork of the uClibc project, which aims at doing more regular releases and have better testing. Maintained by Waldemar Brodkorb, the project has already seen several releases since its initial 1.0 release. Waldemar is merging patches from the original uClibc regularly, and adding more fixes. It allows Buildroot and other uClibc users to have well-identified uClibc stable versions instead of a 3 years old 0.9.33.2 version with dozens of patches on top of it. uClibc-ng is not currently used as the default uClibc version as of 2015.05, but it might very well be the case in 2015.08.
  • Important internal changes to the core infrastructure. Until this release, the make legal-info, make source, make external-deps and make source-check logic was relying only on the Buildroot configuration file. This was giving correct results for target packages which all have a corresponding Buildroot configuration option, but not for host packages (which for most of them don’t have Buildroot configuration options). Only a manual two-level dependency handling was done for the host packages for the above mentioned commands. With our work, the handling of those features has been moved to be part of the package infrastructure itself, so it’s using proper make recursivity to resolve the entire dependency tree. Due to this, the results of make legal-info or make external-deps may be longer following this release, but it’s because it’s now actually correct and complete. You can look at the patches for more details, but these changes are very deep into the core Buildroot infrastructure.
  • Large number of build fixes. We contributed 52 patches fixing issues detected by the autobuild infrastructure.
  • Addition of the imx-usb-loader package, which can be used to load over USB a new bootloader on i.MX6 platforms, even if the platform has no bootloader or a broken bootloader. We also use it as part of one of our customer projects.

With 142 patches, Bootlin engineer Thomas Petazzoni is the third contributor to this release by number of patches:

git shortlog -s -n 2015.02..

   397	Bernd Kuhls
   393	Gustavo Zacarias
   142	Thomas Petazzoni

But by far, our most important contribution by far for this release is Thomas acting as the interim maintainer: on the total of 1800 patches merged for this release, Thomas has been the committer of 1446 patches. He has therefore been very active in merging the patches contributed by the Buildroot community.

There are already some very interesting goals set for the Buildroot 2015.08 release, as you can see on the Buildroot release goals page.

Also, if you want to learn Buildroot in details, do not hesitate to look at our Buildroot training course!

Bootlin working on the $9 C.H.I.P. computer

C.H.I.P computer

If you’re following the news about embedded Linux and new cool development platforms, you for sure couldn’t miss the announcement on the world’s first $9 computer. This computer, called C.H.I.P., was started through a crowd-funding campaign on Kickstarter and reception in the Free Software and Open Source community has been very positive. Out of an initial funding goal of $50,000, NextThing Co, the Oakland, California based company creating this product eventually managed to raise more $2,000,000 of funding.

NextThing Co announced their intention to support the platform in the most open way possible: the schematics will be made available, and it will be supported in the mainline Linux kernel.

It turns out that the processor NextThing Co has chosen for this platform is an Allwinner R8 processor. Bootlin has been working since several years on supporting Allwinner processors in the mainline Linux kernel: our engineer Maxime Ripard is the maintainer of the Allwinner SoC support.

Thanks to this long term involvement, Bootlin has been asked by NextThing Co to work with them to support the C.H.I.P. computer in the mainline Linux kernel, and in the process bring some significant improvements to the support of Allwinner processors in the kernel.

C.H.I.P, world first $9 computer

NextThing Co announced recently our collaboration in a blog post on Kickstarter:

We’re incredibly excited to announce that we’ve partnered with one of the premier contributors to ARM Linux: Bootlin! We will be collaborating with their amazing team of ARM Linux engineers, and of course our Kernel Hacker backers to help us test and mainline C.H.I.P.’s kernel modifications as we move forward.

Bootlin is also very excited to be working with NextThing Co on this project! Thanks to this, over the next months, we will have a very substantial amount of time dedicated to this project, and we will regularly push code to support the missing hardware Allwinner SoC hardware blocks in the mainline Linux kernel and to support the C.H.I.P. board.

Pocket C.H.I.P

More details about the C.H.I.P:

  • Availability planned for 2016 for the general public. A selection of 1000 kernel hackers who backed on Kickstarter will have the platform earlier.
  • Very small platform: 40mm x 60mm, making is even smaller than a Raspberry Pi or BeagleBone.
  • Allwinner R8 processor, clocked at 1 Ghz, and offering OpenGL/OpenVG acceleration through an ARM Mali GPU
  • 512 MB of RAM
  • 4GB of on-board NAND flash storage
  • WiFi and Bluetooth 4.0 to connect the system to the outside world
  • One USB host port
  • Powered through a micro USB connector which also supports USB OTG (either USB host or device).
  • Jack connector for composite video out, headphones and microphone input.
  • Many headers to connect external devices (SPI, I2C, UART + 8 GPIOs)
  • Integrated circuit for charging a LiPo battery and being powered by it
  • Additional HDMI or VGA add-on boards will be needed to connect to displays with the corresponding connectivity.

Bootlin engineer Alexandre Belloni co-maintainer of Linux Atmel processor support

Atmel SAMA5After becoming the co-maintainer of the Linux RTC subsystem, Bootlin engineer Alexandre Belloni also recently became a co-maintainer for the support of Atmel ARM processors in the Linux kernel.

Bootlin has been working since early 2014 with Atmel to improve support for their processors in the mainline kernel. Since this date, our work has mainly consisted in:

  • Modernizing existing code for Atmel processors: complete the switch to the Device Tree and the common clock framework for all platforms, rework all that was needed to make Atmel processor support compatible with the ARM multiplatform kernel, and do a lot of related driver and platform refactoring.
  • Implement a complete DRM/KMS driver for the display subsystem of the most recent Atmel processors.
  • Upstream support for the Atmel SAMA5D4, the latest Cortex-A5 based SoC from Atmel.

Thanks to this long-term involvement from Alexandre Belloni and Boris Brezillon, Alexandre was appointed as a co-maintainer of Atmel support, replacing Andrew Victor who hasn’t been active in kernel development since quite some time. He is joining Nicolas Ferre and Jean-Christophe Plagniol-Villard in the team of maintainers for the Atmel platform.

Alexandre has sent his first pull request as an Atmel co-maintainer on May 22, sending 9 patches to the ARM SoC maintainers, planned for the 4.2 kernel release. His pull request was quickly merged by ARM SoC maintainer Arnd Bergmann.

Bootlin is proud to have one of its engineers as the maintainer of one very popular embedded Linux platform, which has had since many years a strong commitment of upstream Linux kernel support. Alexandre is the third Bootlin engineer to become an ARM platform maintainer: Maxime Ripard is the maintainer of Allwinner ARM processor support, and Gregory Clement is the co-maintainer of Marvell EBU ARM processor support.

Embedded Linux Projects Using Yocto Project Cookbook

Embedded Linux Projects Using Yocto Project Cookbook Cover

We were kindly provided a copy of Embedded Linux Projects Using Yocto Project Cookbook, written by Alex González. It is available at Packt Publishing, either in an electronic format (DRM free) or printed.

It is written as a cookbook so it is a set of recipes that you can refer to and solve your immediate problems instead of reading it from cover to cover. While, as indicated by the title, the main topic is embedded development using Yocto Project, the book also includes generic embedded Linux tips, like debugging the kernel with ftrace or debugging a device tree from U-Boot.

The chapters cover the following topics:

  • The Build System: an introduction to Yocto Project.
  • The BSP Layer: how to build and customize the bootloader and the Linux kernel, plenty of tips on how to debug kernel related issues.
  • The Software layer: covers adding a package and its configuration, selecting the initialization manager and making a release while complying with the various licenses.
  • Application development: using the SDK, various IDEs (Eclipse, Qt creator), build systems (make, CMake, SCons).
  • Debugging, Tracing and Profiling: great examples and tips for the usage of gdb, strace, perf, systemtap, OProfile, LTTng and blktrace.

The structure of the book makes it is easy to find the answers you are looking for and also explains the underlying concepts of the solution. It is definitively of good value once you start using Yocto Project.

Bootlin is also offering a Yocto Project and OpenEmbedded training course (detailed agenda) to help you start with your projects. If you’re interested, join one of the upcoming public training sessions, or order a session at your location!

Embedded Linux and kernel job openings for 2015

At Bootlin, 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 (such as projects that allow us to contribute to the Linux kernel, Buildroot or Yocto Projects), we have decided to look for new engineers to join our technical team.

Job description in a nutshell

  • Technical aspects: mainline Linux kernel development, Linux BSP and embedded Linux system integration, technical training
  • Location: working in one of our offices in France (Toulouse or Orange)
  • Contract: full-time, permanent French contract

Mainline Linux kernel development

Believe it or not, we now have an increasing number of customers contracting us to support their hardware in the mainline Linux kernel. They are either System on Chip manufacturers or systems makers, who now understand the strong advantages brought by mainline Linux kernel support to their customers and to themselves.

You can see the results: Bootlin is now consistently in the top 20 companies contributing to the Linux kernel. We are even number 6 for Linux 4.0!

Note that this job doesn’t only require technical skills. It also has a strong social dimension, having to go through multiple iterations with the community and with kernel subsystem maintainers to get your code accepted upstream.

Linux BSP and embedded Linux system integration

Such activity involves developing and integrating everything that’s needed to deploy Linux on the customer hardware: bootloader, kernel, build environment (such as Buildroot or the Yocto project), upgrade system, optimizing performance (such as boot time) and fixing issues. Another way is to provide guidance and support to customer learning to do such a job.

As opposed to Linux kernel development projects which are often long term ones (though with step by step objectives which can be reached in days), these are usually shorter and more challenging projects. They allow us to stay in touch with the real-life challenges that customer engineers face every day, and that require to achieve substantial results in a relatively small number of days.

Such projects also constitute opportunities to contribute improvements to the mainline kernel and bootloader projects, as well to the build system projects themselves (Buildroot, Yocto Project, OpenWRT…).

Training and sharing experience

Knowledge sharing is an important part of Bootlin mission and activity. Hence, after gaining sufficient on-the-job experience, another important aspect of the job is teaching, maintaining and improving Bootlin training courses.

You will also be strongly incited to share your technical experience by writing blog posts or kernel documentation, and by proposing talks at international conferences, especially the Embedded Linux Conference (USA, Europe).

Profile

  • Experience: we are open to both experienced engineers and people just out of engineering schools. Though prior experience with the technical topics will be an advantage, we are also interested in young engineers demonstrating great potential for learning, coding and knowledge sharing. People having made visible contributions in these areas will have an advantage too.
  • Language skills: fluency in oral and written English is very important. French speaking skills won’t be a requirement, but an advantage too.
  • Traveling: for training sessions and conference participation, you will need the ability to travel rather frequently, up to 8-10 times a year.
  • Ability to relocate, to one of our offices in France, either in Toulouse or in Orange, to strengthen our engineering teams here.

Details about Toulouse and Orange

  • Toulouse is a dynamic city with lots of high-tech and embedded systems companies in particular. Our office in Colomiers can easily be reached by train from downtown Toulouse if you wish to settle there. You would be working with Boris Brezillon, Antoine Ténart, Maxime Ripard and our CTO Thomas Petazzoni.
  • Our main office is settled in Orange in the heart of the Provence region, close to Avignon, a smaller but dynamic city too. It enjoys a sunny climate and the proximity of the Alps and the Mediterranean sea. Accommodation is very affordable and there are no traffic issues! You would be working with our founder Michael Opdenacker and of course remotely with the rest of the engineering team. In particular, we are interested in foreign engineers who could help us develop our services in their home countries.

We prefer not to offer home based positions for the moment, which have their own complexity and cost, while we have plenty of space left in our current offices.

See a full description and details about how to contact us.

New training course on Buildroot: materials freely available

Buildroot LogoLast year, Bootlin launched a new training course on using the Yocto Project and OpenEmbedded to develop embedded Linux systems. In the selection of build system tools available in the embedded Linux ecosystem, another very popular choice is Buildroot, and we are happy to announce today that we are releasing a new 3 days training course on Buildroot!

Bootlin is a major contributor to the Buildroot upstream project, with more than 2800 patches merged as of May 2015 (including the ones contributed with our previous name). Our engineer Thomas Petazzoni alone has contributed more than 2700 patches. He has gathered an extensive knowledge of Buildroot and its internals, being one of the primary authors of the core infrastructures of Buildroot. He is a major participant to the Buildroot community, organizing the regular Buildroot Developer Days, supporting users through the mailing list and on IRC. Last but not least, Thomas acts as an interim maintainer when the main Buildroot maintainer is not available, an indication of Thomas strong involvement in the Buildroot project.

In addition, Bootlin has used and is using Buildroot in a significant number of customer projects, giving us an excellent view of Buildroot usage for real projects. This feedback has been driving some of our Buildroot contributions over the last years.

The 3 days training we have developed covers all the aspects of Buildroot: basic usage and configuration, understanding the source and build trees, creating new packages including advanced aspects, analyzing the build, tips for organizing your Buildroot work, using Buildroot for application development and more. See the detailed agenda.

buildroot-slidesWe can deliver this training course anywhere in the world, at your location (see our rates and related details). We have also scheduled a first public session in English in Toulouse, France, on November 30 to December 2. Contact us at training@bootlin.com if you are interested.

And finally, last but not least, like we do for all our training sessions, we are making the training materials freely available under a Creative Commons BY-SA license, at the time of the training announcement: the first session of this course is being given this week. For the Buildroot training, the available materials are:

Our materials have already been reviewed by some of the most prominent contributors to Buildroot: Peter Korsgaard (Buildroot maintainer), Yann E. Morin, Thomas De Schampheleire, Gustavo Zacarias and Arnout Vandecappelle. We would like to take this opportunity to thank them for their useful comments and suggestions in the development of this new training course.