From patchwork Sat Aug 10 21:58:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Cedric Hombourger X-Patchwork-Id: 3742 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Sat, 10 Aug 2024 23:59:05 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lj1-f191.google.com (mail-lj1-f191.google.com [209.85.208.191]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 47ALx42D001442 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sat, 10 Aug 2024 23:59:04 +0200 Received: by mail-lj1-f191.google.com with SMTP id 38308e7fff4ca-2ef311ad4bcsf30535041fa.0 for ; Sat, 10 Aug 2024 14:59:04 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1723327138; cv=pass; d=google.com; s=arc-20160816; b=dJdAhijfCj4xa15DVUOZMMqKwkA4PV646oOTAldD/IMrr1pIHRyKONyCKo4hd9+xSB mAT5wF8uMzLANKrpoOOAbRKLsNff45fWbSO3CQ6ruMK6M6oRTX96iG4m/2rayMrTGlaP B0xuvHtVCthqJl63vm8sL/XA8Actnfkhxv70OQlo2QqOrJQDGxyXxAqip5aVw4dhCiIh ARh5ea79zuzhx1nxANKQWcbJ/jVTVzjb7o0E2IHX3OTWwLV5inkIOI9+Zmdfjg6eGTG4 0ZNKB3xxptCr+t74udmDvKDsAjQeefkpjTI9WnS/W6wxYmg7jzCj1gT3oB9ChBCt1t9Q beRg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to:feedback-id:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=sFfD0mjQl/NZdzCprUJgQUns7HlKw97S4qx8RqLFIVw=; fh=H4qidnPkgZ4qea2hksYLIIfKcgt7H8utOO3ALuWt+Fs=; b=vAtsIb2OzTGLl53hOKHFnA1ohwhmTjX+nqFhTNCr/lOrZDA4BJokw1fCC8vya8azT0 QXGNUSxHbwQQNotXg9L90Y5YKhOmhBJClBrxrXiCdMBunqsZNnjjecm3I3C4BO3nQ/2q E6bHLgtzvVQ/zory1vQ+lqR8yWsNQQQZ6E9AIxOS8ISRtIuh0L2D2O6NIq5HtHC5F5du fstru11WwiwDB3pcwuhgbDRET1ru8l4cInzC3gJJisAymf5x6oiYsJkH28yYFtHut/cj dH+00LOJDgf7laVd4/BSGUYMvFO6oF9KGNWd9NgFeYUJC073BJP0lnDaRLsxTyNbR3f/ VTFA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="A26uylj/"; spf=pass (google.com: domain of fm-1212295-20240810215854530da380e4325e053f-wy7adp@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1212295-20240810215854530da380e4325e053f-wy7Adp@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1723327138; x=1723931938; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=sFfD0mjQl/NZdzCprUJgQUns7HlKw97S4qx8RqLFIVw=; b=sYK2ptLdLXllM6aYtrK+CMPipM1XpFEi4fqAQQa4drB69u3vMAh8F4aGhdKz480Ovf /1BU8lXVjcFq0I1M+UpY5/wXg2WRFxcM+gFfZRLUFT7l5kDVnQNalWihXYAxn5q8E36d IqPw2Xwp7xaXr8Gdp2+LAWP4wzqkTK5bhPgLEt3QhkIwzKZtuIWebahPCZB9Whfz5Ygv w25VinIHJaGjoZEtQMfte7+nlvT9+7qOwcqjqlahxGa9OyAL7M6kNls6VpeY2ulzGh2Z 3Nh9L4Zs8oH3VjkjOp6EDiXVtiB2YIWBeHfmjUQc4CUM9kDlJIKGwwVygWvAxr2U2l6f GS2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1723327138; x=1723931938; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence:reply-to :x-original-authentication-results:x-original-sender:feedback-id :mime-version:message-id:date:subject:cc:to:from:x-beenthere :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sFfD0mjQl/NZdzCprUJgQUns7HlKw97S4qx8RqLFIVw=; b=ezKz9bITJV2d2dC6PvsaPaCNyatjgq61C2q9jP+f+Z6jyg/00CjzFaQ8aJfyco1Ky+ /tVEhxpjxzTcr4gkZNxDJ3OvQ04+p8Ok7+VUIZrT/qsoIe0VbV0nzYwyBt1YIm9omLKy E9PWzH3ff5B5T8sOD5NDjjqEsZVU5gmxxFwRqzh/k4/HGscMeaTZv+5jBngBeTycoWnx q+dp1eyB7s26E9shw3Dzj0aIc0QmJ3oXEvshihpMZYvAhujR8BXxhCOGN0VdIL67MWO+ WitVoV+jqSo6O8hOM0TzCmuFv0bv64v+SVcVu/e0bSACj8Po9Fzv9u1shn/l3IpyDnKW PAlg== X-Forwarded-Encrypted: i=2; AJvYcCUMKJ2wmn1+sLjo7coq/n742mhXfsfwSeuyjJzQzhA0voy3kIWeQHbpYmLBdff441TCG/Tfxk/QzcUq5pXymfrKFVlpU0c= X-Gm-Message-State: AOJu0Yw1kHDalqYKpu8Z0ik9XuMhtLguB3uEfChOqLazjBOQST8d7qzT iTwWF9ONZLrfzR8mur8XD1/+oOrp9Xz+gOpGoYOAqGHj1/5MtF10 X-Google-Smtp-Source: AGHT+IGd2KQbF0KwMGzHhTCoYBFJG9QPQfcWHXfXYysbn3fA9lRpiQ6zcW0OX9QH8VwXwfDLxEPC8A== X-Received: by 2002:a2e:1311:0:b0:2ee:8d04:7689 with SMTP id 38308e7fff4ca-2f1a6d170d6mr36578221fa.20.1723327137072; Sat, 10 Aug 2024 14:58:57 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:2a82:0:b0:2ef:2eec:5036 with SMTP id 38308e7fff4ca-2f19bc58406ls10026971fa.1.-pod-prod-09-eu; Sat, 10 Aug 2024 14:58:55 -0700 (PDT) X-Received: by 2002:a2e:6e11:0:b0:2f0:2027:7241 with SMTP id 38308e7fff4ca-2f1a6d24ba9mr37491191fa.29.1723327134755; Sat, 10 Aug 2024 14:58:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1723327134; cv=none; d=google.com; s=arc-20240605; b=EPFkZDhFHhXwQrkTPQP8O9ZnGfiQ5QRf1hy9JSE9lg2YGZiqEfRdsY8CZk3KMLW6P+ ox87awlanSr2Jk1DKVuu5JKO36/RrVtFdJeWD2nK01P0SXJIIea65GI9Fy6B+3IDitk3 HfeTGM9RaOODSfu0vq77N87R1qtbc2NMLCI3dL3nKwausX1bE8CUxpAptLLHLXSJUwcC SeQ8FAARaYPkhK6KbGpEPppbJTmnOrqva20L1WYhb/vbfjLVcPKJ3SwYL2655UUFNXeH 6+APXOBytrh15ejdBpWL2TLvSJyR9WG4IA/dqn1BGZxMDKLt4T/pt09D68wryKCkFz/1 f2lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=6aB1M2Ie0MLpZX1s/NV5kaw6f3ESpPySBQrjFdnBEnc=; fh=1z37pEVhqwMLlkT4FDzOga7XBsM6Rzv6sXOq0pipxqo=; b=MMy6HdBUrur5PerYBjX4EDPcw9tn9mQE/AL3Gcrmg0unApkgGdGz7CgnInOUWaPuRX beE04zpZBfJ+12uTWVu2M74rkZtHqAU4qyEmaFPb/f217t8ySCHAg/U6yVn4/aKOgbbX 5SjIWm/4/nuVQGr9ZQzToET92ajZoY6xI3gJWyq3aQ/UcOs0ke/pgMCPQ3pj/qj9jFOz 0oLaQYV5TNYZt32OfgVcxa5mXAxvF8Xks+OVGiq0TiLsgw8YSofheaoxNWEZUMvSVfTE TrQpGQOcLV4ZUSrkqVXVKISpmylFgGbDdS7cYYtsejytUtQrzkD2P6E9O4hXOQSmujwA FHng==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="A26uylj/"; spf=pass (google.com: domain of fm-1212295-20240810215854530da380e4325e053f-wy7adp@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1212295-20240810215854530da380e4325e053f-wy7Adp@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: from mta-64-227.siemens.flowmailer.net (mta-64-227.siemens.flowmailer.net. [185.136.64.227]) by gmr-mx.google.com with ESMTPS id 5b1f17b1804b1-429c9c9e648si704475e9.1.2024.08.10.14.58.54 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 10 Aug 2024 14:58:54 -0700 (PDT) Received-SPF: pass (google.com: domain of fm-1212295-20240810215854530da380e4325e053f-wy7adp@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) client-ip=185.136.64.227; Received: by mta-64-227.siemens.flowmailer.net with ESMTPSA id 20240810215854530da380e4325e053f for ; Sat, 10 Aug 2024 23:58:54 +0200 X-Patchwork-Original-From: "'Cedric Hombourger' via isar-users" From: Cedric Hombourger To: isar-users@googlegroups.com Cc: Cedric Hombourger Subject: [PATCH] linux-custom: support vendor directories via HEADERS_INSTALL_EXTRA Date: Sat, 10 Aug 2024 23:58:38 +0200 Message-Id: <20240810215838.2098472-1-cedric.hombourger@siemens.com> MIME-Version: 1.0 X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1212295:519-21489:flowmailer X-Original-Sender: cedric.hombourger@siemens.com X-Original-Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b="A26uylj/"; spf=pass (google.com: domain of fm-1212295-20240810215854530da380e4325e053f-wy7adp@rts-flowmailer.siemens.com designates 185.136.64.227 as permitted sender) smtp.mailfrom=fm-1212295-20240810215854530da380e4325e053f-wy7Adp@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com X-Original-From: Cedric Hombourger Reply-To: Cedric Hombourger Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-Spam-Status: No, score=-4.9 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED,RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE, SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= 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 --- 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="`. + +### 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