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 hackers with the skills:
This project is part of:
Hack Week 16
Activity
Comments
-
over 5 years ago by metan | Reply
FYI there is also the 0day framework from intel that more or less does this. But it works only on Debian, etc. See:
https://01.org/lkp/documentation https://github.com/intel/lkp-tests
Similar Projects
Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil
Join the Gitter channel! [https://gitter.im/uy...
Authenticated hashes for BTRFS by dsterba
Project Description
Implement a checksum ...
Encrypted volumes in elemental-toolkit by flonnegren
[comment]: # (Please use the project descriptio...
Improve Qualcomm SOC msm8994/msm8992 kernel mainline support by pvorel
Project Description
Due previous hackweek...
Authenticated hashes for BTRFS by dsterba
Project Description
Implement a checksum ...
Linux on Cavium CN23XX cards by tsbogend
Before Cavium switched to ARM64 CPUs they devel...
How software creation process can save energy and CO2 emissions by acervesato
[comment]: # (Please use the project descriptio...
Understand and review klp-convert patchset by mpdesouza
[comment]: # (Please use the project descriptio...
Improve Qualcomm SOC msm8994/msm8992 kernel mainline support by pvorel
Project Description
Due previous hackweek...
Uyuni test suite improvements by dgedon
Project Description
Uyuni is the upstream...
Uyuni: add SLE-Micro acceptance tests by mbussolotto
Project Description
Uyuni: add SLE-Micro ...
OpenQA test list views improvement by mdati
Project Description
Create views of **Ope...
Testing and adding GNU/Linux distributions on Uyuni by juliogonzalezgil
Join the Gitter channel! [https://gitter.im/uy...
How software creation process can save energy and CO2 emissions by acervesato
[comment]: # (Please use the project descriptio...
Humidity sensors with dashboard by joachimwerner
Build a network of ("edge") humidity sensors...
Generic Wrangler Controllers by kjoiner
[comment]: # (Please use the project descriptio...
Samba in Kubernetes (for openSUSE) by dmulder
[comment]: # (Please use the project descriptio...
openSUSE MicroOS based NAS by dmach
[comment]: # (Please use the project descriptio...
Building a CNF solution for Edge environment by lizhang
Project Description
Network managemen...