Table of Contents

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

What’s New in B@D v1.0?

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

These are the main features and improvements included in this new release

Update to Debian Stretch

The previous release of B@D used a combination of Debian Jessie and Debian Testing - this made building a new virtual machine inherently unstable and produced problems when trying to use versions of packages which were not in Jessie but were older than the ones in testing. Codethink have decided to move the VM to use Debian Stretch this should make the product more stable.

Newer version of LAVA

The LAVA community releases a new LAVA version every month. The CIP testing team at Codethink have updated Board at Desk LAVA version to 2017.7, released this past July. It comes with many new features, enhancements and bug fixes that allow the CIP testing project to introduce more verbose reports, prevents issues related with partitions being filled with system logs, etc..

B@D supports Linux and Windows as host OS

The previous version only supported Linux based systems as host OS. This new version of B@D also supports Windows 10 expanding the potential targets to those engineers who use this proprietary operating system in their development machines.

B@D now works behind a webproxy

Many organizations work behind a webproxy. B@D needed to give an answer to this use case, popular among CIP Members. Thanks to some contributions from Daniel Sangorrin, a Toshiba developer, Board at Desk now works behind a webproxy.

initramfs is now built locally

Previously, Board At Desk was using the initramfs provided by Linaro in their infrastructure. This created in B@D a dependency on the network connection latency that, under certain circumstances led to errors due to timeouts and that Linaro built version ran more slowly with an internal timeout. Now initramfs is built locally which improves the speed of the tests, also removing that need to access the internet.

Bug Fixes

What is Board At Desk v1.0?

At a high level, Board At Desk is a testing environment based on two basic components, LAVA and kernelci designed to allow any developer to test locally on any board a Linux kernel or a simple Linux based system, evaluate the results and share them, together with the logs, with their colleagues. What makes B@D different is that in order to do so, there is no need for a managed centralised service. It is designed to run locally.

Board At Desk - Single Developer, creates and publishes a VM that contains all the kernelci tools. Testing of any kernel is enabled by the installation of LAVA and the supply of, currently, a small number of health checks and reference tests. The test results can then be shared with other developers by using LAVA notifications either directly or via the cip-testing-results email list.

If we take a deeper look, there are several technologies and configurations involved. This block diagram tries to give a little more detail.

Board At Desk - Single Dev. block diagram- this lays out the structure of the testing environment. The host running GNU/Linux or Windows 10 runs B@D within a Vagrant environment, this environment is provisioned during initial boot with the kernelci and LAVA packages which pull in other necessary tools using ansible, apt-get and git so that the box is ready for kernel builds and testing.

These are the main software components and the versions shipped in the previous version compared to the current one.

Virtualization

Tool Version in v0.9.1 release Version in v1.0 release Version in git License
Vagrant v1.8.1 v1.9.1 v2.0.4 MIT
VirtualBox v4.3 v4.3 v5.2.10 GPLv2

KernelCI

KernelCI components included in this release vs the previous one:

Tool Version in v0.9.1 release Version in v1.0 release Version in git License
board-at-desk-single-dev v0.9.1 v1.0 AGPLv3
kernelci-backend v2017.3.2 v2017.7.2 v2018.2 AGPLv3
kernelci-backend-config v0.9.1 v2017.7.2 v2018.2 AGPLv3
kernelci-frontend v2017.5 v2017.7.1 v2018.2 AGPLv3
kernelci-frontend-config v2017.7.1 v2018.2 AGPLv3
kernelci-build v0.9.1 v1.0 LGPLv2.1
Ansible v2.3.0.0 v2.4.0.0 v2.5.2 GPLv3.0
Flask framework v0.10.1 v.0.10.1 v0.10.1 BSD 3-clause
Nginx Web Server 1.10.3-1 1.10.3-1 1.10.3-1 BSD 3-clause
MongoDB Database 3.2.13 3.2.11-2 3.2.11-2 AGPLv3 and language drivers
under Apache v2.0
ARM Cross-Compiler 6.3.0-16 6.3.0-18 6.3.0-18
ARMhf Cross Compiler 6.3.0-16 6.3.0-18 6.3.0-18

LAVAv2

LAVAv2 components included in this Board at Desk v1.0 are:

Tool Version in v0.9.1 release Version in v1.0 release Version in git License
LAVAv2 2016.12-1 2017-7-1 2018-4-1 AGPLv3
Apache Web Server v2.4.25-3 v2.4.25-3 v2.4.25-3 Apache v2
Django CMS v1.8.16 1:1.11.5-2 1.11.10-1 BSD
PostgreSQL DDBB 9.6+181 9.6+181 9.6+181 PostgreSQL license

Other tools

Other tools used in Board at desk v1.0

Tool Version in v0.9.1 release Version in v1.0 release Version in git License
Python 2.7.13 2.7.13 2.7.13 / 3.5.3 PSF License

The overall CIP license policy can be read here .

Snapshot Release

A snapshot release was created in October 2018 to support the Renesas iwg20m board and include the latest bug fixes. See the Download page page for links.

Prerequisites

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

For Linux

otherwise the installation may fail.

For Windows 10

In both cases

Deploy and configure B@D v1.0, connect it to the board and test: step by step instructions

Follow these 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. Depending upon the board you are using, connect the board Beaglebone Black or IWG20M - in the Renesas case you must provision the box yourself rather than downloading the pre-provisioned box - to the host machine, where B@D is deployed.
  4. Build the kernel (system) to be tested and the required artifacts.
  5. Check the reference test cases and try them as examples.

Known Issues

Back to the parent page