However, what brings us here today is that we are happy to announce the release of all the training materials of this new course: like all Free Electrons training materials, they are available under the Creative Commons Attribution Share-Alike license.
Fully committed to its knowledge sharing principles, Free Electrons has chosen to publish those materials even before the first session has taken place.
The FOSDEM is by far the largest and most vibrant open-source event in Europe. With 5000+ participants, 400+ talks in just two days, a completely free entrance with no registration required, and many topics covered, it has become over the years a major meeting event of open-source developers.
The 2015 edition will take on January 31 and February 1st in Brussels. Like most years, a specific track dedicated to embedded systems is on the schedule, called the “Embedded Developer Room”. A call for participation has been published, and proposals are expected by December, 1st.
It is worth mentioning that the scope of the FOSDEM Embedded Developer Room goes much beyond Embedded Linux: it covers all types of embedded systems, including micro-controller based development, fun hacking or do-it-yourself projects, and much more. Looking at last year’s schedule of the Embedded Devroom is a good way of getting a feeling of the topics that are covered.
The Embedded Linux Conference Europe is just over that it’s already time to think about the Embedded Linux Conference 2015, which will take place on March 23-25 in San Jose, California.
The call for participation has been published recently, and interested speakers are invited to submit their proposals before January, 9th 2015. The notifications of whether your talk is accepted or not will be sent on January, 16th and the final schedule is planned to be published on January, 23th.
At Free Electrons, we really would like to encourage developers who are working on interesting embedded Linux related projects to submit a talk about what they are doing: talking about a specific open-source project, feedback on some experience doing an embedded Linux based product, etc. The scope of topics covered by the Embedded Linux Conference is fairly broad, so do not hesitate to submit a proposal. Giving a talk at this conference is really a great way of getting feedback about what you’re doing, raising awareness about a particular project or issue, and generally meeting other developers interested in similar topics.
It is worth mentioning that for those people whose talk is accepted, the entrance ticket is free. For hobbyists working on their own on open-source projects, the Linux Foundation also has the possibility of funding travel to the conference.
Free Electrons engineering team at the Embedded Linux Conference Europe 2014. From left to right, Grégory Clement, Alexandre Belloni, Maxime Ripard, Antoine Ténart, Thomas Petazzoni, Boris Brezillon and Michael Opdenacker.
In addition to attending many talks, meeting developers of the embedded Linux community and therefore keeping us up-to-date with the most recent developments in this domain, we also gave a number of talks, for which the slides are now available:
At the social event, from left to right: Grégory Clement (Free Electrons), Kevin Hilman (Linaro), Boris Brezillon (Free Electrons), Maxime Ripard (Free Electrons)
All the slides of the conference are also available on the event site of the Linux Foundation, and all talks have been video-recorded by the Linux Foundation so hopefully videos should become available in the near future.
Linux 3.17 has been released a few days ago. One can read the coverage of the 3.17 merge window by LWN (part 1 and part 2) to get some details about the new features brought by this kernel release.
As usual, Free Electrons has continued to contribute a significant number of patches to this kernel release, even though with 147 patches, our contribution has been less important than for the 3.16 release for which we contributed 388 patches. With 147 patches merged, Free Electrons is the 14th contributing company by the number of patches.
Our contributions remain mainly focused on support for various families of ARM processors:
For the Atmel processors
Switched to use the generic PWM framework instead of custom PWM drivers. This allowed to remove three obsolete drivers (a backlight driver, a LED driver and a misc driver). This work was done by Alexandre Belloni.
Continue the migration to the common clock framework, by adding clock information to a large number of Atmel boards. Done by Alexandre Belloni.
Migration of the interrupt controller driver from arch/arm/mach-at91 to drivers/irqchip. Done by Boris Brezillon.
For the Marvell EBU processors (Armada 370, 375, 38x, XP)
Addition of the mvpp2 network driver, which is used on the Armada 375 SoC. This work was done by Marcin Wojtas from Semihalf, with a lot of review, help and debugging done by Ezequiel Garcia.
Addition of cpuidle support for Armada 370 and Armada 38x. This work was done by Grégory Clement and Thomas Petazzoni.
Preparation work to enable cpufreq on Armada XP was merged. However the feature cannot be enabled yet due to missing features in the cpufreq-cpu0 driver. Done by Thomas Petazzoni.
For Marvell Berlin processors
SMP support has been added. Done by Antoine Ténart.
Description of the I2C controller has been added to the Device Tree. Done by Antoine Ténart.
Support for AHCI has been added. Also done by Antoine Ténart.
For Allwinner processors
New DMA controller driver for the DMA engine of the Allwinner A31 SoC. Done by Maxime Ripard.
A number of fixes and improvements to the pin-muxing driver for Allwinner platforms. Done by Maxime Ripard.
Support for the Merrii A31 Hummingbird board has been added. Done by Maxime Ripard.
Addition of a helper function to convert an ONFI timing mode into the according NAND timings. Done by Boris Brezillon.
Addition of a driver for the Foxlink FL500WVR00-A0T panel. Done by Boris Brezillon.
Amongst a number of bug fixes and improvements, this new release brings an interesting new feature to which Free Electrons contributed: the support for the Atmel SAMA5D3. This means that Xenomai can now be used on platforms such as the Xplained SAMA5D3 and any other SAMA5D3 based platform. This work was done by Xenomai ARM maintainer Gilles Chanteperdrix, thanks to the testing and insights of Free Electrons engineer Maxime Ripard.
Mainly, the change needed was to support the AIC5 interrupt controller used in SAMA5D3, which is different from the interrupt controller used on earlier AT91 processors. This change should also provide compatibility with the recently released SAMA5D4, though we haven’t tested this at this time, and Xenomai only provides its patch up to kernel 3.14, while SAMA5D4 support was only recently added to the mainline kernel.
This 2.6.4 Xenomai release also brings support for the 3.14 kernel version, through the corresponding I-Pipe patch.
There are also some other interesting Xenomai news: in early October, they have released the first release candidate of Xenomai 3, the next generation Xenomai architecture. And they also have a brand new and more modern website at xenomai.org.
Free Electrons engineers have worked since several months with Atmel engineers to prepare and submit the support for this new SoC to the mainline Linux kernel. We have actually submitted the patches on September, 11th, almost a month before the official release of the new chip! This means that most of the support for this new SoC will already be part of the upcoming 3.18 kernel release. Meanwhile, it is already possible to test it out by using the linux-next repository.
There are however a few pieces missing pieces to support all aspects of the chip:
A few patches are needed to get proper NAND flash controller support.
The DMA controller is brand new in this SAMA5D4 SoC, and the DMA controller driver has not yet been merged, even though the patches have been posted a long time ago, and are currently in their sixth iteration.
Display support, through a DRM/KMS driver, is also being reviewed. The driver, written by Free Electrons engineer Boris Brezillon, was initially designed for the sam9x5 and sam5d3, but will be compatible with sama5d4 as well. The patch series is currently in its seventh iteration.
The last big missing part is support for non-secure mode: for the moment, the system always runs in secure mode. Running the kernel in non-secure mode will require some more work but an initial version will probably be pushed during the next development cycle.
Besides this work on SAMA5D4 support ahead of its public release, Free Electrons is also doing a lot of maintenance work on all the Atmel ARM platforms in the Linux kernel: migration to the Device Tree, to the clock framework, to several other new subsystems, etc. See the summary of our kernel contributions to 3.16, 3.15 and 3.14.
Through this work, the Free Electrons engineering team has a very deep knowledge of the Linux support for Atmel ARM processors. Do not hesitate to contact us if you need help to bring up the bootloader or kernel on your custom Atmel ARM platform! It is also worth mentioning that Free-Electrons is part of the Atmel partner ecosystem.
Free Electrons is happy to share some news about the latest training and contribution activities of the company.
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.
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 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!
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: