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
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.
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..
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.
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.
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.
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.
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 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 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 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 .
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.
This tutorial assumes that you have the following installed on the host machine:
vboxusers
group. You can add it with:[user@host ~]$ sudo usermod -aG vboxusers user
otherwise the installation may fail.
vagrant plugin install vagrant-vbguest
vagrant plugin install vagrant-scp
Follow these instructions to deploy and configure B@D, connect the board and test the reference examples: