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.
As a side note, all Embedded Linux Conference Europe 2017 videos have been uploaded to YouTube.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
9 Replies to “Lab in a Box Concept Embeds x86 Server and 6 ARM Boards into a PC Case for Automated Software Testing”
Nice setup, tunning pc with color led is oldschool, now it’s sbc farm
Really cute concept.
Next: pci-e micro server plugs
Cool. Pity the URL for the presentation slides is not working.
Heh. I wanted to build up a bunch of these at one of my previous employer- stack about 4-6 Jetson TK1’s into a server case with a small Atom board or another TK1 driving all the interface to the rest of the company’s LAN. The company developed burning stupids, I had to leave not because of that, but because of family reasons- and it never got done. Glad to see someone else thinking along this line.
Sorry about that. Copy/paste gone wrong. I fixed the link.
The main flaw behind this design is that they pick boards that have ethernet and can do tftpboot in uboot.
I donated a pine64 board to kernelci, and that was quite some work to get it working:
Most of allwinner boards which are designed for tablets don’t actually have an ethernet block in their SOC, so I tried network booting via an USB ASIX ethernet dongle, that was badly documented, and did not work at the end. I suspect the uboot usb stack is quite less strong then the one of the linux kernel.
Most of those tablet SOCs boot by default on micro-sd cards, but that the kernelci guys did not want to hear about, while there are solutions to flip the micro-sd card remotely. See for ex:
FEL booting Allwinner devices via the USB OTG port works really nice. We added this to Armbian’s build system last year (FEL+NFS, everything set up automatically) and I do ‘full OS image’ testing since 18 months with zero delay and no SD cards harmed 😉
Update about the project: https://baylibre.com/baylibre-lava-box/
Kevin Hilman’s workbench is my kind of workbench : )