Back from ELCE 2017: slides and videos

Bootlin participated to the Embedded Linux Conference Europe last week in Prague. With 7 engineers attending, 4 talks, one BoF and a poster at the technical showcase, we had a strong presence to this major conference of the embedded Linux ecosystem. All of us had a great time at this event, attending interesting talks and meeting numerous open-source developers.

Bootlin team at the Embedded Linux Conference Europe 2017
Bootlin team at the Embedded Linux Conference Europe 2017. Top, from left to right: Maxime Ripard, Grégory Clement, Boris Brezillon, Quentin Schulz. Bottom, from left to right: Miquèl Raynal, Thomas Petazzoni, Michael Opdenacker.

In this first blog post about ELCE, we want to share the slides and videos of the talks we have given during the conference.

SD/eMMC: New Speed Modes and Their Support in Linux – Gregory Clement

Grégory ClementSince the introduction of the original “default”(DS) and “high speed”(HS) modes, the SD card standard has evolved by introducing new speed modes, such as SDR12, SDR25, SDR50, SDR104, etc. The same happened to the eMMC standard, with the introduction of new high speed modes named DDR52, HS200, HS400, etc. The Linux kernel has obviously evolved to support these new speed modes, both in the MMC core and through the addition of new drivers.

This talk will start by introducing the SD and eMMC standards and how they work at the hardware level, with a specific focus on the new speed modes. With this hardware background in place, we will then detail how these standards are supported by Linux, see what is still missing, and what we can expect to see in the future.

Slides [PDF], Slides [LaTeX source]

An Overview of the Linux Kernel Crypto Subsystem – Boris Brezillon

Boris BrezillonThe Linux kernel has long provided cryptographic support for in-kernel users (like the network or storage stacks) and has been pushed to open these cryptographic capabilities to user-space along the way.

But what is exactly inside this subsystem, and how can it be used by kernel users? What is the official userspace interface exposing these features and what are non-upstream alternatives? When should we use a HW engine compared to a purely software based implementation? What’s inside a crypto engine driver and what precautions should be taken when developing one?

These are some of the questions we’ll answer throughout this talk, after having given a short introduction to cryptographic algorithms.

Slides [PDF], Slides [LaTeX source]

Buildroot: What’s New? – Thomas Petazzoni

Thomas PetazzoniBuildroot is a popular and easy to use embedded Linux build system. Within minutes, it is capable of generating lightweight and customized Linux systems, including the cross-compilation toolchain, kernel and bootloader images, as well as a wide variety of userspace libraries and programs.

Since our last “What’s new” talk at ELC 2014, three and half years have passed, and Buildroot has continued to evolve significantly.

After a short introduction about Buildroot, this talk will go through the numerous new features and improvements that have appeared over the last years, and show how they can be useful for developers, users and contributors.

Slides [PDF], Slides [LaTeX source]

Porting U-Boot and Linux on New ARM Boards: A Step-by-Step Guide – Quentin Schulz

May it be because of a lack of documentation or because we don’t know where to look or where to start, it is not always easy to get started with U-Boot or Linux, and know how to port them to a new ARM platform.

Based on experience porting modern versions of U-Boot and Linux on a custom Freescale/NXP i.MX6 platform, this talk will offer a step-by-step guide through the porting process. From board files to Device Trees, through Kconfig, device model, defconfigs, and tips and tricks, join this talk to discover how to get U-Boot and Linux up and running on your brand new ARM platform!

Slides [PDF], Slides [LaTeX source]

BoF: Embedded Linux Size – Michael Opdenacker

This “Birds of a Feather” session will start by a quick update on available resources and recent efforts to reduce the size of the Linux kernel and the filesystem it uses.

An ARM based system running the mainline kernel with about 3 MB of RAM will also be demonstrated.

If you are interested in the size topic, please join this BoF and share your experience, the resources you have found and your ideas for further size reduction techniques!

Slides [PDF], Slides [LaTeX source]

Bootlin at the Embedded Linux Conference Europe

The next Embedded Linux Conference Europe will take place on October 23-25 in Prague, Czech Republic.

Embedded Linux Conference Europe 2017

As usual, a significant part of the Bootlin engineering team will participate to the conference and give talks on various topics:

In addition to the main ELCE conference, Thomas Petazzoni will participate to the Buildroot Developers Days, a 2-day hackaton organized on Saturday and Sunday prior to ELCE, and will participate to the Device Tree workshop organized on Thursday afternoon.

Once again, we’re really happy to participate to this conference, and looking forward to meeting again with a large number of Linux kernel and embedded Linux developers!

Slides and videos from the Embedded Linux Conference Europe 2016

Last month, the entire Bootlin engineering team attended the Embedded Linux Conference Europe in Berlin. The slides and videos of the talks have been posted, including the ones from the seven talks given by Bootlin engineers:

  • Alexandre Belloni presented on ASoC: Supporting Audio on an Embedded Board, slides and video.
  • Boris Brezillon presented on Modernizing the NAND framework, the big picture, slides and video.
  • Boris Brezillon, together with Richard Weinberger from sigma star, presented on Running UBI/UBIFS on MLC NAND, slides and video.
  • Grégory Clement presented on Your newer ARM64 SoC Linux check list, slides and video.
  • Thomas Petazzoni presented on Anatomy of cross-compilation toolchains, slides and video.
  • Maxime Ripard presented on Supporting the camera interface on the C.H.I.P, slides and video.
  • Quentin Schulz and Antoine Ténart presented on Building a board farm: continuous integration and remote control, slides and video.

Bootlin at the Embedded Linux Conference Europe

The next Embedded Linux Conference Europe will take place from October 11 to October 13 in Berlin, Germany. As usual, the entire Bootlin engineering team will participate, which means this time 10 participants from Bootlin!

Embedded Linux Conference Europe 2016

The schedule for the conference has been published recently, and a number of our talk proposals have been accepted, so we will present on the following topics:

Like every year, we’re looking forward to attending this conference, and meeting all the nice folks of the Embedded Linux community!

2016 Q1 newsletter

Newsletter iconThe Bootlin team wishes you a Happy New Year for 2016, with many new bits to enjoy in your life!

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

Bootlin work on the $9 computer

As announced in our previous newsletter, Bootlin 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 Bootlin 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 Bootlin 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 Bootlin 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.

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.

Bootlin team back from ELCE and Linux Plumbers

As we announced in an earlier blog post, the entire Bootlin engineering team was at the Embedded Linux Conference Europe and Linux Plumbers Conference last week in Düsseldorf.

Bootlin engineering team at the Embedded Linux Conference Europe 2014
Bootlin 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:

Boris Brezillon giving his DRM/KMS talk
Boris Brezillon giving his DRM/KMS talk
Maxime Ripard giving his Allwinner kernel talk
Maxime Ripard giving his Allwinner kernel talk
Thomas Petazzoni giving his Buildroot talk
Thomas Petazzoni giving his Buildroot talk
At the social event, from left to right: Grégory Clement (Bootlin), Kevin Hilman (Linaro), Boris Brezillon (Bootlin), Maxime Ripard (Bootlin)
At the social event, from left to right: Grégory Clement (Bootlin), Kevin Hilman (Linaro), Boris Brezillon (Bootlin), Maxime Ripard (Bootlin)

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.

2014 Q3 newsletter

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:

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

Bootlin at the Embedded Linux Conference Europe

DüsseldorfThe Embedded Linux Conference Europe will take place on October 13-15 in Düsseldorf, Germany. As usual, a large part of the Bootlin engineering team will participate to the conference, with no less than 7 engineers: Alexandre Belloni, Boris Brezillon, Grégory Clement, Michael Opdenacker, Thomas Petazzoni, Maxime Ripard and Antoine Ténart.

Several of our talk proposals have been accepted, so we’ll be presenting about the following topics:

In addition to this participation to the Embedded Linux Conference Europe:

  • Many of us will also participate to the Linux Plumbers conference, on October 15-17. It’s another great opportunity to talk about topics around real-time, power management, storage, multimedia, and more.
  • Thomas Petazzoni will participate to the next Buildroot Developers Meeting.

As usual, we’re looking forward to this event! Do not hesitate to get in touch with us if you’re interested in meeting us during these events for specific discussions.

Bootlin at the ARM Kernel Summit, the Embedded Linux Conference and the Buildroot Developers Meeting

Late october will be a busy moment for all the embedded Linux developers meeting in Edinburgh, UK. The Linux Foundation is organizing a number of conferences here, including the Embedded Linux Conference Europe (October 24-25) and LinuxCon Europe (October 21-23), and many co-located other events.

Bootlin will be present at several of these events:

  • First, three Bootlin engineers will be present at the ARM kernel summit on October 22nd and 23rd. The ARM kernel summit is an invitation-only conference, organized in relation with the Linux Kernel Summit. Gregory Clement, Maxime Ripard and Thomas Petazzoni, engineers at Bootlin have been invited due to their participation to the ARM support in the kernel, mainly on Allwinner SOCs for Maxime and on Marvell SOCs for Gregory and Thomas. Being present at this event is an excellent opportunity to be part of the discussion that shapes the future of ARM support in Linux, and strengthen our relations with other members of this growing community.
  • Then, the entire technical team of Bootlin will attend the Embedded Linux Conference, on October 24th and 25th. Several talks will also be given by Bootlin engineers:
    • On Thursday, 24th October at 11:40 AM, Thomas Petazzoni will give a talk titled Device Tree for dummies!, which will give an introduction to the Device Tree on ARM: what it is, how it is compiled, how it used by the kernel, how Device Tree bindings are defined, how drivers are affected by the Device Tree, etc.
    • At the same time in another room, Michael Opdenacker will lead a Bird of a Feather session dedicated to Small Businesses in the embedded Linux world. Exchanging experiences, networking with other companies working in the same field, etc.
    • Still on Thursday, at 3 PM, Gregory Clement will give a talk on the Linux kernel Common Clock Framework, which will be an updated version of the talk he gave at ELC earlier this year.
    • On Friday, 25th October at 9:30 AM, Thomas Petazzoni will be part of the keynote panel session dedicated to a discussion on Embedded Linux build systems together with Tim Bird (Sony Mobile), Ross Burton (Intel), and Karim Yaghmour (Opersys), the panel being moderated by Jeff Osier-Mixon (Intel).
  • On Saturday 26th and Sunday 27th October, the Buildroot community is organizing its traditional Developers Meeting, to which Thomas Petazzoni will participate. Some of the core Buildroot developers will join for two days of discussion and work to improve this embedded Linux build system.

As you can see, this will be a very interesting and busy week, and we’re all looking forward to meeting more embedded Linux developers and learning about the latest technologies in this field.