Skip to main content
Tag

testing

Board At Desk (B@D) and forthcoming challenges

By Blog

B@D released on May 31st

 

During ELC 2017, CIP project members introduced the beta version of what is being called Board At Desk – Single Developer (B@D), an effort by the CIP testing team to integrate LAVAv2 and KernelCI into a Debian-based virtual machine allowing Kernel hackers and maintainers to test any Linux Kernel on a board directly connected to a laptop. For CIP developers, the focus is the CIP Kernel, based on Linux 4.4 LTS and the reference boards designated by the CIP TSC (Technical Steering Committee). This May 31st 2017 the CIP testing team released the first fully working version of this virtual machine, labelled as B@D v0.9.1. Read about what comes with it and how to use it in the Release Announcement.B@D v0.9.1

In this first release the CIP testing team has tried to satisfy the requirements of as many developers as possible who could use B@D.  In order to reduce the complexity of setting up the environment to use the tools, Vagrant was the selected technology. VirtualBox has been chosen as the initial virtualisation technology in order to also support the needs of those who use Windows to create Linux systems. We are looking forward to incorporating KVM into the equation as soon as possible, thus improving the experience of those using Linux to produce Linux based systems.

 

Detailed step by step documentation to deploy and configure B@D, connect to the Beaglebone Black, and test the CIP Kernel is also provided. The CIP testing team has put significant effort into making the toolset easy to deploy and configure so that users can focus on testing rather than worrying too much about the tooling.

 

I would like to publicly thank all developers that have made this release possible, particularly my colleagues at Codethink Don Brown, Robert Marshall, Christos Karamitsos, Ben Hutchings and Lachlan Mackenzie.

 

CIP at Open Source Summit Japan 2017

 

If you are attending Open Source Summit Japan pass by the CIP booth to see how easy it is to use B@D to test a Kernel in a BeagleBone Black. Renesas is currently working towards making sure B@D also supports Renesas RZ/G1M. There will be additional demos at the CIP booth from Hitachi, Siemens, Toshiba and Plat’Home.

 

CIP is also organising an open Workshop session. You can propose topics for it or simply join us. It will take place at the OSSJ venue the day before the OSSJ starts, that is May 30th. Please check this wiki page if you are interested in attending, proposing topics or contacting. There will also be a talk on Friday 2nd June about the latest CIP news.

 

Forthcoming actions on the testing front

 

Now that we have the tool, our next step is to start setting up the CIP testing project following an architecture design that does not rely on a centralised testing service.

 

If we can guarantee that several developers are using the same testing tool to test a specific Kernel feature on a CIP kernel, using the same test in a cloned environment, the resulting output should be identical, which can be confirmed by sharing the results, among other measures. Several assumptions will need to be made like the creation of a similar chain of trust and transparency that any Open Source project has when it comes to code development. Other measures will need to be considered towards reproducibility and traceability of any test result.

 

In summary, we would like to translate the idea of treating testing like coding in an open environment such as CIP. You can read more about it in the CIP testing project landing page.

 

The described approach has a low risk, in my opinion. If we face scalability issues, a centralised service can be created so the investment can be rapidly adapted. But the bigger benefit of this approach will be cost since the required initial investment is limited. The project will grow organically, compared to a centralised testing service, limiting the financial risk too.

 

The current plan is to present some results at ELCE, which will take place in Prague in October 2017.

CIP Project releases a tool-box based on LAVA and KernelCI to test Linux kernels locally: Board At Desk v0.9.1

By In the News

The Civil Infrastructure Platform project, a Linux Foundation Initiative, is happy to announce the publication of Board At Desk – Single Dev. v0.9.1, a customised and easy to deploy instance of the kernelci.org and LAVA projects that should allow developers to test Linux kernels on boards connected to their own development machines using the tooling provided by one of the most successful Open Source and distributed testing projects.B@D v0.9.1

This instance is provided in this first release in two forms:

  • As a vagrant VM image/recipe.
  • As a VM image, widely called box.

Please visit the CIP Testing project Download page to download the first release of Board At Desk – Single Dev. (B@D v0.9.1).

With this effort, the CIP project is trying to create a first step towards “shared and trusted testing” by every member and the CIP kernel maintainer. It also has as a goal to extend and simplify the current use case satisfied by kernelci.org, focusing on those embedded developers that have direct access to boards, by reducing the deployment, configuration and maintenance costs. Finally, CIP intends to increase the number of developers and organizations willing to participate in kernelci.org by providing a simple mechanism to evaluate the technologies involved in what CIP consider B@D’s upstream project.

Some of the most important actions taken by the team behind B@D have been focused in two areas:

  1. Merged the KernelCI and LAVAv2 Virtual Machines together into one.

KernelCI was based on Ubuntu v14.04, it used Nginx as the Web Server and SimpleHTTPServer for the Storage Server which is where the builds are stored. LAVA was based on Debian and used the Apache Web Server and the Django Content Management System for the Frontend Web Framework. Both web servers wanted to use port 80.

The current VM uses Debian Jessie only. It runs KernelCI on Nginx and LAVA on Apache on reassigned ports. The KernelCI Storage Server has been migrated over to use Nginx on a reassigned port.

  1. Connection to the board.

The released VM assumes the usage of an FTDI USB-to-Serial cable to connect the host machine to the Beaglebone Black. It uses ser2net to route the /dev/ttyUSB0 serial port to a TCP port on the host machine which 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 board eMMC without needing to burn an SD Card.

This B@D version supports Beaglebone Black. Renesas RZ/G1M support is in progress and the rest of the CIP reference boards will be supported in the near future.

Further information about what you will find in Board At Desk – Single dev. (B@D v0.9.1) can be found in the B@D Feature Page.

If you are interested in testing kernels using this version of the tooling please meet the developers at the cip-dev mailing list. If you find bugs in KernelCI or LAVAv2 themselves, please report them upstream. If you find them in the configuration or any of the previously described topics, please report them in the CIP-testing bug tracker. More general information about the CIP testing project can be found in the CIP Testing Landing Page.