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:
- tools/testing/ktest/ktest.pl
- http://ltsi.linuxfoundation.org/ltsi-test-project
- http://fuegotest.org/wiki/FrontPage
- https://elinux.org/Testing
- https://en.wikipedia.org/wiki/User-mode_Linux
- https://media.ccc.de/v/1416-rapido-quick-kernel-testing-from-source
- https://media.ccc.de/v/1416-rapido-quick-kernel-testing-from-source
- https://gitlab.com/mcgrof/kvm-boot
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 mad skills in:
linux kernel testing containers infrastructure
This project is part of:
Hack Week 16
Activity
Comments
Similar Projects
YES Certification Video Tutorials by dstokes
The YES Certification Tool Kit has long needed ...
perf-bench ipc by dbueso
The state of the art of sysv/posix ipc benchmar...
openSUSE/SLE/Mainline U-boot for some not-yet-supported ARM64 boards by ldevulder
The Khadas VIM (http://khadas.com/vim/) is an a...
netlink interface for ethtool by mkubecek
There seems to be an overall consensus that the...
Out-of-the-box SPD support by jdelvare
In order to see the SPD (detailed memory inform...
Investigate C-Sky architecture by a_faerber
The youngest architecture addition to the mainl...
ethtool ops for netdevsim by mkubecek
This can be seen as a subproject of [ethtool ne...
Make "salt-toaster" available to be used outside SUSE by PSuarezHernandez
The salt-toaster
(https://github.com/openSUSE...
Controlling and Testing the YaST UI Remotely (for Integration Tests, openQA) by lslezak
Hackweek 18 Update
What Has Been Done ...
Dudenetes by pgeorgiadis
![alt text](https://dudeism.com/wp-content/uplo...
ethtool ops for netdevsim by mkubecek
This can be seen as a subproject of [ethtool ne...
Architecting a Machine Learning project with SUSE CaaSP by jordimassaguerpla
The goal of this project is to get an overview ...