Lab in a Box Concept Embeds x86 Server and 6 ARM Boards into a PC Case for Automated Software Testing

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:

  • 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
Click to Enlarge

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.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

9
Leave a Reply

avatar
9 Comment threads
0 Thread replies
3 Followers
 
Most reacted comment
Hottest comment thread
8 Comment authors
blutkaiserzoobabcnxsoftNobody of Import Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
bob
Guest
bob

Nice setup, tunning pc with color led is oldschool, now it’s sbc farm

agumonkey
Guest

Really cute concept.

Next: pci-e micro server plugs

Sander
Guest
Sander

Cool. Pity the URL for the presentation slides is not working.

Nobody of Import
Guest
Nobody of Import

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.

zoobab
Guest

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:

https://github.com/zoobab/uboot-pine64

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:

https://hackaday.com/2014/06/08/the-in-circuit-sd-card-switch/

tkaiser
Guest
tkaiser

@zoobab
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 😉

blu
Guest
blu

@cnxsoft
Kevin Hilman’s workbench is my kind of workbench : )