From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7309443372325797888 X-Received: by 2002:a67:f047:0:b0:464:55d4:b41f with SMTP id q7-20020a67f047000000b0046455d4b41fmr742172vsm.0.1701862405303; Wed, 06 Dec 2023 03:33:25 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ad4:548a:0:b0:67a:a4db:90b4 with SMTP id pv10-20020ad4548a000000b0067aa4db90b4ls846000qvb.1.-pod-prod-08-us; Wed, 06 Dec 2023 03:33:24 -0800 (PST) X-Google-Smtp-Source: AGHT+IEXOWWQKtVndLWXf0TxequlRca1+RDRZhb694r+NE1EoMPmHWzFMXAwcC/9tFnKQHi+AYQM X-Received: by 2002:ad4:4052:0:b0:67a:3506:afdf with SMTP id r18-20020ad44052000000b0067a3506afdfmr701514qvp.61.1701862404254; Wed, 06 Dec 2023 03:33:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701862404; cv=none; d=google.com; s=arc-20160816; b=SBa4f5/0ZMxgWa7+SaLpRYsYdj8MZAm6KrKbmNOxlUleO/82YTfKTDFu8GV5WewayW JwXzNf9g5PgfOKcyoZR0kBD+1BKkXfTXpRfNg4ZGAzJWMuWvZeM3bPb0HEUp80j7ikCc xGI5T2Bj1cMMIXE3zwh1clPo0RvsbHJvxIeprmdNlpVgy5wKY9F/8DwR4+3Hx0Kn5cmg +dFlrMz+RlpEYLp6ipnhIq51RUT/tWq5U1rhuQeQZ8myTORMBUC7XX1aFS7V04u9iwUK 9TfG1M3pX8uRbB96ZHTnm1MKC3uvPaquIClG0GYjpw6pLiBW5fXmnsrjjlJNSrZIT7I3 y1zw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=feedback-id:content-transfer-encoding:mime-version:message-id:date :subject:cc:to:from:dkim-signature; bh=hN1dTAurpppqyehmnkKTa5Xf8pULf1RtJLMxGi/q5Ow=; fh=2vPEtVRFZgJExMSCfX53nKBFsjiPYp/60rbGy5S5Mwo=; b=P3WcDJLsq9xj0GRSAIc0DhUYlmIhhznNjFXR/zr9uJythXm4mmgRP77SUKrWbsduzi a8okshuxx+GG4rnzlLVK1JizAR8ToVuahG++5Yip3pkvlj2y4FJ6EWaBY/2DnGyxHPpz Qn8aeAj+PJUAFM7eJi58IalZpd4+nkrTfbPVqQ079s0TaHCSbfjmZBRVCNVncfFynK40 jkg89ve/oVwYWCdOhmHm+wEfUAMlMYYVVxU2cSVpXBgR6TTMhhA/vodNd8nvQLBLMnY9 V6SPSpDhz/eHdqR4MihC3XnyzI+LLxr3KyTDeJDZSL17ArqOsybZsRkQ5ood0XylPMxr sCcA== ARC-Authentication-Results: i=1; gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=bt4MAd0h; spf=pass (google.com: domain of fm-1321639-20231206113322890ee0009f64053388-jwki9z@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1321639-20231206113322890ee0009f64053388-JWKi9z@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Return-Path: Received: from mta-64-228.siemens.flowmailer.net (mta-64-228.siemens.flowmailer.net. [185.136.64.228]) by gmr-mx.google.com with ESMTPS id gy1-20020a056214242100b0067abbc1779bsi838181qvb.4.2023.12.06.03.33.24 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 06 Dec 2023 03:33:24 -0800 (PST) Received-SPF: pass (google.com: domain of fm-1321639-20231206113322890ee0009f64053388-jwki9z@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) client-ip=185.136.64.228; Authentication-Results: gmr-mx.google.com; dkim=pass header.i=@siemens.com header.s=fm1 header.b=bt4MAd0h; spf=pass (google.com: domain of fm-1321639-20231206113322890ee0009f64053388-jwki9z@rts-flowmailer.siemens.com designates 185.136.64.228 as permitted sender) smtp.mailfrom=fm-1321639-20231206113322890ee0009f64053388-JWKi9z@rts-flowmailer.siemens.com; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=siemens.com Received: by mta-64-228.siemens.flowmailer.net with ESMTPSA id 20231206113322890ee0009f64053388 for ; Wed, 06 Dec 2023 12:33:23 +0100 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; s=fm1; d=siemens.com; i=felix.moessbauer@siemens.com; h=Date:From:Subject:To:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding:Cc; bh=hN1dTAurpppqyehmnkKTa5Xf8pULf1RtJLMxGi/q5Ow=; b=bt4MAd0h3f8k2TJo2RYqJ0KwI0hsDrtVP6Vty6kaObrC7VWdS6bsKZBpwEYqF0OfgdVP1H 9CuIBNDDgM8q05OyLPImMesBXDXhIw2shOcSoJ2cg+GCEdocw93JuwYakfohQ0pibLwJlu1c b6jgTo3Pokk42tGe8ZyjygHHS3exg=; From: Felix Moessbauer To: isar-users@googlegroups.com Cc: jan.kiszka@siemens.com, Felix Moessbauer Subject: [PATCH 1/1] add support for non-default modules dir in linux-module Date: Wed, 6 Dec 2023 19:33:12 +0800 Message-Id: <20231206113312.93461-1-felix.moessbauer@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Flowmailer-Platform: Siemens Feedback-ID: 519:519-1321639:519-21489:flowmailer X-TUID: qil0J9nBP2I6 When building a custom kernel module, the `KBuild` file might be located in a subdirectory. To support this use-case, set `MODULE_DIR=$(PWD)/subdir` in the module build recipe. Previously some sed replacements of the generated rules file where needed to support this, in case the modules dir referenced files in parent directories. Signed-off-by: Felix Moessbauer --- RECIPE-API-CHANGELOG.md | 6 ++++++ meta/recipes-kernel/linux-module/files/debian/rules.tmpl | 6 +++--- meta/recipes-kernel/linux-module/module.inc | 3 +++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/RECIPE-API-CHANGELOG.md b/RECIPE-API-CHANGELOG.md index 9d1fa540..bea12871 100644 --- a/RECIPE-API-CHANGELOG.md +++ b/RECIPE-API-CHANGELOG.md @@ -560,3 +560,9 @@ Default value is '-I' which sets filter to: Use `IMAGER_INSTALL:wic` instead of `WIC_IMAGER_INSTALL`. The latter is still supported, but a warning is issued when it is used. Future versions will drop `WIC_IMAGER_INSTALL` completely. + +### Add MODULE_DIR to decouple sources dir from modules dir in custom-module + +When building a custom kernel module, the `KBuild` file might be located in +a subdirectory. To support this use-case, set `MODULE_DIR=$(PWD)/subdir` in +the module build recipe. diff --git a/meta/recipes-kernel/linux-module/files/debian/rules.tmpl b/meta/recipes-kernel/linux-module/files/debian/rules.tmpl index 7d950e38..bc4e09cb 100755 --- a/meta/recipes-kernel/linux-module/files/debian/rules.tmpl +++ b/meta/recipes-kernel/linux-module/files/debian/rules.tmpl @@ -46,16 +46,16 @@ KDIR := $(shell dpkg -L $(KERNEL_DEP) | grep "/lib/modules/.*/build") endif override_dh_auto_clean: - $(MAKE) -C $(KDIR) M=$(PWD) clean + $(MAKE) -C $(KDIR) M=${MODULE_DIR} clean override_dh_auto_build: - $(MAKE) -C $(KDIR) M=$(PWD) $(PARALLEL_MAKE) modules + $(MAKE) -C $(KDIR) M=${MODULE_DIR} $(PARALLEL_MAKE) modules ifneq ($(filter pkg.sign,$(DEB_BUILD_PROFILES)),) find . -name "*.ko" -print -exec $(KDIR)/scripts/sign-file ${SIGNATURE_HASHFN} ${SIGNATURE_KEYFILE} ${SIGNATURE_CERTFILE} {} \; endif override_dh_auto_install: - $(MAKE) -C $(KDIR) M=$(PWD) INSTALL_MOD_PATH=$(PWD)/debian/${PN} modules_install + $(MAKE) -C $(KDIR) M=${MODULE_DIR} INSTALL_MOD_PATH=$(PWD)/debian/${PN} modules_install %: CFLAGS= LDFLAGS= dh $@ diff --git a/meta/recipes-kernel/linux-module/module.inc b/meta/recipes-kernel/linux-module/module.inc index 333c66bc..269da6ae 100644 --- a/meta/recipes-kernel/linux-module/module.inc +++ b/meta/recipes-kernel/linux-module/module.inc @@ -10,6 +10,8 @@ FILESPATH:append := ":${FILE_DIRNAME}/files" DESCRIPTION ?= "Custom kernel module ${PN}" KERNEL_NAME ?= "" +# directory with KBuild file (M=${MODULE_DIR}) +MODULE_DIR ?= "$(PWD)" PN .= "-${KERNEL_NAME}" @@ -36,6 +38,7 @@ TEMPLATE_VARS += " \ KERNEL_TYPE \ KERNEL_IMAGE_PKG \ KERNEL_HEADERS_PKG \ + MODULE_DIR \ DEBIAN_BUILD_DEPENDS \ SIGNATURE_KEYFILE \ SIGNATURE_CERTFILE \ -- 2.39.2