Simple scripts for testing the Linux kernel under KVM
https://git.wbinvd.org/kernel-testing
- Shell 68.4%
- Python 31.6%
| disks | Init | |
| kconfig | Update kconfigs | |
| kernels | Init | |
| scripts | Update gentoo pgp keys to openpgp-keys-gentoo-release-20260125 | |
| snapshots | Random tweaks and improvements | |
| tarballs | Init | |
| LICENSE | Init | |
| README | Add scripts for bootstrapping kernel cross compilers | |
| run.py | Enable earlycon for riscv64, fix in-tree kernel binary path | |
kernel-testing: Simple scripts for testing the Linux kernel under KVM ===================================================================== This is a simple set of scripts for quickly testing the Linux kernel under KVM. The scripts depend on: qemu, tmux, btrfs, gpg, and socat. Getting started is easy: $ scripts/get-stage3.sh amd64 systemd $ scripts/make-image.sh tarballs/*amd64* disks/amd64.img $ ./run.sh disks/amd64.img ../linux/arch/x86/boot/bzImage $ scripts/get-stage3.sh arm64 systemd $ scripts/make-image.sh -c ttyAMA tarballs/*arm64* disks/arm64.img $ ./run.py arm64.img ../linux/arch/arm64/boot/Image.gz $ scripts/get-stage3.sh armv7a-t64 systemd $ scripts/make-image.sh -c ttyAMA tarballs/*armv7a* disks/arm.img $ ./run.py armv7a.img ../linux/arch/arm/boot/zImage $ scripts/get-stage3.sh rv64_multilib systemd $ scripts/make-image.sh tarballs/*rv64* disks/rv64.img $ ./run.py rv64.img ../linux/arch/riscv/boot/Image [ More coming soon... ] The included Kconfigs do not use modules, so nothing needs to be copied into the filesystem or mounted inside the VM. They are very minimal, so they can be compiled quickly on a laptop: you will almost certainly want to apply fragments to enable options related to whatever you're doing. VMs are configured with two consoles: one for kernel logs using emulated serial, and one for the getty using virtioconsole. The scripts split new consoles into tmux windows, for ease of use on a remote server via SSH. Gentoo stage3 tarballs are used to build the root filesystems. The get-stage3.sh script will download the most recent amd64-systemd tarball by default. It accepts ARCH and optionally TYPE on the cmdline. You can also find the tarballs here: https://distfiles.gentoo.org/releases/ https://www.gentoo.org/downloads/