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)
  root@03a89588dcc2:/#

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.

  root@03a89588dcc2:/# apt update
  root@03a89588dcc2:/# apt-get install vim
  root@03a89588dcc2:/# vim /etc/apt/sources.list

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

Then, install the postgresql.

  root@03a89588dcc2:/# apt update
  root@03a89588dcc2:/# apt-get install postgresql

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

  root@03a89588dcc2:/# service postgresql start
  root@03a89588dcc2:/# apt-get install -t jessie-backports lava

Let's create admin account for LAVA

  root@03a89588dcc2:/# lava-server manage createsuperuser

Start the LAVA service.

  root@03a89588dcc2:/# service lava-server start

After LAVA installation,

  root@03a89588dcc2:/#

results matching ""

    No results matching ""