Thomas Petazzoni 6e99889c74 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>
(cherry picked from commit bba86304b0ac4ae266cfb52e54a239b0850b10ca)
Signed-off-by: Thomas Perale <thomas.perale@mind.be>
2025-12-18 17:01:07 +01:00
2025-12-18 16:56:26 +01:00
2025-12-11 23:46:12 +01:00
2025-12-11 23:46:12 +01:00

Buildroot is a simple, efficient and easy-to-use tool to generate embedded
Linux systems through cross-compilation.

The documentation can be found in docs/manual. You can generate a text
document with 'make manual-text' and read output/docs/manual/manual.text.
Online documentation can be found at http://buildroot.org/docs.html

To build and use the buildroot stuff, do the following:

1) run 'make menuconfig'
2) select the target architecture and the packages you wish to compile
3) run 'make'
4) wait while it compiles
5) find the kernel, bootloader, root filesystem, etc. in output/images

You do not need to be root to build or run buildroot.  Have fun!

Buildroot comes with a basic configuration for a number of boards. Run
'make list-defconfigs' to view the list of provided configurations.

Please feed suggestions, bug reports, insults, and bribes back to the
buildroot mailing list: buildroot@buildroot.org
You can also find us on #buildroot on OFTC IRC.

If you would like to contribute patches, please read
https://buildroot.org/manual.html#submitting-patches
Description
Buildroot repository for the Raspberry Pi
Readme 127 MiB
Languages
Makefile 63.4%
Python 17.8%
C 8.7%
Shell 6%
PHP 1.4%
Other 2.3%