Bootlin 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 Bootlin were merged into Linux 3.15, making Bootlin the 12th contributing company for this release by number of patches. See our blog post.
- 388 patches from Bootlin were merged into Linux 3.16, making Bootlin 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 Bootlin engineers. Of course, all Bootlin engineers are on the mailing list and participate to the discussions. Another useful service offered by our training courses!
This resource is no longer available, but participants to our training sessions are still welcome to contact us by e-mail.
Conferences: ELC, ELCE, Kernel Recipes
The Bootlin engineering team will participate to the Embedded Linux Conference Europe and Linux Plumbers, next month in Düsseldorf, Germany. Several Bootlin engineers will also be giving talks during ELCE:
- Boris Brezillon will give a talk The DRM/KMS Subsystem From a Newbie’s Point of View, in which he will share his experience developing and contributing the DRM/KMS driver for the Atmel SAMA5D3 graphics hardware.
- Maxime Ripard will give a talk Supporting a New ARM Platform: The Allwinner Example, sharing an updated status of mainline kernel support for Allwinner SoCs.
- Thomas Petazzoni will give a talk Two years of ARM SoC Support Mainlining: Lessons Learned, giving some feedback on his experience adding kernel support for a family of Marvell processors.
- Thomas will also give another talk Buildroot: A Deep Dive Into The Core, providing an in-depth look at Buildroot internals.
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:
- Embedded Linux kernel and driver development, October 6-10, Avignon, France.
Course in English. - Android system development, November 3-6, Lyon, France.
Course in French. - Embedded Linux system development, November 3-7, Toulouse, France.
Course in French. - Yocto Project and OpenEmbedded development, November 18-20, Toulouse, France.
Course in English. - Embedded Linux kernel and driver development, December 8-12, Toulouse, France.
Course in French. - Embedded Linux system development, December 8-12, Avignon, France.
Course in English.