The handling of BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG is currently
not doing a proper job: it is selecting ppc64le_defconfig if
BR2_powerpc64le, and using the default of "defconfig" for everything
else.
However:
- Since upstream commit 22f17b02f88b48c01d3ac38d40d2b0b695ab2d10,
which landed in Linux 6.8, the default defconfig is
ppc64le_defconfig and no longer ppc64_defconfig. This means that
despite the condition in linux.mk, we are in fact now always
building ppc64le_defconfig.
- It doesn't handle the 32-bit case, as a 64-bit defconfig gets used
by default. This causes build failures in the autobuilders.
To fix this we explicitly handle BR2_powerpc64le, BR2_powerpc64 and
BR2_powerpc, and use appropriate defconfigs for each case.
Fixes:
http://autobuild.buildroot.net/results/c15eaf2e7455aa265cc045e6d8be7cac5348d925/ (powerpc)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
In the latest kernel, U-Boot images are always generated when building
a kernel for NIOS2. Note that we build the kernel with:
make all
make <selected-image>
so the selected image through Buildroot options doesn't matter: a
U-Boot image is always generated.
Therefore, in order to fix autobuilder issues, make sure
host-uboot-tools are always selected when building the latest kernel
version. We do not select it in general as custom versions may be
different.
Fixes:
http://autobuild.buildroot.net/results/1d4c249887bdd78dab40152ad3a4fcef16458a1a/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
The 4.19.x series is now EOL upstream, so drop the linux-headers option
and add legacy handling for it.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Julien Olivain <ju.o@free.fr>
The 6.11.x series is now EOL upstream, so drop the linux-headers
option and add legacy handling for it.
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
The 6.10.x series is now EOL upstream, so drop the linux-headers option
and add legacy handling for it.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Commit abce4a2b3 "linux: add BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3" [1]
introduced a Kernel dependency on host-python3.
Since the Kernel does not have any specific requirements on host
Python modules, or recent host Python version, this commit replaces
the host-python3 dependency with BR2_PYTHON3_HOST_DEPENDENCY. This
will skip the host-python3 compilation if a sufficient version (3.4 or
greater at the time of this commit) is already present on host. This
will save build time.
This optimization was suggested by Peter, in [2].
Note 1: this commit was checked to ensure that Kernel v6.10.9 arm64
defconfig (which does require a python3 interpreter to build) is
working with Python 3.4.
Note 2: BR2_PYTHON3_HOST_DEPENDENCY was introduced in commit b60729784
"support/dependencies: add a check for python3" [3].
[1] abce4a2b36
[2] https://lists.buildroot.org/pipermail/buildroot/2024-September/763967.html
[3] b60729784a
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Kernel commit [1] introduced MSM GPU driver header generation with a
Python script. This commit was first included in v6.10. This driver is
also enabled as a module in the arm64 architecture default
configuration. See [2]. This is a common situation.
This missing dependency is not detected in the Buildroot CI, because
the reference docker image contains a python3 interpreter. See [3].
For information, the Linux latest kernel version was updated in
Buildroot commit 2b6dba00b "linux: bump latest version to 6.10".
See [4].
The issue can be observed by running the following commands on a host
without the python3 interpreter installed:
cat <<EOF >.config
BR2_aarch64=y
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_TOOLCHAIN_EXTERNAL=y
EOF
make olddefconfig
make linux
The Kernel build fails with output:
GENHDR drivers/gpu/drm/msm/generated/a2xx.xml.h
/bin/sh: 1: python3: not found
make[7]: *** [drivers/gpu/drm/msm/Makefile:176: drivers/gpu/drm/msm/generated/a2xx.xml.h] Error 127
This commit fixes this issue by introducing a new
BR2_LINUX_KERNEL_NEEDS_HOST_PYTHON3 configuration that will need to be
selected in relevant situations.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0fddd045f88e34d6160785a3a5e506d374566454
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm64/configs/defconfig?h=v6.10.8#n868
[3] https://gitlab.com/buildroot.org/buildroot/-/blob/2024.08-rc3/support/docker/Dockerfile?ref_type=tags#L40
[4] 2b6dba00be
Reported-by: Vincent Stehlé <vincent.stehle@arm.com>
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The 6.9.x series is now EOL upstream, so drop the linux-headers option
and add legacy handling for it.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The 6.8.x series is now EOL upstream, so drop the linux-headers option
and add legacy handling for it.
Signed-off-by: Bernd Kuhls <bernd@kuhls.net>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>