[Buildroot] [git commit] support/testing: test_docker_compose: Bump kernel version to last LTS (6.18)
Julien Olivain
ju.o at free.fr
Tue May 5 21:18:12 UTC 2026
commit: https://gitlab.com/buildroot.org/buildroot/-/commit/3430d8200e58c58bc6c94064795d4f3f6f116537
branch: https://gitlab.com/buildroot.org/buildroot/-/tree/master
This commit bump the kernel version of this docker test (5.4->6.18), and thus
fixes several issues preventing the Docker Compose runtime test from
succeeding due to this bump:
Kernel Infrastructure:
The Docker daemon failed to start because the 'nat' table could not
be initialized. This was due to missing legacy Netfilter support.
- Enable CONFIG_NETFILTER_XTABLES_LEGACY to support iptables nat table.
- Enable CONFIG_NAMESPACES and CONFIG_USER_NS for container isolation.
- Enable CONFIG_TUN and CONFIG_VETH for container networking.
- Enable CONFIG_IKCONFIG and CONFIG_IKCONFIG_PROC for easier debugging.
Build Fixes:
While building the kernel tools, the libelf header was missing because
objtool was not handled correctly for this kernel version. This resulted
in a fatal error: "gelf.h: No such file or directory".
- Select BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y to build host-libelf.
Resources and Stability:
The previous 512MB of RAM was tight for the stack (Kernel +
Docker + Containerd + Python), potentially leading to Out-Of-Memory kills.
Idem for the disk size for Docker images/layers storage.
- Increase QEMU RAM to 1024MB (-m 1024M).
- Increase rootfs size to 1024MB.
- Switch to EXT4 (BR2_TARGET_ROOTFS_EXT2_4=y) for better stability
and modern feature support required by Docker's storage drivers.
Test Script Adjustments:
- Update rootfs path in the test script to point to rootfs.ext4.
Signed-off-by: Dowan Gullient <dowan.gullient at smile.fr>
Signed-off-by: Julien Olivain <ju.o at free.fr>
---
support/testing/conf/docker-compose-kernel.config | 26 ++++++++++------------
.../testing/tests/package/test_docker_compose.py | 12 ++++++----
2 files changed, 20 insertions(+), 18 deletions(-)
diff --git a/support/testing/conf/docker-compose-kernel.config b/support/testing/conf/docker-compose-kernel.config
index fd28da7a4a..cbaf5dfed3 100644
--- a/support/testing/conf/docker-compose-kernel.config
+++ b/support/testing/conf/docker-compose-kernel.config
@@ -1,8 +1,10 @@
-# CONFIG_SWAP is not set
CONFIG_SYSVIPC=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_CROSS_MEMORY_ATTACH is not set
CONFIG_HIGH_RES_TIMERS=y
+CONFIG_BPF_SYSCALL=y
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
CONFIG_CGROUPS=y
CONFIG_MEMCG=y
CONFIG_BLK_CGROUP=y
@@ -13,11 +15,10 @@ CONFIG_CPUSETS=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_BPF=y
-CONFIG_BPF_SYSCALL=y
-# CONFIG_COMPAT_BRK is not set
+CONFIG_NAMESPACES=y
+CONFIG_USER_NS=y
CONFIG_SMP=y
# CONFIG_X86_EXTENDED_PLATFORM is not set
-CONFIG_MCORE2=y
# CONFIG_X86_MCE is not set
# CONFIG_X86_INTEL_MEMORY_PROTECTION_KEYS is not set
CONFIG_LEGACY_VSYSCALL_NONE=y
@@ -25,10 +26,13 @@ CONFIG_LEGACY_VSYSCALL_NONE=y
# CONFIG_ACPI is not set
CONFIG_CPU_IDLE=y
# CONFIG_VIRTUALIZATION is not set
+# CONFIG_GCC_PLUGINS is not set
CONFIG_BLK_DEV_THROTTLING=y
# CONFIG_MQ_IOSCHED_DEADLINE is not set
# CONFIG_MQ_IOSCHED_KYBER is not set
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
+# CONFIG_SWAP is not set
+# CONFIG_COMPAT_BRK is not set
CONFIG_TRANSPARENT_HUGEPAGE=y
CONFIG_NET=y
CONFIG_PACKET=y
@@ -38,7 +42,9 @@ CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
# CONFIG_IPV6_SIT is not set
CONFIG_NETFILTER=y
+CONFIG_BRIDGE_NETFILTER=y
CONFIG_NF_CONNTRACK=y
+CONFIG_NETFILTER_XTABLES_LEGACY=y
CONFIG_NETFILTER_XT_MARK=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
@@ -47,17 +53,9 @@ CONFIG_IP_VS=y
CONFIG_IP_VS_RR=y
CONFIG_IP_VS_NFCT=y
CONFIG_IP_NF_IPTABLES=y
-CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
-CONFIG_IP_NF_MANGLE=y
CONFIG_IP_NF_RAW=y
-CONFIG_IP6_NF_IPTABLES=y
-CONFIG_IP6_NF_FILTER=y
-CONFIG_IP6_NF_MANGLE=y
-CONFIG_IP6_NF_RAW=y
-CONFIG_IP6_NF_NAT=y
-CONFIG_IP6_NF_TARGET_MASQUERADE=y
CONFIG_BRIDGE=y
# CONFIG_WIRELESS is not set
CONFIG_PCI=y
@@ -65,6 +63,7 @@ CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_VIRTIO_BLK=y
CONFIG_NETDEVICES=y
+CONFIG_TUN=y
CONFIG_VETH=y
CONFIG_VIRTIO_NET=y
# CONFIG_ETHERNET is not set
@@ -73,13 +72,13 @@ CONFIG_VIRTIO_NET=y
# CONFIG_INPUT_MOUSE is not set
# CONFIG_SERIO is not set
CONFIG_VT_HW_CONSOLE_BINDING=y
-# CONFIG_DEVMEM is not set
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
# CONFIG_HW_RANDOM_INTEL is not set
# CONFIG_HW_RANDOM_AMD is not set
# CONFIG_HW_RANDOM_VIA is not set
CONFIG_HW_RANDOM_VIRTIO=y
+# CONFIG_DEVMEM is not set
# CONFIG_HWMON is not set
# CONFIG_USB_SUPPORT is not set
CONFIG_RTC_CLASS=y
@@ -94,5 +93,4 @@ CONFIG_TMPFS=y
# CONFIG_NETWORK_FILESYSTEMS is not set
CONFIG_KEYS=y
CONFIG_SECURITYFS=y
-# CONFIG_CRYPTO_HW is not set
CONFIG_UNWINDER_FRAME_POINTER=y
diff --git a/support/testing/tests/package/test_docker_compose.py b/support/testing/tests/package/test_docker_compose.py
index a96c9d1481..db7e50914c 100644
--- a/support/testing/tests/package/test_docker_compose.py
+++ b/support/testing/tests/package/test_docker_compose.py
@@ -17,9 +17,10 @@ class BaseTestDockerCompose(infra.basetest.BRTest):
BR2_ROOTFS_POST_SCRIPT_ARGS="{}"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
- BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.296"
+ BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="6.18.21"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="{}"
+ BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON_DOCKER=y
BR2_PACKAGE_CA_CERTIFICATES=y
@@ -27,7 +28,10 @@ class BaseTestDockerCompose(infra.basetest.BRTest):
BR2_PACKAGE_DOCKER_COMPOSE=y
BR2_PACKAGE_DOCKER_ENGINE=y
BR2_TARGET_ROOTFS_EXT2=y
- BR2_TARGET_ROOTFS_EXT2_SIZE="512M"
+ BR2_TARGET_ROOTFS_EXT2_4=y
+ BR2_TARGET_ROOTFS_EXT2_GEN=4
+ BR2_TARGET_ROOTFS_EXT2_LABEL="rootfs"
+ BR2_TARGET_ROOTFS_EXT2_SIZE="1024M"
# BR2_TARGET_ROOTFS_TAR is not set
""".format(
infra.filepath("tests/package/copy-sample-script-to-target.sh"),
@@ -55,12 +59,12 @@ class BaseTestDockerCompose(infra.basetest.BRTest):
def do_test(self):
kernel = os.path.join(self.builddir, "images", "bzImage")
- rootfs = os.path.join(self.builddir, "images", "rootfs.ext2")
+ rootfs = os.path.join(self.builddir, "images", "rootfs.ext4")
self.emulator.boot(arch="x86_64",
kernel=kernel,
kernel_cmdline=["root=/dev/vda", "console=ttyS0"],
options=["-cpu", "Haswell",
- "-m", "512M",
+ "-m", "1024M",
"-device", "virtio-rng-pci",
"-drive", "file={},format=raw,if=virtio".format(rootfs),
"-net", "nic,model=virtio",
More information about the buildroot
mailing list