From 450863097f588fe85d23e83cff14a75f1740d8fa Mon Sep 17 00:00:00 2001 From: Ricardo Martincoski Date: Tue, 30 Jul 2019 20:13:21 -0300 Subject: [PATCH] support/testing: use virtio-rng-pci to test syslog-ng Recent versions of syslog-ng need some entropy on startup. So use VirtIORNG to provide it. In order to accomplish this: - build the kernel containing the driver; - pass '-device virtio-rng-pci' to qemu. Use the same kernel version and kernel config as qemu_arm_versatile. It already has PCI enabled but it does not have HW_RANDOM_VIRTIO, so add a defconfig fragment to enable the drivers. Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/259856394 At the same time, fix a typo (missing '#') that resulted in the generation of root.tar. This file is not used in the test. Signed-off-by: Ricardo Martincoski Cc: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- .../conf/syslog-ng-kernel-fragment.config | 3 +++ .../testing/tests/package/test_syslog_ng.py | 20 ++++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) create mode 100644 support/testing/conf/syslog-ng-kernel-fragment.config diff --git a/support/testing/conf/syslog-ng-kernel-fragment.config b/support/testing/conf/syslog-ng-kernel-fragment.config new file mode 100644 index 0000000000..5b96e418be --- /dev/null +++ b/support/testing/conf/syslog-ng-kernel-fragment.config @@ -0,0 +1,3 @@ +CONFIG_HW_RANDOM=y +CONFIG_HW_RANDOM_VIRTIO=y +CONFIG_VIRTIO_PCI=y diff --git a/support/testing/tests/package/test_syslog_ng.py b/support/testing/tests/package/test_syslog_ng.py index 0155ef14e4..d1444d3d0d 100644 --- a/support/testing/tests/package/test_syslog_ng.py +++ b/support/testing/tests/package/test_syslog_ng.py @@ -6,15 +6,29 @@ import infra.basetest class TestSyslogNg(infra.basetest.BRTest): config = infra.basetest.BASIC_TOOLCHAIN_CONFIG + \ """ + BR2_LINUX_KERNEL=y + BR2_LINUX_KERNEL_CUSTOM_VERSION=y + BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.19.16" + BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y + BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/qemu/arm-versatile/linux.config" + BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}" + BR2_LINUX_KERNEL_DTS_SUPPORT=y + BR2_LINUX_KERNEL_INTREE_DTS_NAME="versatile-pb" BR2_PACKAGE_BUSYBOX_SHOW_OTHERS=y BR2_PACKAGE_SYSLOG_NG=y BR2_TARGET_ROOTFS_CPIO=y - BR2_TARGET_ROOTFS_TAR is not set - """ + # BR2_TARGET_ROOTFS_TAR is not set + """.format(infra.filepath("conf/syslog-ng-kernel-fragment.config")) def test_run(self): + kernel = os.path.join(self.builddir, "images", "zImage") cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio") - self.emulator.boot(arch="armv5", kernel="builtin", options=["-initrd", cpio_file]) + dtb = os.path.join(self.builddir, "images", "versatile-pb.dtb") + options = ["-M", "versatilepb", + "-dtb", dtb, + "-initrd", cpio_file, + "-device", "virtio-rng-pci"] + self.emulator.boot(arch="armv5", kernel=kernel, options=options) self.emulator.login() cmd = "grep syslog-ng /var/log/messages | grep starting" -- 2.30.2