Linux Foundation Wiki

project collaboration site

User Tools

Site Tools


civilinfrastructureplatform:ciptestingboardatdesksingledevfeaturepage

Board at Desk - Single Developer (B@D) Feature Page

What’s New in B@D v0.9?

This is the v0.9.1 release of Board-at-Desk, Single Developer, a Virtual Machine provisioned using Vagrant with Virtualbox as the hypervisor, that includes the following tooling:

  • Kernel CI and LAVA Virtual Machines have been merged into one VM. Kernel CI is an automated system for the building of Linux kernels linked to on large board farms allowing potential problems to be spotted before any changes reach the kernel mainline. LAVA is an infrastructure for specifying and controlling tests to be carried out on the Kernel CI controlled board farms.
  • The VM hosts the Kernel CI Frontend, Backend and Storage Server as well as the LAVA server, scheduler and worker which includes the dispatcher.
  • The primary focus is on the Beaglebone Black and the CIP Kernel v4.4

These have been some of the most important actions taken to make LAVAv2 and KernelCI work on a single VM to test kernels in a board locally connected to the machine:

  • Merged the KernelCI and LAVA Virtual Machines together into one.
    1. KernelCI was based on Ubuntu v14.04 and it used Nginx as the Web Server along with Flask as the Frontend Web Framework.
    2. KernelCI also used the SimpleHTTPServer for the Storage Server which is where the builds are stored.
    3. LAVA was based on Debian Wheezy and had documentation stating that Ubuntu was not supported.
    4. LAVA used the Apache Web Server and the Django Content Management System for the Frontend Web Framework.
    5. Both web servers wanted to use port 80.

It has therefore been amended so that:

  1. The current VM uses Debian Jessie and it runs KernelCI on Nginx on port 5000 and it runs LAVA on Apache on port 8080.
  2. The KernelCI Storage Server has been migrated over to use Nginx on port 8010.
  • Connection to the Beaglebone Black.
  1. Uses an FTDI USB-to-Serial cable to connect the host machine to the Beaglebone Black
  2. Uses ser2net to route the /dev/ttyUSB0 serial port to a TCP port on the host machine's IP address (e.g. 192.169.0.1 port: 8020)
    • This setup allows the user to use telnet to communicate to the Beaglebone Black console for remote login and boot messages
    • It also allows LAVA to use tftp to transfer the kernel directly over to the Beaglebone Black's eMMC without needing to burn an SD Card

Board at Desk now supports Windows 10 as a host - individual instructions for this host are listed at relevant places within the wiki instructions.

Board At Desk - Single Dev. block diagram:

Virtualization

Tool Version in v0.9 Beta Minimum version for v0.9.1 release
Vagrant v1.8.1 v1.8.1
VirtualBox v5.1.8 r111374 v4.3

KernelCI

KernelCI components included in this 0.9.1 release are:

Tool Version in v0.9 Beta release v0.9.1 release
kernelci-backend v2017.1 v2017.3.2
kernelci-backend-config v0.9.1
kernelci-frontend v2017.1 v2017.5
kernelci-frontend-config
kernelci-build v0.9.1
Ansible v2.2.1.0 v2.3.0.0
Flask framework v0.10.1 v0.10.1
Nginx Web Server v1.10.2 1.10.3-1
MongoDB Database v3.2.12 3.2.13
ARM Cross-Compiler v6.3.0 20170124 6.3.0-16
ARMhf Cross Compile r v6.3.0 20170124 6.3.0-16

LAVAv2

LAVAv2 components included in this Board at desk - Single Developer v0.9.1 are:

Tool Version in v0.9 Beta release Version in v0.9.1 release
LAVAv2 2016.12-1
Apache Web Server v2.4.25 (Debian) v2.4.25-3
Django CMS v1.8.16 v1.8.16
PostgreSQL DDBB v9.6.1 9.6+181

Note that we are not using the most recent version of LAVAv2: because we are using the version included in Debian Jessie (backports)

Other tools

Other tools used in Board at desk - Single Developer v0.9.1

Tool Version in v0.9 Beta release v 0.9.1 release
Python 2.7.13

Prerequisites

This tutorial assumes that you have the following installed on the host machine:

For Linux

  • git v2.7.4 or better
  • Vagrant v1.8.1 or better
  • VirtualBox v4.3 or better
  • Your username must be a member of the vboxusers group. You can add it with:
    • [user@host ~]$ sudo usermod -aG vboxusers user
  • gpg v1.4.20 or better
  • sha256sum v8.25 or better

otherwise the installation may fail.

For Windows 10

  • Install git, ssh and rsync from cygwin
  • Vagrant v1.8.1 or better
  • VirtualBox v4.3 or better
  • core.autocrlf=input is needed in the git settings for the scripts to run under Debian of the virtual machine
  • Vagrant needs the guest additions vagrant plugin install vagrant-vbguest
  • If you need to copy files onto the vm (not required by the provisioning script) you will also need the scp plugin vagrant plugin install vagrant-scp

In both cases

  • You will also need 6.6GB of disk space for the virtualbox vm or 5.0GB for the vagrant image for the initial install.
  • The Vagrantfile allocates 2GB of memory for the virtual machine and we recommend at least this value

Instructions to deploy and configure B@Dv0.9, connect it to the board and test

Follow this instructions to deploy and configure B@D, connect the board and test the reference examples:

  1. Deploy B@D through Vagrant or by downloading the B@D standalone VM box directly.
  2. Once deployed, configure B@D.
  3. Connect the board (Beaglebone Black in this case) to the host machine, where B@D is deployed.
  4. Build the kernel (system) to be tested and required artifacts.
  5. Check the reference test cases and try them as examples.

Known Issues

  • Known Issues and workarounds when testing Civil Infrastructure Platform or the tools provided by the project.
civilinfrastructureplatform/ciptestingboardatdesksingledevfeaturepage.txt · Last modified: 2017/07/20 08:14 by rajmarshall