[Buildroot] [PATCH 1/3] support/testing: bump prebuilt kernel to 5.10.202

Romain Naour romain.naour at smile.fr
Wed Dec 6 22:44:20 UTC 2023


As reported on the mailing list [1], TestPolkitSystemd and
TestPolkitInitd are failing since we bumped the Bootlin toolchain
2023.08 [2].

The issue is caused by expat (XML library) package detecting
arc4random_buf() introduced by glibc 2.36 [3].

With arc4random_buf() support enabled, expat hang Polkit while reading
its policy files (XML files) due to a lack of entropy on the system.

Upgrading the kernel allows to avoid such issue thanks to
random_get_entropy_fallback() introduced in 5.10.119 (backpored) [4].

Build the vexpress-v2p-ca9 (armv7) 5.10.202 using the kernel
configuration file found in /proc/config.gz but with additional kernel
options provided by SYSTEMD_LINUX_CONFIG_FIXUPS. Indeed some kernel
options requested by systemd were missing in 5.10.7 kernel.

Build the versatile-pb (armv5) kernel using the same kernel
configuration as qemu_arm_versatile_defconfig but with additional
kernel options like for vexpress-v2p-ca9. While at it, enable
IKCONFIG_PROC option to provide the kernel configuration at runtime
in /proc/config.gz.

Runtime tested:
https://gitlab.com/kubu93/buildroot/-/pipelines/1097887826 (tests.package.test_polkit.TestPolkit*)
https://gitlab.com/kubu93/buildroot/-/pipelines/1097705399 (tests.init.*)

Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/5689309948 (TestPolkitSystemd)
https://gitlab.com/buildroot.org/buildroot/-/jobs/5689309947 (TestPolkitInitd)

[1] http://lists.busybox.net/pipermail/buildroot/2023-December/680445.html
[2] 452365a385ef35e808eb2eb669d1e3227c7399dd
[3] https://sourceware.org/git/?p=glibc.git;a=commit;h=6f4e0fcfa2d2b0915816a3a3a1d48b4763a7dee2
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=fdca775081527364621857957655207d83035376

Signed-off-by: Romain Naour <romain.naour at smile.fr>
---
 support/testing/infra/emulator.py | 8 ++++----
 support/testing/run-tests         | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/support/testing/infra/emulator.py b/support/testing/infra/emulator.py
index 09f81eca89..624740fcb1 100644
--- a/support/testing/infra/emulator.py
+++ b/support/testing/infra/emulator.py
@@ -54,16 +54,16 @@ class Emulator(object):
 
                 if arch == "armv7":
                     kernel = infra.download(self.downloaddir,
-                                            "kernel-vexpress-5.10.7")
+                                            "kernel-vexpress-5.10.202")
                     dtb = infra.download(self.downloaddir,
-                                         "vexpress-v2p-ca9-5.10.7.dtb")
+                                         "vexpress-v2p-ca9-5.10.202.dtb")
                     qemu_cmd += ["-dtb", dtb]
                     qemu_cmd += ["-M", "vexpress-a9"]
                 elif arch == "armv5":
                     kernel = infra.download(self.downloaddir,
-                                            "kernel-versatile-5.10.7")
+                                            "kernel-versatile-5.10.202")
                     dtb = infra.download(self.downloaddir,
-                                         "versatile-pb-5.10.7.dtb")
+                                         "versatile-pb-5.10.202.dtb")
                     qemu_cmd += ["-dtb", dtb]
                     qemu_cmd += ["-M", "versatilepb"]
                     qemu_cmd += ["-device", "virtio-rng-pci"]
diff --git a/support/testing/run-tests b/support/testing/run-tests
index e8c540f370..485811b746 100755
--- a/support/testing/run-tests
+++ b/support/testing/run-tests
@@ -65,10 +65,10 @@ def main():
     BRConfigTest.downloaddir = os.path.abspath(args.download)
 
     if args.prepare_only:
-        emulator_builtin_binaries = ["kernel-vexpress-5.10.7",
-                                     "vexpress-v2p-ca9-5.10.7.dtb",
-                                     "kernel-versatile-5.10.7",
-                                     "versatile-pb-5.10.7.dtb"]
+        emulator_builtin_binaries = ["kernel-vexpress-5.10.202",
+                                     "vexpress-v2p-ca9-5.10.202.dtb",
+                                     "kernel-versatile-5.10.202",
+                                     "versatile-pb-5.10.202.dtb"]
         print("Downloading emulator builtin binaries")
         for binary in emulator_builtin_binaries:
             infra.download(BRConfigTest.downloaddir, binary)
-- 
2.43.0




More information about the buildroot mailing list