Files
buildroot/support/testing/tests/package/test_lxc.py
dowan gullient 6195e97d6e support/testing: test_lxc: Bump kernel version to last LTS (6.18)
Update the Device Tree name for the vexpress platform to match the
new directory structure introduced in Linux 6.5.

Since kernel 6.5, the 'arch/arm/boot/dts/' directory was restructured
to avoid having thousands of files in a single folder. Device Trees
for ARM (32-bit) are now organized into subdirectories. For the
Versatile Express platform, the DTS file moved to the 'arm/'
subdirectory.

The build was failing with:
make[3]: *** No rule to make target 'arch/arm/boot/dts/vexpress-v2p-ca9.dtb'. Stop.

Adjust BR2_LINUX_KERNEL_INTREE_DTS_NAME from "vexpress-v2p-ca9" to
"arm/vexpress-v2p-ca9".

Signed-off-by: Dowan Gullient <dowan.gullient@smile.fr>
Signed-off-by: Julien Olivain <ju.o@free.fr>
2026-05-05 23:18:13 +02:00

60 lines
2.3 KiB
Python

import os
import infra.basetest
class TestLxc(infra.basetest.BRTest):
config = \
"""
BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_ENABLE_VFP=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_BOOTLIN=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.21"
BR2_LINUX_KERNEL_DEFCONFIG="vexpress"
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/vexpress-v2p-ca9"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="{}"
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
BR2_INIT_SYSTEMD=y
BR2_PACKAGE_LXC=y
BR2_PACKAGE_TINI=y
BR2_PACKAGE_IPERF3=y
BR2_ROOTFS_OVERLAY="{}"
BR2_TARGET_ROOTFS_CPIO=y
""".format(
infra.filepath("tests/package/test_lxc/lxc-kernel.config"),
infra.filepath("tests/package/test_lxc/rootfs-overlay"))
def run_ok(self, cmd):
self.assertRunOk(cmd, 120)
def wait_boot(self):
# the complete boot with systemd takes more time than what the
# default typically allows
self.emulator.login(timeout=600)
def setup_run_test_container(self):
self.run_ok("lxc-create -n lxc_iperf3 -t none -f /usr/share/lxc/config/minimal-iperf3.conf")
self.run_ok("lxc-start -l trace -n lxc_iperf3 -o /tmp/lxc.log -L /tmp/lxc.console.log")
# need to wait for the container to be fully started
self.run_ok("sleep 2")
self.run_ok("iperf3 -c 192.168.1.2 -t 2")
# if the test fails, just cat /tmp/*.log
def test_run(self):
cpio_file = os.path.join(self.builddir, "images", "rootfs.cpio")
kernel_file = os.path.join(self.builddir, "images", "zImage")
dtb_file = os.path.join(self.builddir, "images", "vexpress-v2p-ca9.dtb")
self.emulator.boot(arch="armv7", kernel=kernel_file,
kernel_cmdline=[
"console=ttyAMA0,115200"],
options=["-initrd", cpio_file,
"-dtb", dtb_file,
"-M", "vexpress-a9"])
self.wait_boot()
self.setup_run_test_container()