Procházet zdrojové kódy

linux: select host-openssl for all architectures when building latest version

Since at least Linux 6.16, but possibly earlier, host-openssl is now
needed on the vast majority of CPU architectures.

A common reason to require host-openssl in the Kernel is to enable
Wireless Networking. This is now enabled in most defconfigs.

- When enabling CONFIG_NET [1]
- CONFIG_WIRELESS is enabled by default [2]
- For Wireless, CONFIG_CFG80211 is commonly enabled too [3]
- CONFIG_CFG80211_REQUIRE_SIGNED_REGDB is enabled by default
  which selects SYSTEM_DATA_VERIFICATION [4]
- CONFIG_SYSTEM_DATA_VERIFICATION
  select SYSTEM_TRUSTED_KEYRING [5]
- CONFIG_SYSTEM_TRUSTED_KEYRING adds system_certificates.o
  which needs x509_certificate_list and extract-cert [6]
- and finally, extract-cert uses host-openssl [7]

Even if some architecture defconfigs (such as m68k) are not directly
enabling CONFIG_CFG80211 in the Kernel, there is still chances for
this option to be enabled by Kernel configuration fixups of selected
Buildroot package. This situation can happen in Buildroot
autobuilders.

Also, in some specific cases, host-openssl might be needed for
some other reasons (e.g. s390 arch defconfig enables
SYSTEM_DATA_VERIFICATION which ends up the same way).

Indeed, in order to fix build issues, we would have to add: armeb,
microblaze, loongarch, m68k, mips, mipsel, mips64, mips64el, powerpc,
powerpc64, powerpc64el, riscv, s390, and possibly others.

So intead, when "latest kernel" is used with the default architecture
configuration, always select host-openssl independently of the
selected architectures.

Fixes:

  https://autobuild.buildroot.net/results/9a314e759f7640d760003e46f86153300478ec60/ (mipsel)
  https://autobuild.buildroot.net/results/3bcc674ea5a7cdf031200b0cd2f9f71400ba391c/ (mips64el)
  https://autobuild.buildroot.net/results/b24983fd91f408de56479b7d7d57fc9fd3333d7d/ (s390)
  https://autobuild.buildroot.net/results/b262fc6f67a9fed55faffcdd580d89f4664e1e16/ (powerpc64)
  https://autobuild.buildroot.net/results/45da1538457b18671fa18efe3e1aa57a15561370/ (m68k)
  https://autobuild.buildroot.net/results/0a457375d2509f1b29a449dfa50f29fc7e56e568/ (armeb)
  https://autobuild.buildroot.net/results/814ca5f048827a635dea0199878fa82d5012b649/ (loongarch64)
  https://autobuild.buildroot.net/results/b684d0b37e5187aa9b31693356f8515857d19f7a/ (microblaze)

[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/net/Kconfig?h=v6.18.1#n6
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/net/Kconfig?h=v6.18.1#n428
[3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/net/wireless/Kconfig?h=v6.18.1#n17
[4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/net/wireless/Kconfig?h=v6.18.1#n89
[5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/init/Kconfig?h=v6.18.1#n2063
[6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/certs/Makefile?h=v6.18.1#n6
[7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/certs/extract-cert.c?h=v6.18.1#n21

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Romain Naour <romain.naour@smile.fr>
[Julien: add extra info in commit log]
Signed-off-by: Julien Olivain <ju.o@free.fr>
Thomas Petazzoni před 4 měsíci
rodič
revize
bba86304b0
1 změnil soubory, kde provedl 2 přidání a 4 odebrání
  1. 2 4
      linux/Config.in

+ 2 - 4
linux/Config.in

@@ -175,13 +175,11 @@ config BR2_LINUX_KERNEL_USE_DEFCONFIG
 
 config BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG
 	bool "Use the architecture default configuration"
-	# We know that the default configuration on some architectures
+	# We know that the default configuration on many architectures
 	# requires host-openssl, so select it for the latest kernel
 	# version. This is mainly needed to fix autobuilder testing.
 	select BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL if \
-	       BR2_LINUX_KERNEL_LATEST_VERSION && \
-	       (BR2_aarch64 || BR2_aarch64_be || BR2_arcle || \
-	        BR2_or1k || BR2_riscv || BR2_sparc || BR2_x86_64)
+	       BR2_LINUX_KERNEL_LATEST_VERSION
 	help
 	  This option will use the default configuration for the
 	  selected architecture. I.e, it is equivalent to running