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.
They ended up with a nicely package system that fits into a desktop PC tower and includes:
- ASRock Q1900B-ITX motherboard based on Intel Celeron J1900 with 8GB RAM and 120GB SSD running LAVA master and dispatcher
- Devices Under Tests (DUT) will vary depending on your needs, but the demo system includes:
- Renesas R-Car M3 Starter Kit
- DragonBoard 410C
- AML-S905-CC (LePotato) board
- BeagleBone Black
- Raspberry Pi 3
- NXP SABRE Light
- Connectivity / wiring
- Network switch
- USB hub
- For each DUT board: power cable, serial debug cable, Ethernet cable
- ACME Cape + Probes + Beaglebone Black to measure power consumption and control the DUTs
- Power Supply – 530 Watt ATX power supply with +12V and +5V
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.
If you are short in time, you can also read the presentation slides.