mirror of
https://github.com/JakeHillion/drgn.git
synced 2024-12-23 01:33:06 +00:00
dabfe19719
The current implementation of vmtest has a few issues: 1. Building drgn for each kernel version on Travis is slow, mostly because they don't all run in parallel. 2. For local, incremental testing, recreating the filesystem image and rebuilding drgn is slow, and syncing the code to the filesystem image is brittle. 3. The filesystem image is the only communication channel, and reading the exit status from the filesystem image is awkward and fragile. 4. Creating and accessing the filesystem image requires root. This reworks vmtest to use the build on the host via VirtFS with a simple agent on the guest that can execute arbitrary commands and return the exit status. This has a few more moving parts but is faster and saner overall.
58 lines
1.3 KiB
Plaintext
58 lines
1.3 KiB
Plaintext
# Minimal Linux kernel configuration for booting into vmtest and running drgn
|
|
# tests.
|
|
|
|
CONFIG_LOCALVERSION="-vmtest1"
|
|
|
|
CONFIG_SMP=y
|
|
|
|
# No modules to simplify installing the kernel into the root filesystem image.
|
|
CONFIG_MODULES=n
|
|
|
|
# We run the tests in KVM.
|
|
CONFIG_HYPERVISOR_GUEST=y
|
|
CONFIG_KVM_GUEST=y
|
|
CONFIG_PARAVIRT=y
|
|
CONFIG_PARAVIRT_SPINLOCKS=y
|
|
|
|
# Minimum requirements for vmtest.
|
|
CONFIG_9P_FS=y
|
|
CONFIG_DEVTMPFS=y
|
|
CONFIG_INET=y
|
|
CONFIG_NET=y
|
|
CONFIG_NETWORK_FILESYSTEMS=y
|
|
CONFIG_NET_9P=y
|
|
CONFIG_NET_9P_VIRTIO=y
|
|
CONFIG_OVERLAY_FS=y
|
|
CONFIG_PCI=y
|
|
CONFIG_PROC_FS=y
|
|
CONFIG_SERIAL_8250=y
|
|
CONFIG_SERIAL_8250_CONSOLE=y
|
|
CONFIG_SYSFS=y
|
|
CONFIG_TMPFS=y
|
|
CONFIG_TMPFS_XATTR=y
|
|
CONFIG_VIRTIO_CONSOLE=y
|
|
CONFIG_VIRTIO_PCI=y
|
|
|
|
# drgn needs /proc/kcore for live debugging.
|
|
CONFIG_PROC_KCORE=y
|
|
# In some cases, it also needs /proc/kallsyms.
|
|
CONFIG_KALLSYMS=y
|
|
CONFIG_KALLSYMS_ALL=y
|
|
|
|
# drgn needs debug info.
|
|
CONFIG_DEBUG_KERNEL=y
|
|
CONFIG_DEBUG_INFO=y
|
|
CONFIG_DEBUG_INFO_DWARF4=y
|
|
|
|
# Before Linux kernel commit 8757dc970f55 ("x86/crash: Define
|
|
# arch_crash_save_vmcoreinfo() if CONFIG_CRASH_CORE=y") (in v5.6), some
|
|
# important information in VMCOREINFO is initialized by the kexec code.
|
|
CONFIG_KEXEC=y
|
|
|
|
# For block tests.
|
|
CONFIG_BLK_DEV_LOOP=y
|
|
|
|
# For kconfig tests.
|
|
CONFIG_IKCONFIG=y
|
|
CONFIG_IKCONFIG_PROC=y
|