Archive

The Linux kernel now has about 20 millions line of code, Arm has hundreds of licensees making thousands of processors and micro-controllers, which end up in maybe hundreds of thousands of different designs, many of which are not using Linux, but for those that do, Linux must be tested to make sure it works. The same stands true for any large software used on multiple hardware platforms.

Manual testing is one way to do it, but it’s time consuming and expensive, so there are software and hardware continuous integration solutions to automate testing such as Linaro LAVA (Linaro Automated Validation Architecture), KernelCI automated Linux kernel testing, and Automotive Grade Linux CIAT that automatically test incoming patch series.

Both CIAT and KernelCI focus on Linux, and rely on LAVA, with KernelCI leveraging hardware contributed by the community, and proven to be effective as since it’s been implemented, failed build configs dropped from 51 with Linux 3.14 to zero today. However, settings the hardware and LAVA can be complicated and messy with all different boards lying around, so BayLibre engineers worked on an affordable “Lab in Box” concept to simplify administration and duplication of such systems in the hope of getting more people involved.

Click to Enlarge

They ended up with a nicely package system that fits into a desktop PC tower and includes:

The system has been proven to work with complete continuous integration system fitted into a single PC case, and costing about 400 Euros excluding the DUTs. Software installation has also been simplified with partially automated software installations (WiP). However there may still need to work, as it’s been found to take a long time to build partially because it’s requires custom wiring for each DUT, boards need to support either 5 or 12V input, and DUT power consumption must be limited to 4A per pair of wires. This system also only supports board that fit into such case, and it’s not really scalable because using a larger case with more board may lead to excessive internal wiring. The Lab in a Box concept could be improved with a more powerful power supply, support for larger boards, and better documentation will also be provided. Baylibre may also work on a professional-grade “Lab in a Box” that fits into a rack.

Watch “Introducing the Lab in a Box Concept” by Patrick Titiano & Kevin Hilman, BayLibre for further details.

We can see that I/Os, USB host, composite video output, Ethernet, eMMC/SDIO, and PSCI and SCPI features have already been added to Linux 4.10. but some important features have not yet including HDMI, Mali support, Audio, and high speed eMMC modes. HDMI is actually planned for Linux 4.12, which could be released in about 18 weeks if we keep the 10 weeks kernel release schedule we had in the past. WeTek Hub and Play 2 devices tree files have been submitted for Linux 4.11. Beside TV boxes, development boards such as ODROID-C2 and Khadas Vim will also be supported and benefit from this work.

While Mali is not supported in mainline Linux yet, the patchsets for Mali-450 GPU are available on github in order to enable 3D graphics acceleration in Amlogic S905, S905X and S905X. If you are interested to get more details, you may want to watch Neil Armstrong presentation at ELC 2017 which explains the status of Amlogic Linux before working on mainline, the work achieved, the work in progress, and an overview of the community.