Problem statement

Once a kernel is built, a developer/janitor may want to boot the kernel for various reasons, such as performing simple boot test or running tests and workloads from user space or simply playing around in a shell. However, an easy to use and a descriptive tool to perform those tasks doesn't exist to our knowledge.

We talked to kernel developers and were told to have a look at the following resources:

The approach

We plan to address this issue in the upcoming Hackweek. Our idea is to leverage LinuxKit as a driver to boot a given kernel image in different environments (qemu, Hyper-V, VMware and public clouds). As linuxkit is container-based, it is trivial to boot the kernel with various rootfs-images of all kinds of distributions. Note that it's easy to create custom rootfs images.

The tool we seek to implement should wrap everything up into something useful for developers and CI systems to use from the command line as well as from configuration files. The benefits of using a container-based infrastructure include:

Reproducibility: We bundle kernel images with the desired rootfs together and store them for a given amount of time. Re-running and re-creating those becomes trivial and easy.

Declarative approach: All steps to create the desired image are baked into configuration files. The benefits are again reproducibility and documentation.

Flexibility: In theory, we can bundle any kernel image with any rootfs and add as many files, binaries and directories on top as we please. Supporting different kinds of environments, including public clouds, makes the tool attractive for a broader audience.

Looking for hackers with the skills:

linux kernel testing containers infrastructure

This project is part of:

Hack Week 16

Activity

  • over 4 years ago: metan liked this project.
  • over 4 years ago: sebchlad liked this project.
  • over 4 years ago: vrothberg added keyword "linux" to this project.
  • over 4 years ago: vrothberg added keyword "kernel" to this project.
  • over 4 years ago: vrothberg added keyword "testing" to this project.
  • over 4 years ago: vrothberg added keyword "containers" to this project.
  • over 4 years ago: vrothberg added keyword "infrastructure" to this project.
  • over 4 years ago: FabianBmn joined this project.
  • over 4 years ago: ereslibre joined this project.
  • over 4 years ago: vrothberg started this project.
  • over 4 years ago: vrothberg originated this project.

  • Comments

    Similar Projects

    Azure Active Directory for Linux by lramage

    Project Description

    [comment]: # (What ar...


    Generic retry command in openSUSE by okurz

    Motivation

    When automating tasks often the r...


    Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil

    Join the Gitter channel! [https://gitter.im/uy...


    Create a DRM driver for Matrox desktop cards by tdz

    (was: Create a DRM driver for Matrox G200)

    E...


    Modular kernel packaging by mwilck

    Project Description

    Create a PoC for a mo...


    Setup A Linux Cross Referencer for SUSE kernels by tdz

    Project Description

    There's [Elixir](http...


    Model checking the BPF verifier by shunghsiyu

    Project Description

    BPF verifier plays a ...


    early stage kdump support by mbrugger

    [comment]: # (Please use the project descriptio...


    Family with MicroOS by xguo

    Project Description

    Try to family with Mi...


    Package docker compose v2 by hennevogel

    Package [compose](https://github.com/docker/com...


    containerizing MicroOS Desktop components (reloaded) by fcrozat

    [comment]: # (Please use the project descriptio...


    Uyuni/SUSE Manager Server Helm chart on k3s by moio

    ![Combined icons of k3s and Uyuni](https://user...


    Home mirror 101 refresh of hotstuff by lkocman

    I'm running a simple home mirror, but I managed...


    openSUSE build supported by SUSE IT by vgrinco

    Project Description

    SUSE IT needs help fr...