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.
Free Electrons 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!