After Toulouse and Orange, Lyon is the third city chosen for opening a Bootlin office. Since September 1st of this year (2017), Alexandre Belloni and Grégory Clement have been working more precisely in Oullins close to the subway and the train station. It is the first step to make the Lyon team grow, with the opportunity to welcome interns and engineers.
At the beginning of October a Kickstarter campaign was launched to fund the development of a low-cost board based on one of the latest Marvell ARM 64-bit SoC: the Armada 3700. While being under $50, the board would allow using most of the Armada 3700 features:
- Gigabit Ethernet
- USB 3.0
The Kickstarter campaign was started by Globalscale Technologies, who has already produced numerous Marvell boards in the past: the Armada 370 based Mirabox, the Kirkwood based SheevaPlug, DreamPlug and more.
We pushed the initial support of this SoC to the mainline Linux kernel 6 months ago, and it landed in Linux 4.6. There are still a number of hardware features that are not yet supported in the mainline kernel, but we are actively working on it. As an example, support for the PCIe controller was merged in Linux 4.8, released last Sunday. According to the Kickstarter page the first boards would be delivered in January 2017 and by this time we hope to have managed to push more support for this SoC to the mainline Linux kernel.
We have been working on the mainline support of the Marvell SoC for 4 years and we are glad to see at last the first board under $50 using this SoC. We hope it will help expanding the open source community around this SoC family and will bring more contributions to the Marvell EBU SoCs.
Continuing our efforts to keep our training materials up-to-date we just refreshed our Yocto project and OpenEmbedded training course to the latest Yocto project release, Krogoth (2.1.1). In addition to adapting our training labs to the Krogoth release, we improved our training materials to cover more aspects and new features.
The most important changes are:
- New chapter about devtool, the new utility from the Yocto project to improve the developers’ workflow to integrate a package into the build system or to make patches to existing packages.
- Improve the distro layers slides to add configuration samples and give advice on how to use these layers.
- Add a part about quilt to easily patch already supported packages.
- Explain in depth how file inclusions are handled by BitBake.
- Improve the description about tasks by adding slides on how to write them in Python.
Join our Yocto specialist Alexandre Belloni for the first public session of this improved training in Lyon (France) on October 19-21. We are also available to deliver this training worldwide at your site, contact us!
The Linux kernel is well-known for its ability to run on thousands of different hardware platforms. However, it is obviously impossible for the kernel developers to test their changes on all those platforms to check that no regressions are introduced. To address this problem, the KernelCI.org project was started: it tests the latest versions of the Linux kernel from various branches on a large number of hardware plaforms and provides a centralized interface to browse the results.
From a physical point of view, KernelCI.org relies on labs containing a number of hardware platforms that can be remotely controlled. Those labs are provided by various organizations or individuals. When a commit in one of the Linux kernel Git branches monitored by KernelCI is detected, numerous kernel configurations are built, tests are sent to all labs and results are collected on the KernelCI.org website. This allows kernel developers and maintainers to detect and fix bugs and regressions before they reach users. As of May, 10th 2016, KernelCI stats show a pool of 185 different boards and around 1900 daily boots.
Bootlin is a significant contributor to the Linux kernel, especially in the area of ARM hardware platform support. Several of our engineers are maintainers or co-maintainers of ARM platforms (Grégory Clement for Marvell EBU, Maxime Ripard for Allwinner, Alexandre Belloni for Atmel and Antoine Ténart for Annapurna Labs). Therefore, we have a specific interest in participating to an initiative like KernelCI, to make sure that the platforms that we maintain continue to work well, and a number of the platforms we care about were not tested by the KernelCI project.
Over the last few months, we have been building our boards lab in our offices, and we have joined the KernelCI project since April 25th. Our lab currently consists of 15 boards:
- Atmel SAMA5D2 Xplained
- Atmel SAMA5D3 Xplained
- Atmel AT91SAM9X25EK
- Atmel AT91SAM9X35EK
- Atmel AT91SAMA5D36EK
- Atmel AT91SAM9M10G45EK
- Atmel AT91SAM9261EK
- BeagleBone Black
- Marvell Armada XP based Plathome Openblocks AX3
- Marvell Armada 38x Solidrun ClearFog,
- Marvell Armada 38x DB-88F6820-GP
- Allwinner A13 Nextthing Co. C.H.I.P
- Allwinner A33 Sinlinx SinA33
- Freescale i.MX6 Boundary Devices Nitrogen6x
We will very soon be adding 4 more boards:
- Atmel SAMA5D4 Xplained
- Atmel SAMA5D34EK
- Marvell Armada 7K 7040-DB (ARM64)
- Marvell Armada 39x DB
Three of the boards we have were already tested thanks to other KernelCI labs, but the other sixteen boards were not tested at all. In total, we plan to have about 50 boards in our lab, mainly for the ARM platforms that we maintain in the official Linux kernel. The results of all boots we performed are visible on the KernelCI site. We are proud to be part of this unique effort to perform automated testing and validation of the Linux kernel!
In the coming weeks, we will publish additional articles to present the software and physical architecture of our lab and the program we developed to remotely control boards that are in our lab, so stay tuned!
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
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.
The primary focus of the majority of our customer projects remain the Linux kernel, to which we continue to contribute very significantly.
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.
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.
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.
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:
- Embedded Linux development
- Embedded Linux kernel and driver development
- Android system development
- Yocto Project and OpenEmbedded development
- Embedded Linux development with Buildroot
Contact us at email@example.com for details.
We participated to the Embedded Linux Conference Europe in Dublin in October 2015, and gave a number of talks:
- Supporting Multi-Function Devices in the Linux Kernel: A Tour of the mfd, regmap and syscon APIs, by Alexandre Belloni (slides, video)
- Kernel Maintainership: An Oral Tradition, by Grégory Clement (slides, video)
- Learning the basics of Buildroot, by Thomas Petazzoni (slides, video)
- Keynote: Linux Kernel SoC Support Mainlining Tips (By a Bunch of Other French People), by Thomas Petazzoni (slides)
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.