3
0
Fork 0
forked from mirrors/linux
kernel/scripts/package
Masahiro Yamada e2c318225a kbuild: deb-pkg: add pkg.linux-upstream.nokernelheaders build profile
Since commit f1d87664b8 ("kbuild: cross-compile linux-headers package
when possible"), 'make bindeb-pkg' may attempt to cross-compile the
linux-headers package, but it fails under certain circumstances.

For example, when CONFIG_MODULE_SIG_FORMAT is enabled on Debian, the
following command fails:

  $ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bindeb-pkg
      [ snip ]
  Rebuilding host programs with aarch64-linux-gnu-gcc...
    HOSTCC  debian/linux-headers-6.12.0-rc4/usr/src/linux-headers-6.12.0-rc4/scripts/kallsyms
    HOSTCC  debian/linux-headers-6.12.0-rc4/usr/src/linux-headers-6.12.0-rc4/scripts/sorttable
    HOSTCC  debian/linux-headers-6.12.0-rc4/usr/src/linux-headers-6.12.0-rc4/scripts/asn1_compiler
    HOSTCC  debian/linux-headers-6.12.0-rc4/usr/src/linux-headers-6.12.0-rc4/scripts/sign-file
  In file included from /usr/include/openssl/opensslv.h:109,
                   from debian/linux-headers-6.12.0-rc4/usr/src/linux-headers-6.12.0-rc4/scripts/sign-file.c:25:
  /usr/include/openssl/macros.h:14:10: fatal error: openssl/opensslconf.h: No such file or directory
     14 | #include <openssl/opensslconf.h>
        |          ^~~~~~~~~~~~~~~~~~~~~~~
  compilation terminated.

This commit adds a new profile, pkg.linux-upstream.nokernelheaders, to
guard the linux-headers package.

There are two options to fix the above issue.

Option 1: Set the pkg.linux-upstream.nokernelheaders build profile

  $ DEB_BUILD_PROFILES=pkg.linux-upstream.nokernelheaders \
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- bindeb-pkg

This skips the building of the linux-headers package.

Option 2: Install the necessary build dependencies

If you want to cross-compile the linux-headers package, you need to
install additional packages.

For example, on Debian, the packages necessary for cross-compiling it
to arm64 can be installed with the following commands:

  # dpkg --add-architecture arm64
  # apt update
  # apt install gcc-aarch64-linux-gnu libssl-dev:arm64

Fixes: f1d87664b8 ("kbuild: cross-compile linux-headers package when possible")
Reported-by: Ron Economos <re@w6rz.net>
Closes: https://lore.kernel.org/all/b3d4f49e-7ddb-29ba-0967-689232329b53@w6rz.net/
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Tested-by: Ron Economos <re@w6rz.net>
Reviewed-by: Nicolas Schier <nicolas@fjasle.eu>
2024-10-31 21:41:02 +09:00
..
debian kbuild: deb-pkg: call more misc debhelper commands 2024-02-19 18:20:39 +09:00
builddeb kbuild: deb-pkg: add pkg.linux-upstream.nokernelheaders build profile 2024-10-31 21:41:02 +09:00
buildtar kbuild: package: add -e and -u options to some shell scripts 2024-07-16 16:06:18 +09:00
gen-diff-patch kbuild: package: add -e and -u options to some shell scripts 2024-07-16 16:06:18 +09:00
install-extmod-build kbuild: deb-pkg: add pkg.linux-upstream.nokernelheaders build profile 2024-10-31 21:41:02 +09:00
kernel.spec kbuild: rpm-pkg: ghost modules.weakdep file 2024-07-28 17:07:03 +09:00
mkdebian kbuild: deb-pkg: add pkg.linux-upstream.nokernelheaders build profile 2024-10-31 21:41:02 +09:00
mkspec kbuild: rpm-pkg: Fix C locale setup 2024-07-24 19:26:44 +09:00
PKGBUILD kbuild: add debug package to pacman PKGBUILD 2024-09-07 17:24:08 +09:00
snapcraft.template kbuild: remove the last use of old cmd_src_tar rule in packaging 2023-11-28 11:38:32 +09:00