[PATCH 1/2] make kernel module build reproducible

11 views
Skip to first unread message

Felix Moessbauer

unread,
Sep 13, 2024, 11:16:59 AM9/13/24
to isar-...@googlegroups.com, jan.k...@siemens.com, Felix Moessbauer
The debug information of kernel modules contain absolute file paths
into the builder schroot. To fix this, we inject a debug-prefix-map,
similar to how it is already done for the kernel build. While doing
that, we also enable the user to inject other KCFLAGS and KAFLAGS as
well.

Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
meta/recipes-kernel/linux-module/files/debian/rules.tmpl | 2 +-
meta/recipes-kernel/linux-module/module.inc | 6 ++++++
2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-kernel/linux-module/files/debian/rules.tmpl b/meta/recipes-kernel/linux-module/files/debian/rules.tmpl
index bc4e09cb..7511a17d 100755
--- a/meta/recipes-kernel/linux-module/files/debian/rules.tmpl
+++ b/meta/recipes-kernel/linux-module/files/debian/rules.tmpl
@@ -49,7 +49,7 @@ override_dh_auto_clean:
$(MAKE) -C $(KDIR) M=${MODULE_DIR} clean

override_dh_auto_build:
- $(MAKE) -C $(KDIR) M=${MODULE_DIR} $(PARALLEL_MAKE) modules
+ $(MAKE) -C $(KDIR) M=${MODULE_DIR} $(PARALLEL_MAKE) KCFLAGS="${KCFLAGS}" KAFLAGS="${KAFLAGS}" modules
ifneq ($(filter pkg.sign,$(DEB_BUILD_PROFILES)),)
find . -name "*.ko" -print -exec $(KDIR)/scripts/sign-file ${SIGNATURE_HASHFN} ${SIGNATURE_KEYFILE} ${SIGNATURE_CERTFILE} {} \;
endif
diff --git a/meta/recipes-kernel/linux-module/module.inc b/meta/recipes-kernel/linux-module/module.inc
index 229e6a5c..344dc50f 100644
--- a/meta/recipes-kernel/linux-module/module.inc
+++ b/meta/recipes-kernel/linux-module/module.inc
@@ -48,6 +48,8 @@ TEMPLATE_VARS += " \
KERNEL_TYPE \
KERNEL_IMAGE_PKG \
KERNEL_HEADERS_PKG \
+ KCFLAGS \
+ KAFLAGS \
MODULE_DIR \
DEBIAN_BUILD_DEPENDS \
SIGNATURE_KEYFILE \
@@ -55,6 +57,10 @@ TEMPLATE_VARS += " \
SIGNATURE_HASHFN \
PN"

+# Add custom cflags to the kernel build
+KCFLAGS ?= "-fdebug-prefix-map=${CURDIR}=. -fmacro-prefix-map=${CURDIR}=."
+KAFLAGS ?= "-fdebug-prefix-map=${CURDIR}=."
+
do_prepare_build() {
rm -rf ${S}/debian
cp -r ${WORKDIR}/debian ${S}/
--
2.39.2

Uladzimir Bely

unread,
Sep 19, 2024, 9:18:08 AM9/19/24
to Felix Moessbauer, isar-...@googlegroups.com
On Fri, 2024-09-13 at 17:16 +0200, 'Felix Moessbauer' via isar-users
wrote:
Applied to next, thanks.

--
Best regards,
Uladzimir.
Reply all
Reply to author
Forward
0 new messages