as version 1 was quite immature, and the results for testers were not that huge, I am presenting a second version of the patch:
This patch allows to run ktest on a number of different CPUs, even if not binary compatible with the host. This requires that Qemu static is correctly installed, and qemu is bug-free (qemu issue #1917 for ppc64). Architectures supported: - ARMV7 (hard float only) (Little Endian) - AARCH64 (Little Endian) - PowerPC64 (Big endian) - RISCV (64 bit only) (Little Endian) - S390X (Big Endian) - SPARC64 (Big Endian) - X86 (Little Endian) - X86_64 (Little Endian) This patch allows KVM emulation for X86* hosts, others are using the TCG emulator. A number of workarounds have been added for packages, Debian often has incomplete dependencies in sid. On supported architectures, the root_image is based on Trixie. In future versions, I'll have to look at the cross-compile issue: currently, when building bcachefs tools, it is needed to compile both C and Rust, every time another arch is launched. it should not be that hard. Signed-off-by: Janpieter Sollie <[email protected]> Janpieter Sollie (9): Increase cross-compile compatibility add XXHash testing ktest-bcachefs: run tests on emulated architectures ktest: upgrade to debian trixie channel enable ARMv7 support Enable rust support cross-arch Ktest: re-introduce foreign unsupported architectures fixup! modify default powerpc variables fix a number of issues with cross-architecture testing .gitignore | 1 + build-test-kernel | 51 ++++++------ cross.conf | 24 ++++++ lib/common.sh | 98 ++++++++++++---------- lib/libktest.sh | 36 ++++++--- lib/testrunner | 6 ++ root_image | 116 +++++++++++++++++++++++---- tests/bcachefs/bcachefs-test-libs.sh | 4 + tests/bcachefs/single_device.ktest | 9 +++ tests/kconfig.sh | 79 ++++++++++++++---- tests/test-libs.sh | 4 +- 11 files changed, 315 insertions(+), 113 deletions(-) create mode 100644 cross.conf -- 2.42.0
