LAVA

LAVA is the job scheduler for building Linux kernel based on configured system (ex: ARM board).
This page describes how to setup tools and run in your local machine.
Currently, LAVA is supported only in Debian system. I'm using Docker to run it.

Kernel CI

Kernel CI is the automated Linux kernel testing framework. It consists of several software components.
LAVA is the core part of Kernel CI. Kernel CI consists of LAVA and other software components.

Why do we need this tool?

Simply, it is developed for detecting regression problem efficiently

  • Build Linux kernel automatically
    • Kconfig -> build -> boot -> check the status of kernel image

For my private reason,

  • Test Linux kernel on several ARM SBCs

LAVA Architecture

kernel_ci_arch

Installation

To build Linux kernel fast, higher performance host system is required.
It seems Linaro uses Xeon servers. I use Zotac Intel Core i7-4770T barebone system.

  • OS - Debian
    I prefer Docker because I don't want to install new system for this.

    $ docker pull debian:jessie
    
    $ docker images
    REPOSITORY                TAG                 IMAGE ID            CREATED             SIZE
    debian                    jessie-backports    8d3e0261e9ea        2 weeks ago         123 MB
    

The option, '-p 8000:80' enables accessing the LAVA web pages inside the container through web browser with the url, 'http://localhost:8000'.

  $docker run -p 8000:80 -i -t 8d3e0261e9ea /bin/bash

  Run debian (8d3e0261e9ea)
  [email protected]:/#

Now, you are inside the Debian container.
Let's install the LAVA. Jessie backport supports it, so additional deb is required in /etc/apt/sources.list.

  [email protected]:/# apt update
  [email protected]:/# apt-get install vim
  [email protected]:/# vim /etc/apt/sources.list

      # Add this line for LAVA setup
      deb http://deb.debian.org/debian/ jessie-backports main

Then, install the postgresql.

  [email protected]:/# apt update
  [email protected]:/# apt-get install postgresql

Postgresql service should start prior to installing LAVA. If it doesn't starts, then port 5432 error will occur.

  [email protected]:/# service postgresql start
  [email protected]:/# apt-get install -t jessie-backports lava

Let's create admin account for LAVA

  [email protected]:/# lava-server manage createsuperuser

Start the LAVA service.

  [email protected]:/# service lava-server start

After LAVA installation,

  [email protected]:/#

results matching ""

    No results matching ""