public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH] linux-custom: support vendor directories via HEADERS_INSTALL_EXTRA
@ 2024-08-10 21:58 'Cedric Hombourger' via isar-users
  2024-08-11  8:10 ` 'Jan Kiszka' via isar-users
                   ` (2 more replies)
  0 siblings, 3 replies; 11+ messages in thread
From: 'Cedric Hombourger' via isar-users @ 2024-08-10 21:58 UTC (permalink / raw)
  To: isar-users; +Cc: Cedric Hombourger

Some vendor kernels come with additional directories to be included in the
linux-headers package in order to support building of their out-of-tree
drivers. HEADERS_INSTALL_EXTRA may be set to a list of directories relative
to ${S} in any kernel recipes that includes linux-custom.inc

Signed-off-by: Cedric Hombourger <cedric.hombourger@siemens.com>
---
 RECIPE-API-CHANGELOG.md                              | 12 ++++++++++++
 .../linux/files/debian/isar/install.tmpl             |  6 ++++++
 meta/recipes-kernel/linux/linux-custom.inc           | 12 ++++++++++++
 3 files changed, 30 insertions(+)

diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md
index 65cd98b3..21c558d2 100644
--- a/RECIPE-API-CHANGELOG.md
+++ b/RECIPE-API-CHANGELOG.md
@@ -634,3 +634,15 @@ into kernel kbuild package.
 
 When downloading from debian snapshot mirrors, rate limits might apply.
 To limit the amount of parallel fetching to n kB / s, you can set `ISAR_APT_DL_LIMIT="<n>`.
+
+### Custom directories in vendor kernels
+
+Some vendor kernels come with additional directories to be included in the
+linux-headers package in order to support building of their out-of-tree
+drivers. `HEADERS_INSTALL_EXTRA` may be set to a list of directories relative
+to ${S} in any kernel recipes that includes `linux-custom.inc`. A l4t kernel
+recipe would use the following setting:
+
+```
+HEADERS_INSTALL_EXTRA += "nvidia"
+```
diff --git a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
index 00011517..0a7bdd66 100644
--- a/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
+++ b/meta/recipes-kernel/linux/files/debian/isar/install.tmpl
@@ -193,6 +193,12 @@ kernel_headers() {
     (cd ${S}; find arch/${ARCH} -name module.lds -o -name Kbuild.platforms -o -name Platform) >>${src_hdr_files}
     (cd ${S}; find $(find arch/${ARCH} -name include -o -name scripts -type d) -type f) >>${src_hdr_files}
 
+    if [ -n "${HEADERS_INSTALL_EXTRA}" ]; then
+        for d in ${HEADERS_INSTALL_EXTRA}; do
+            (cd ${S}; find ${d} -type f) >>${src_hdr_files}
+        done
+    fi
+
     if [ -n "${CONFIG_MODULES}" ]; then
         echo Module.symvers >> ${obj_hdr_files}
     fi
diff --git a/meta/recipes-kernel/linux/linux-custom.inc b/meta/recipes-kernel/linux/linux-custom.inc
index 6aa70fd3..7e312b75 100644
--- a/meta/recipes-kernel/linux/linux-custom.inc
+++ b/meta/recipes-kernel/linux/linux-custom.inc
@@ -48,6 +48,8 @@ LINUX_VERSION_EXTENSION ?= ""
 
 KERNEL_DEFCONFIG ??= ""
 
+HEADERS_INSTALL_EXTRA ??= ""
+
 # Add our template meta-data to the sources
 FILESPATH:append := ":${FILE_DIRNAME}/files"
 SRC_URI += "file://debian"
@@ -84,6 +86,7 @@ TEMPLATE_VARS += "                \
     KAFLAGS                       \
     DISTRIBUTOR                   \
     KERNEL_EXTRA_BUILDARGS        \
+    HEADERS_INSTALL_EXTRA         \
 "
 
 inherit dpkg
@@ -224,6 +227,15 @@ do_prepare_build:prepend() {
 
 	# produce a changelog for our kernel build
 	deb_add_changelog
+
+	# make sure user-specified directories do exist in ${S}
+	if [ -n "${HEADERS_INSTALL_EXTRA}" ]; then
+		for d in ${HEADERS_INSTALL_EXTRA}; do
+			[ -d ${S}/${d} ] || {
+				bbfatal "HEADERS_INSTALL_EXTRA: '${d}' not found in \${S}!"
+			}
+		done
+	fi
 }
 
 # build directory for our "full" kernel build
-- 
2.39.2

-- 
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/isar-users/20240810215838.2098472-1-cedric.hombourger%40siemens.com.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-08-27 16:58 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-10 21:58 [PATCH] linux-custom: support vendor directories via HEADERS_INSTALL_EXTRA 'Cedric Hombourger' via isar-users
2024-08-11  8:10 ` 'Jan Kiszka' via isar-users
2024-08-11  8:35   ` 'cedric.hombourger@siemens.com' via isar-users
2024-08-11  9:04     ` 'Jan Kiszka' via isar-users
2024-08-12 11:41   ` 'MOESSBAUER, Felix' via isar-users
2024-08-12 11:57     ` 'cedric.hombourger@siemens.com' via isar-users
2024-08-12 12:14       ` 'Jan Kiszka' via isar-users
2024-08-27 15:48 ` Uladzimir Bely
2024-08-27 16:12   ` 'Jan Kiszka' via isar-users
2024-08-27 16:49     ` Uladzimir Bely
2024-08-27 16:58 ` Uladzimir Bely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox