From patchwork Tue Aug 25 20:49:26 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anis Bougrine X-Patchwork-Id: 96316 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 55A7BC61DC2 for ; Tue, 25 Aug 2026 20:50:08 +0000 (UTC) Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.32362.1787691005108999087 for ; Tue, 25 Aug 2026 13:50:05 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=VH6e0kSH; spf=pass (domain: gmail.com, ip: 209.85.128.52, mailfrom: anis.bougrine10@gmail.com) Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-490cf322ed0so1462855e9.1 for ; Tue, 25 Aug 2026 13:50:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787691003; x=1788295803; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=vQe+XyYeIqynn3tmbu4xipYLPKPeG9Nn9qDbJtasgM0=; b=VH6e0kSHj5cuFJz59kX75SJ9WGoi4rP5rnY+pSrooeIohpb8jeTCMBE1RhuzLyPV3k rxPGfjzy6DG8csLyLY0cfqyTkjunp3FwLXiSZRKX2dres8o5jXGDN+MXCl9Qf4sL9UJg wavk3C7dpnP3wcaB+domcoEphAuKf5hdwYGpWvyW8GTgLzq4Es85hy/iqvIJiA6YXDIT FbAhwvuyfTPLLxAxCLSMD676DwurIAUGxiRyNcpjRciwHTpolUg2ZPmxK4yWcVJtuyJY r2wxo5iGamgFmTpglyWCdRSJ5EI7JSnl/RqKA+Ujfas2W+1GlAxfB6vRTR4QheXZaIkR FY4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787691003; x=1788295803; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=vQe+XyYeIqynn3tmbu4xipYLPKPeG9Nn9qDbJtasgM0=; b=Do9VwBXMwGY113QVbFUdFfcVEbNt0K0L0hRatPu3nxL/ExyYNH1g/KKpSyaRYzuOgU G83G0bLZS4wW0l697B/h1R0uZR43uAop1SCRrt73qLDWniGCmwEjKhXvcLSHIWZ3bDF8 OnfBYdd7ekc6OIMhlOmdIPQb0IjYYzzn+FOX98qjz/Lh3CFFxyDOUkqhFwVXB2hJwHOv Py1HkR8Sk0odu+0wzVRy0IeRTqxLDjum8xDy31iR0R+lXvnTs54K0638iP4KmZJi7NUg F9HNWiQGydNCzn76xSzPDVIR3HMSQdzt4jsMH2Nno74IKnVlqFx7SWyc1nKldeZJXish VV1w== X-Gm-Message-State: AFuF++mMFfpQ+P7quehY8/H+JIJcKDY30QEP5czLwFbHnzKySWvX34bf SfIrTSMKRK3N9ny6o/QGp7G5Sn7qYUlZ3BgD6bPdUnR3b1J1pPDy3Txmxqkk6pe4dhQ= X-Gm-Gg: AR+sD12ncqRgwLP7uyHVp2codCtEOoYoM9zlEkmieujmRUPQtjl0wSn9Q7CJYl6RspH TLd+pcZQDtyWzMK1uazDt/Dpk4s8espzrJKKnQwNqU4pJHBzUPz6yoeTIk7dJPuclPa/XLuyNUd GD/v0XdOaE3yynDtABXELWYwnukk1HpYsmXo2EklZaUeremvMWFnU1CHB5oXj/tJPVSik5bgNCQ H2foOSUDs2w16pm9I04NcU3mG5AEBTB5O/1cvcMlymWfTnW8Jn1lJtd78Hz4hT2hJuOxZ0lmFIp aq1dRnH/ypcakRpX8Vf/Fi8EVgEh2IcB/6QLr3e2ZkO2HocAqq3mbIhsxcMyoxJ9iv3Mk8t7Ifl SfyXstIqFJLCDqEO5HGgvmLn/nOOn5bCye8n4qlxTbnsyE6eMqIsKUiJ8O9ODq5FITMkHqD1z8Y s2gErenrIK5Y2IVFWl+dhjzWZkBODsPvpB0OLlHOftdIcgcCpzL1ncX3pvueijW/F38vuKjx5iS gV8o6OcdsjEodMPEa7HSlhQd7H603qYiXbPO15tw7yOJ4XiMIZ+liw+iX3b3MBWDXofowWTSYcE JII9IGdifdGM X-Received: by 2002:a05:600c:3b13:b0:499:a760:722f with SMTP id 5b1f17b1804b1-499dc72515fmr13713355e9.13.1787691003277; Tue, 25 Aug 2026 13:50:03 -0700 (PDT) Received: from device-137.home ([2a01:cb15:80cf:2100:f9af:e499:eded:1124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dca98095sm4507845e9.5.2026.08.25.13.50.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 25 Aug 2026 13:50:02 -0700 (PDT) From: Anis Bougrine To: openembedded-core@lists.openembedded.org Cc: mathieu.dubois-briand@bootlin.com, richard.purdie@linuxfoundation.org, peter.kjellerstedt@axis.com, Anis Bougrine , Ross Burton Subject: [OE-core][PATCH v5 1/5] kernel-module-split.bbclass: add get_ext_mod function for module signing Date: Tue, 25 Aug 2026 22:49:26 +0200 Message-ID: <20260825204931.17628-2-anis.bougrine10@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260825204931.17628-1-anis.bougrine10@gmail.com> References: <20260825204931.17628-1-anis.bougrine10@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 20:50:08 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244275 Fixes [YOCTO #12927] Out-of-tree module Makefiles invoke the kernel Makefile by appending the M= (the module directory) variable to the MAKEFLAGS. However, they usually do not provide a modules_sign target. Therefore, the kernel modules_sign target has to be invoked manually after retrieving M= variable from package source code Makefile. This function retrieves the M= variable from an external module Makefile. Reported-by: Ross Burton Signed-off-by: Anis Bougrine --- .../kernel-module-split.bbclass | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/meta/classes-recipe/kernel-module-split.bbclass b/meta/classes-recipe/kernel-module-split.bbclass index ab2f0d1c37..bde7cd02dd 100644 --- a/meta/classes-recipe/kernel-module-split.bbclass +++ b/meta/classes-recipe/kernel-module-split.bbclass @@ -42,6 +42,27 @@ KERNEL_MODULE_PACKAGE_PREFIX ?= "" KERNEL_MODULE_PACKAGE_SUFFIX ?= "-${KERNEL_VERSION}" KERNEL_MODULE_PROVIDE_VIRTUAL ?= "1" +def get_ext_mod(d): + """ + Extract the resolved Kbuild M= variable from an out of tree module Makefile variable database. + """ + import re + import bb.process + + try: + output = bb.process.run( + "make -C %s --dry-run --print-data-base" % d.getVar("B") + )[0] + except bb.process.ExecutionError: + return d.getVar("S") + + for line in output.splitlines(): + m = re.match(r'^M\s*=\s*(.*)$', line) + if m: + return m.group(1).strip() + + return d.getVar("S") + python split_kernel_module_packages () { import re From patchwork Tue Aug 25 20:49:27 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anis Bougrine X-Patchwork-Id: 96315 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4617CC61DB9 for ; Tue, 25 Aug 2026 20:50:08 +0000 (UTC) Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.32363.1787691007382233030 for ; Tue, 25 Aug 2026 13:50:07 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=A4osxpi4; spf=pass (domain: gmail.com, ip: 209.85.128.49, mailfrom: anis.bougrine10@gmail.com) Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-49556f97a9dso982885e9.1 for ; Tue, 25 Aug 2026 13:50:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787691006; x=1788295806; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=qcAY5phukPhDG9j6gQXxCiC7402vHsTFsP0BZvHX64c=; b=A4osxpi4875ehYysv2RYm/odzsQlhPT2Hbr+nEs5giVocrrNa8l7m0DLplMmzD/Ff+ vEchFcXoA3wvOa1+0NxhFEogF6T5UUPYvlc2eJYAeMwkIqH37/q6uSDK3OEcGdnPTscc Gv2K7XDvoVS4eYnq34z/JGqPRtZjMSTKuiUf8Mw9mFUnsEqhuonj4Zkiny1XxR/s+CGE 5D2BsiqZyzTAznx0iaCamS4kT0ELYOOBAnnC8/8VybaHiUdeF+uix1Szaaf80JJ6XwDh TLMuPKxzDYMEFL8++bteNIZkuwNT1y9iyRtoAWHZ8+mhxGtfJna9mE44ID8O04WZdY0k saiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787691006; x=1788295806; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=qcAY5phukPhDG9j6gQXxCiC7402vHsTFsP0BZvHX64c=; b=hePLkp8i7IBKJrXyat1/J01csksqT3/0l13xjYnD4YwUqndleqOKmev/fx6mzYFxlN +mpu9KALzwzxFHEiaGMy+o4qcbQxRZidoMutXbuzNU1BgFqD/qaa88qZwI8gWOhqgcN8 Q6MDSUMiDwg4Sd1sHLCq9OBHpZQT/vf/OojZfWinYpu9NyDSFSHz01RdnztK9XNNaDaU uoNx18d9zaIO/tA7T83EyzEuqZyLBTLN8jmCMm8YiN7Q83ZFNTEIeoaGb9PFcC6AKNbd e3YhU0J6wEfqBn6YtTMLx9G2fSD7SSo9V44ezyCZGU5Laaz+ZZOeNd2j5xGlOAToxfEd rFxQ== X-Gm-Message-State: AFuF++luZIwXF1JJ85aNodTDBpg3gIS4PpMsYEd54iPF//SBRNxfGLYb uWvLYhXyN2WmujxM+mrMeRV1hovCzeqAAJfmQDyM+NkMNAEDsB4jjIEwjGMnHOJa+6Y= X-Gm-Gg: AR+sD1132/Ax7eXcooIrp5XMZJs7Fm4g71mX//8ip5kKViuCalc896hZzDqzh6dVbcT rZUwSFWBY4AiyYCi5q+m+tt8w/1DatT8L5QAhFsvPyHN30uRpQnFZeNOVUhfSL8brBy3lljI4SO A3VrdY8Nj+CRH6nfQEZTvBSos7K3fzwBacEE6ki6tX6ytuwqemSR4PKZrY8UB4B01BoKLSS39Zb 3yjBIiO4HfFRufVd4mMDxyuDgg2/Q7QK3SRUtsMY2jt6x/O5nl3AsGSXEQQXrsIrEULuUBOzqe8 O5s18/3E7loZN4UJPgpD4r8gZcDCrPZd5ppGN4YJDyZt6A8qX7OaIb6NwskEv8HULb/FipM11K7 092JxLvNPylPH8A2La9RssEufztFd8MA/fokecWyEDX76uwD6U+FoxgAW2epwaLGey2jqZx3gwY QqnxIqgTcOHck2dnmla6c9dEx/vn64/cssDJ6jJ0zQK53Q3xUjkCHHZ3Ok7xW/ERx0xbX91ArsA aN78fJXullF4517Z+bMtbJlSmST1ruxAiX62KOKVVwpKni0W1q0dGICzXDHxQIjmEXTEJYgkLOb HPNNFO541/cl X-Received: by 2002:a05:600c:4505:b0:499:8ff5:8ec4 with SMTP id 5b1f17b1804b1-499dc6e4095mr16994435e9.3.1787691005564; Tue, 25 Aug 2026 13:50:05 -0700 (PDT) Received: from device-137.home ([2a01:cb15:80cf:2100:f9af:e499:eded:1124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dca98095sm4507845e9.5.2026.08.25.13.50.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 25 Aug 2026 13:50:05 -0700 (PDT) From: Anis Bougrine To: openembedded-core@lists.openembedded.org Cc: mathieu.dubois-briand@bootlin.com, richard.purdie@linuxfoundation.org, peter.kjellerstedt@axis.com, Anis Bougrine , Ross Burton Subject: [OE-core][PATCH v5 2/5] kernel: re-sign kernel modules after package stripping process Date: Tue, 25 Aug 2026 22:49:27 +0200 Message-ID: <20260825204931.17628-3-anis.bougrine10@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260825204931.17628-1-anis.bougrine10@gmail.com> References: <20260825204931.17628-1-anis.bougrine10@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 20:50:08 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244276 Fixes [YOCTO #12927] Currently, signed kernel modules are not stripped in order to preserve their valid signatures. See commit 4c47e5f. Therefore, this commit makes kernel modules stripped and correctly signed. Two options are possible: - Strip the kernel modules after installation and before signing. - Re-sign the kernel modules after stripping and before package splitting. The first option was rejected because debug symbols would be dropped early in the build workflow, which may impact the SPDX process. The second option is adopted because it does not impact the build flow. Reported-by: Ross Burton Signed-off-by: Anis Bougrine --- .../kernel-module-split.bbclass | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/meta/classes-recipe/kernel-module-split.bbclass b/meta/classes-recipe/kernel-module-split.bbclass index bde7cd02dd..da7b30e99f 100644 --- a/meta/classes-recipe/kernel-module-split.bbclass +++ b/meta/classes-recipe/kernel-module-split.bbclass @@ -35,6 +35,11 @@ modprobedir ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${nonarch_b KERNEL_SPLIT_MODULES ?= "1" PACKAGESPLITFUNCS =+ "split_kernel_module_packages" +# Order matters: +# 1. Strip the modules +# 2. Re-sign the modules (if enabled) +# 3. Split the packages +PACKAGESPLITFUNCS =+ "post_strip_kernel_modules_signing" KERNEL_MODULES_META_PACKAGE ?= "${@ d.getVar("KERNEL_PACKAGE_NAME") or "kernel" }-modules" @@ -63,6 +68,26 @@ def get_ext_mod(d): return d.getVar("S") +# This function supports both in-tree and out-of-tree modules. +post_strip_kernel_modules_signing(){ + # Read .config values to determine if module auto-signing is enabled + is_modules="$(${STAGING_KERNEL_DIR}/scripts/config --file ${KBUILD_OUTPUT}/.config --state MODULES)" + is_module_sig="$(${STAGING_KERNEL_DIR}/scripts/config --file ${KBUILD_OUTPUT}/.config --state MODULE_SIG)" + is_module_sig_all="$(${STAGING_KERNEL_DIR}/scripts/config --file ${KBUILD_OUTPUT}/.config --state MODULE_SIG_ALL)" + + if [ "$is_modules" = "y" ] && [ "$is_module_sig" = "y" ] && [ "$is_module_sig_all" = "y" ]; then + # Sign modules under ${PKGD}, with M= if out-of-tree module. + # Out-of-tree module Makefiles invoke the kernel Makefile by appending M= (the module directory) to MAKEFLAGS. + # However, they usually do not provide a modules_sign target. Therefore, the kernel modules_sign target has to + # be invoked manually after retrieving M= variable from package source code Makefile. + oe_runmake \ + -C ${KBUILD_OUTPUT} \ + MODLIB=${PKGD}${nonarch_base_libdir}/modules/${KERNEL_VERSION} \ + ${@'M=${@get_ext_mod(d)}' if not "virtual/kernel" in d.getVar('PROVIDES') else ''} \ + modules_sign + fi +} + python split_kernel_module_packages () { import re From patchwork Tue Aug 25 20:49:28 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anis Bougrine X-Patchwork-Id: 96317 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 59772C61DBD for ; Tue, 25 Aug 2026 20:50:18 +0000 (UTC) Received: from mail-wm1-f42.google.com (mail-wm1-f42.google.com [209.85.128.42]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.31930.1787691009521216675 for ; Tue, 25 Aug 2026 13:50:09 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=CoAVvPh3; spf=pass (domain: gmail.com, ip: 209.85.128.42, mailfrom: anis.bougrine10@gmail.com) Received: by mail-wm1-f42.google.com with SMTP id 5b1f17b1804b1-49554ebb87dso1608945e9.3 for ; Tue, 25 Aug 2026 13:50:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787691008; x=1788295808; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=5qSvb5QMgjn9VY62lxA2lAF4XB0Y0EtVxVEboMw/XGw=; b=CoAVvPh3+AiatbAGQBRX5oW+XwFnr+s5YjYI1SCYo+VFxX1Urf1t8nFLjWS06b3eGM PfsF3ExcWyxdtYnrMmZfVfe4D2VoGtGq3WJtASnzcdioUycbsviEk6uQi/gk5rS1sInc x3rHrEuTac5hAYHC8bHkNGU34wffQK8BJ7lYS9HuY8hGbsBiaY678pQsbtD8oMSfuWeV YqZHVs9f2sEv+/wp6EQ+OuRCwG+XNusJ8bAtFBmL5pdCX93yTk/EEeStrl52aG6arbA3 O1RFLFxKPYQBFqqMzOc/jHSj66oZMLWjghh4x/7t5w4eF4P/WQk8a6qhMH0Oo2/cV2lC MlNA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787691008; x=1788295808; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=5qSvb5QMgjn9VY62lxA2lAF4XB0Y0EtVxVEboMw/XGw=; b=FH3V5K08w/VpcEwPkyZAcpuJsC+hNT6AEY6rCKXObpLrRLvzifN2NXiBKbaFLLpwlA HsZF6Xi4jyOjfni+80Crc8nOlDx0Rife4zUTRBBP6imYLxq+/GIWH7GKx3xwKlthtMzP R8bYO4M975pqy8Ffr1/A4ab8WPQ25IWV8+VJEMRrBc4HUcrMDhsbKdHqnOY7d6lXtUa9 6hH93G4tVRHKx010iR81vXD79LapwUeysyWNa8c4g2g0oCONaDyWzwuxRFwRYgQjQo88 OVemrWih6m/3PTdxwk6CI9f03szjcvEDU+vRQXUnzParksHKcu0lZm4Qe5NAxebYSgv2 yaKw== X-Gm-Message-State: AFuF++m0EfLplnk7F0YsfQ3qS3/h1Ar0fzxv25X4YdEhvJ13PiTMb9Dc U2cRegakFJ1nlEBZRJlwIinE+UJ+MANkODZweHWWkLuNyA4hQLcy7VRU7s8xbhyZ1T4= X-Gm-Gg: AR+sD13KRtWhiBCJzFEe9HUUAxTRUpzM4WOwKVFqCh+npMI6K4+L6aRpmVVRDY6IE3A WpMp67sIvIq68+GLZFyraAVEnNdl+27ndwCRAAVTKAGY4C8muh38e2KXeASsmc/BSh0un2aCv83 rElhRATu5NnmwGMQ17V5ftzrl7kR6GYycptdk8YnjGCqn2cgoN2+8ilJngPTyo4g26evis+vdLQ L8oZGGud4PEjtAr75im9Vm3ypvx2XthB+0IvUwYSwrPUrCsGMOrxy/UeMSsP4ZrTyV+A9WhejHC 8+BRXZnwgVIR/SvKRo0u/O0T4JTTeyBwheqI0F6NV3MqTdZLEG9Iaw+0VGGxwFY39Pokql/eQ8z qEo3dgBsk3B9C3Q967K3uyKvuPNroOtgthvjzRJNqO84z7irUblaDiBMICnkV3CSVg7gSLCVshO CB4pn23qzUR1vxhFplkQsv+pSq0r/quOIlr9cqUltXveIBj5rrXhjF0zZ+w+IFsxKw1lQDd3yhJ Vv+u05DwEfng1JH/r7kd95OMLDMNdBvdHDNAzG3n6mbRYFs8hz4zamygDqs7IcUH5WEtMmbgJwg imwJIVEeOp7k X-Received: by 2002:a05:600c:4505:b0:499:8ed2:8234 with SMTP id 5b1f17b1804b1-499dc6a1ee8mr16448205e9.0.1787691007500; Tue, 25 Aug 2026 13:50:07 -0700 (PDT) Received: from device-137.home ([2a01:cb15:80cf:2100:f9af:e499:eded:1124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dca98095sm4507845e9.5.2026.08.25.13.50.06 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 25 Aug 2026 13:50:07 -0700 (PDT) From: Anis Bougrine To: openembedded-core@lists.openembedded.org Cc: mathieu.dubois-briand@bootlin.com, richard.purdie@linuxfoundation.org, peter.kjellerstedt@axis.com, Anis Bougrine , Ross Burton Subject: [OE-core][PATCH v5 3/5] package.py: remove stripping and splitting skip for signed kernel modules Date: Tue, 25 Aug 2026 22:49:28 +0200 Message-ID: <20260825204931.17628-4-anis.bougrine10@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260825204931.17628-1-anis.bougrine10@gmail.com> References: <20260825204931.17628-1-anis.bougrine10@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 20:50:18 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244277 Fixes [YOCTO #12927] Now kernel modules are re-signed after package stripping process. Therefore, they can be stripped and splitted securely. Reported-by: Ross Burton Signed-off-by: Anis Bougrine --- meta/lib/oe/package.py | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index 4a244ec980..1657eaad93 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py @@ -36,16 +36,9 @@ def runstrip(file, elftype, strip, extra_strip_sections=''): os.chmod(file, newmode) stripcmd = [strip] - skip_strip = False - # kernel module: use --strip-debug and --preserve-dates (required for - # module signing to remain valid after stripping) + # kernel module if elftype & 16: - if is_kernel_module_signed(file): - bb.debug(1, "Skip strip on signed module %s" % file) - skip_strip = True - else: - stripcmd.extend(["--strip-debug", "--remove-section=.comment", - "--remove-section=.note", "--preserve-dates"]) + stripcmd.extend(["--strip-debug", "--remove-section=.comment", "--remove-section=.note"]) # .so and shared library elif ".so" in file and elftype & 8: stripcmd.extend(["--remove-section=.comment", "--remove-section=.note", "--strip-unneeded"]) @@ -59,8 +52,7 @@ def runstrip(file, elftype, strip, extra_strip_sections=''): stripcmd.append(file) bb.debug(1, "runstrip: %s" % stripcmd) - if not skip_strip: - output = subprocess.check_output(stripcmd, stderr=subprocess.STDOUT) + output = subprocess.check_output(stripcmd, stderr=subprocess.STDOUT) if newmode: os.chmod(file, origmode) @@ -70,13 +62,6 @@ def is_kernel_module(path): with open(path) as f: return mmap.mmap(f.fileno(), 0, prot=mmap.PROT_READ).find(b"vermagic=") >= 0 -# Detect if .ko module is signed -def is_kernel_module_signed(path): - with open(path, "rb") as f: - f.seek(-28, 2) - module_tail = f.read() - return "Module signature appended" in "".join(chr(c) for c in bytearray(module_tail)) - # Return type (bits): # 0 - not elf # 1 - ELF @@ -810,11 +795,6 @@ def splitdebuginfo(file, dvar, dv, d): debugfile = dvar + dest sources = [] - if file.endswith(".ko") and file.find("/lib/modules/") != -1: - if oe.package.is_kernel_module_signed(file): - bb.debug(1, "Skip strip on signed module %s" % file) - return (file, sources) - # Split the file... bb.utils.mkdirhier(os.path.dirname(debugfile)) #bb.note("Split %s -> %s" % (file, debugfile)) From patchwork Tue Aug 25 20:49:29 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anis Bougrine X-Patchwork-Id: 96319 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65FE5C61DB9 for ; Tue, 25 Aug 2026 20:50:18 +0000 (UTC) Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.31931.1787691011092642551 for ; Tue, 25 Aug 2026 13:50:11 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=aq42cwhR; spf=pass (domain: gmail.com, ip: 209.85.128.44, mailfrom: anis.bougrine10@gmail.com) Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-499b0eefa61so909465e9.2 for ; Tue, 25 Aug 2026 13:50:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787691009; x=1788295809; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=EZxbmmJDyEL6NdOzDIkIC6oG5e1O4HuUiWgKD6jrpw0=; b=aq42cwhRkNVP1aJmN6d5Ky5U3+r8f0ti1hHOzLT6s+7g25HKQ1mqrzG79xzVWKtV0H UD61jaERR6ZUcyuTxcqwZl0fAcvHDoAl6Uamw6kLovv5N+M6Tt5je5urG3uxgU2Yen+T gOc8BD4sFkWym+rWBN391LEn5JfTc9uX5fDUahgxhBNu/lSoPWKX/jS+HoA1t1BDa9VQ qco2j8URohFqqS9FOQXF26hYz9aa5cX1ny3Eslw+rbO08t0iwawsOARYCo9Mx69kccaI c3HUdGnsw1RrFvQc3QceWkQslMVvf0Tk2+dafSd+L4O0sUPdNUdVAJDl8kjBJtULpAPE eO2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787691009; x=1788295809; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=EZxbmmJDyEL6NdOzDIkIC6oG5e1O4HuUiWgKD6jrpw0=; b=eE7h1nTWpjLsWdo6dYqnnAhIHY3C9IS0qz4P8Le39SOW+F6Af/PPrRxcNbOZ6ahuvF oKV7rZ3Hzba246ntYgJ5bBQ3wanO6bDwKn880LXA/ByuJgi0TsbZ83wvYXkpruaFnaYr ElTWYWfGzMwbyfDG+r5OlSPcOCmHdS7057vkbb2MCzz5XEJlU0kTqxyg3KH+qM5A98h8 4q7HHYBqxvCGfMwgte3odYvRQsXeTLHmSPvSPiZ7e75vFlHfurFi8bFGdnpKdtJNqe6s pf1vx9PClCZXRYoBAfTVR8ZMzQVSdFRq0pvSsdUF0L/s7jdALH/h5W7CjyI0dWueFUAf DDNA== X-Gm-Message-State: AFuF++k7sQh0i9MNnO/fe2pERqMgwbSNGD/WPwGo0NdIrxvLHiWWELHh NhcslYvZaYCPWLyK2pOAmIPiknmfYVsYciKbNYVR8yMwYkDe4eI1SyXVq5zvuJ67O2c= X-Gm-Gg: AR+sD13enFj7yzQBrY/qk5AI16edKJyMRHEfWimBJ09NmJk1F12iQo9FnSJYWfy+eWL Yn8Qr4rDv0uh0wEELhD9MRRwcZ4GZ4DuTp7HRjhmvRBrKrty+aHf2uw/sbCzl9aMQ1m+g+xgRHm zxqQHRcl6IIrI0wzHUW2LM6rS/uPcQJFLrcnWWNT0p0lJkPLCPtcCZEmR9ast/MXs0N+KBEJFWI /OKTEvdaiCwN9pJyKOVN64q41dBYxdVyrFtvygYv/GHW7rNwz9EJeno0JboyzW+qhMsMHhvhnxp leOmJs+SC+BjvatC/KV8QxwW7x2hmO4nm9//oGMyTqHHEwWbaiBK68uyxsTsAmuBeBMzAyTwjP1 +FR/yslvjTAgWD3MYb6XVHS2mkbZHB+80Jm3K/+QWZkkYo1xRJ5Af1cmGGPRhAeRC23pVAupAs2 r4/mqn9XM3DMQjLQhGRefRbuTuxwSxdmduzIwspG5LR3NqFNWHRorAGRHSCB3GrwfFLSgzMJjR4 7G22ykEfxLIxz1cOfHaNn8XvGJB50+nHEkFLkVodjTMJ7payQFxofVLElZKUSUc3/pGMKqV5WAY Q4LAyNNevss9 X-Received: by 2002:a05:600c:3b8b:b0:499:7a19:408b with SMTP id 5b1f17b1804b1-499dc722993mr15238585e9.11.1787691009220; Tue, 25 Aug 2026 13:50:09 -0700 (PDT) Received: from device-137.home ([2a01:cb15:80cf:2100:f9af:e499:eded:1124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dca98095sm4507845e9.5.2026.08.25.13.50.08 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 25 Aug 2026 13:50:08 -0700 (PDT) From: Anis Bougrine To: openembedded-core@lists.openembedded.org Cc: mathieu.dubois-briand@bootlin.com, richard.purdie@linuxfoundation.org, peter.kjellerstedt@axis.com, Anis Bougrine Subject: [OE-core][PATCH v5 4/5] kernel: centralize kernel module installation path in one variable Date: Tue, 25 Aug 2026 22:49:29 +0200 Message-ID: <20260825204931.17628-5-anis.bougrine10@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260825204931.17628-1-anis.bougrine10@gmail.com> References: <20260825204931.17628-1-anis.bougrine10@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 20:50:18 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244278 The kernel module installation path is currently defined in multiple places, although it is used 10 times throughout the code. This increases the risk of bugs due to inconsistencies or desynchronization. Centralizing the path in a single variable makes the code more reliable and easier to maintain. This commit introduce KERNEL_MODULE_INSTALL_PREFIX to resolve this issue. Signed-off-by: Anis Bougrine --- meta/classes-recipe/kernel-arch.bbclass | 1 + meta/classes-recipe/kernel-module-split.bbclass | 2 +- meta/classes-recipe/kernel.bbclass | 12 ++++++------ meta/classes-recipe/module.bbclass | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/meta/classes-recipe/kernel-arch.bbclass b/meta/classes-recipe/kernel-arch.bbclass index 26b8a1a67f..91cceb8dc1 100644 --- a/meta/classes-recipe/kernel-arch.bbclass +++ b/meta/classes-recipe/kernel-arch.bbclass @@ -10,6 +10,7 @@ TARGET_CC_KERNEL_ARCH ?= "" TARGET_LD_KERNEL_ARCH ?= "" TARGET_AR_KERNEL_ARCH ?= "" TARGET_OBJCOPY_KERNEL_ARCH ?= "" +KERNEL_MODULE_INSTALL_PREFIX ?= "${nonarch_base_libdir}/modules/${KERNEL_VERSION}" KERNEL_CC:toolchain-gcc = "${CCACHE}${HOST_PREFIX}gcc ${TARGET_CC_KERNEL_ARCH} \ -fuse-ld=bfd ${DEBUG_PREFIX_MAP} \ diff --git a/meta/classes-recipe/kernel-module-split.bbclass b/meta/classes-recipe/kernel-module-split.bbclass index da7b30e99f..158fa98c50 100644 --- a/meta/classes-recipe/kernel-module-split.bbclass +++ b/meta/classes-recipe/kernel-module-split.bbclass @@ -82,7 +82,7 @@ post_strip_kernel_modules_signing(){ # be invoked manually after retrieving M= variable from package source code Makefile. oe_runmake \ -C ${KBUILD_OUTPUT} \ - MODLIB=${PKGD}${nonarch_base_libdir}/modules/${KERNEL_VERSION} \ + MODLIB=${PKGD}${KERNEL_MODULE_INSTALL_PREFIX} \ ${@'M=${@get_ext_mod(d)}' if not "virtual/kernel" in d.getVar('PROVIDES') else ''} \ modules_sign fi diff --git a/meta/classes-recipe/kernel.bbclass b/meta/classes-recipe/kernel.bbclass index a82bdf7ecb..0a6d754108 100644 --- a/meta/classes-recipe/kernel.bbclass +++ b/meta/classes-recipe/kernel.bbclass @@ -453,11 +453,11 @@ kernel_do_install() { # unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS MACHINE if (grep -q -i -e '^CONFIG_MODULES=y$' .config); then - oe_runmake DEPMOD=echo MODLIB=${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION} INSTALL_FW_PATH=${D}${firmwaredir} modules_install - rm -f "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build" - rm -f "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/source" + oe_runmake DEPMOD=echo MODLIB=${D}${KERNEL_MODULE_INSTALL_PREFIX} INSTALL_FW_PATH=${D}${firmwaredir} modules_install + rm -f "${D}${KERNEL_MODULE_INSTALL_PREFIX}/build" + rm -f "${D}${KERNEL_MODULE_INSTALL_PREFIX}/source" # Remove empty module directories to prevent QA issues - [ -d "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel" ] && find "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/kernel" -type d -empty -delete + [ -d "${D}${KERNEL_MODULE_INSTALL_PREFIX}/kernel" ] && find "${D}${KERNEL_MODULE_INSTALL_PREFIX}/kernel" -type d -empty -delete else bbnote "no modules to install" fi @@ -680,9 +680,9 @@ EXPORT_FUNCTIONS do_compile do_transform_kernel do_transform_bundled_initramfs d # kernel-image becomes kernel-image-${KERNEL_VERSION} PACKAGES = "${KERNEL_PACKAGE_NAME} ${KERNEL_PACKAGE_NAME}-base ${KERNEL_PACKAGE_NAME}-vmlinux ${KERNEL_PACKAGE_NAME}-image ${KERNEL_PACKAGE_NAME}-dev ${KERNEL_PACKAGE_NAME}-modules ${KERNEL_PACKAGE_NAME}-dbg" FILES:${PN} = "" -FILES:${KERNEL_PACKAGE_NAME}-base = "${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.order ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/modules.builtin.modinfo" +FILES:${KERNEL_PACKAGE_NAME}-base = "${KERNEL_MODULE_INSTALL_PREFIX}/modules.order ${KERNEL_MODULE_INSTALL_PREFIX}/modules.builtin ${KERNEL_MODULE_INSTALL_PREFIX}/modules.builtin.modinfo" FILES:${KERNEL_PACKAGE_NAME}-image = "" -FILES:${KERNEL_PACKAGE_NAME}-dev = "/${KERNEL_IMAGEDEST}/System.map* /${KERNEL_IMAGEDEST}/Module.symvers* /${KERNEL_IMAGEDEST}/config* ${KERNEL_SRC_PATH} ${nonarch_base_libdir}/modules/${KERNEL_VERSION}/build" +FILES:${KERNEL_PACKAGE_NAME}-dev = "/${KERNEL_IMAGEDEST}/System.map* /${KERNEL_IMAGEDEST}/Module.symvers* /${KERNEL_IMAGEDEST}/config* ${KERNEL_SRC_PATH} ${KERNEL_MODULE_INSTALL_PREFIX}/build" FILES:${KERNEL_PACKAGE_NAME}-vmlinux = "/${KERNEL_IMAGEDEST}/vmlinux-${KERNEL_VERSION_NAME}" FILES:${KERNEL_PACKAGE_NAME}-modules = "" FILES:${KERNEL_PACKAGE_NAME}-dbg = "/usr/lib/debug /usr/src/debug" diff --git a/meta/classes-recipe/module.bbclass b/meta/classes-recipe/module.bbclass index ce5898125b..985c24bed5 100644 --- a/meta/classes-recipe/module.bbclass +++ b/meta/classes-recipe/module.bbclass @@ -46,7 +46,7 @@ module_do_compile() { module_do_install() { unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS - oe_runmake DEPMOD=echo MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" \ + oe_runmake DEPMOD=echo MODLIB="${D}${KERNEL_MODULE_INSTALL_PREFIX}" \ INSTALL_FW_PATH="${D}${firmwaredir}" \ CC="${KERNEL_CC}" LD="${KERNEL_LD}" OBJCOPY="${KERNEL_OBJCOPY}" \ STRIP="${KERNEL_STRIP}" \ From patchwork Tue Aug 25 20:49:30 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anis Bougrine X-Patchwork-Id: 96318 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 597ADC61DC2 for ; Tue, 25 Aug 2026 20:50:18 +0000 (UTC) Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.32366.1787691012616248624 for ; Tue, 25 Aug 2026 13:50:12 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=EpApcSRO; spf=pass (domain: gmail.com, ip: 209.85.128.52, mailfrom: anis.bougrine10@gmail.com) Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-499b0eefa61so909675e9.2 for ; Tue, 25 Aug 2026 13:50:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787691011; x=1788295811; darn=lists.openembedded.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=QQm2kLRy6+Ecgrjh6nunNGprgv/l9I+1JTcVQIJND/8=; b=EpApcSROjO2VP8IQhypu6LyNOuFc4V7jm20X5lFvq/b5+kfJM+pBqPww+EihqTepM/ 5DCAz3jdrFTWq5YRqkqKSKBKlrDVZ94XYnxntum5MaAd341kS34b2KbSAhLN8O1KQ6gF xgdCj28BZUDhTMOIfGNBWSXNTEusnoecxbgNPv0pI/XF3cUH0uL4Uh4WS4SwbuZOojiU TTXQnoNSzDFnpkWZThh+8TgBqZhtE9CXhe8LZXYsZPRdWi6oBRzu5WnEUXt+OZ2LW6Gx 1+Bb6ftt3KZXTLHUTMxC1TczDsFSKH45OjCZlYHqyjo6yzAAGkHZV+j95Mc2SwL0Wg1w UZaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787691011; x=1788295811; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=QQm2kLRy6+Ecgrjh6nunNGprgv/l9I+1JTcVQIJND/8=; b=U+BkLzMNN+KjtJWfoBdw5XynrphOEkQfirj+cfh5QuY0WlEq9X5cqzBxljRrlJTC5g Z1SfdYWVsO/VyAK5ZUJTHjKG6XN9FsKxjB4IvsxzeN8DBjG+HgJhuu4EZh1nHhhgurTe 8paaqopumnZyP3IU3AuP+pPxu7A+tn3xPL27J2ydiK81aQadzWlsBMCU/6jKFRt7rAD6 BzQsbfZ5H9VtNM5X9qsMwd5wqxP4k1XS7rebQaBkaaZJMrXe5rJ19IB5DPYsEKPmy9GU C0qfsT72pVsZUvo+ZIocurIo7Tg0TO/NfhshpyhjIkOSIEgau60TLXSqSfvQz5DskAZe 2ujA== X-Gm-Message-State: AFuF++mp2dvgrAFtmMyGGuN+lXmMZa/i7tt6eTVu6JZ5C2q2+9cY4S/W j48DW8g64AorQhwTnZg1WjXrzILSFCFJLBb9PyZlRvlw4QJzbAvYzvG68c7KdnyekXA= X-Gm-Gg: AR+sD100Q/zRFvVFZd3pkp8k+sl8qxzvOG6fDuq5O5JQU1GL9ZzKu/+IOHhcl8uUtdE bkCg2pxpE2C1irGVbwLy4bRCp+rX9/9KF2zm37kS6ZMuGGS8hjXLKJ6DnfM0I1IC+Ux1bMF2P3t 2uQrvQCkcrnaVUako8Ktk9LBZmFH6ORWkWVZw1x4jBpSfe0Bl1SvQr/wZK7accOwnqYQfM2VuY5 p4d1ecRKYG2O0IV4xpiFUhJo8kMGnVQQpsdkRxArIIjRZsKSIbT6j7Jv5HQQCrB+pzXXiyKywyJ Wj32yvnj7zc8QludDuWVlVfWwYCu+c2pQZTDAz4FejlUoVnPaQYbHi65PyEbB00pBVBs7w4RVNV bAjvNsRXcRpbPh+I08kUAsCfdVidUJqRz727qX4Ul4JJXXizARJwQspRH62extkijIMLvhmHMpt MxfwXuzDMtRNBtAW/jAJnb0HjDYqf44AdEsayeA8Pj42+n0DFrCxToZaiO9yN3XK/MgJpY/gl40 rPlj2caVMYnOyQSVAeNLo8xp0wdqaO7AalQ0JeeoUyoCnr+TdR+RxxQhPqtS8chl0o7C4hwREuS t4liZ0qNIdXL X-Received: by 2002:a05:600c:3f08:b0:499:d513:e507 with SMTP id 5b1f17b1804b1-499dc6efdf9mr18090395e9.2.1787691010813; Tue, 25 Aug 2026 13:50:10 -0700 (PDT) Received: from device-137.home ([2a01:cb15:80cf:2100:f9af:e499:eded:1124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dca98095sm4507845e9.5.2026.08.25.13.50.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Tue, 25 Aug 2026 13:50:10 -0700 (PDT) From: Anis Bougrine To: openembedded-core@lists.openembedded.org Cc: mathieu.dubois-briand@bootlin.com, richard.purdie@linuxfoundation.org, peter.kjellerstedt@axis.com, Anis Bougrine Subject: [OE-core][PATCH v5 5/5] documentation.conf: add documentation for KERNEL_MODULE_INSTALL_PREFIX variable Date: Tue, 25 Aug 2026 22:49:30 +0200 Message-ID: <20260825204931.17628-6-anis.bougrine10@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260825204931.17628-1-anis.bougrine10@gmail.com> References: <20260825204931.17628-1-anis.bougrine10@gmail.com> MIME-Version: 1.0 List-Id: X-Webhook-Received: from 45-33-107-173.ip.linodeusercontent.com [45.33.107.173] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Tue, 25 Aug 2026 20:50:18 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244279 Signed-off-by: Anis Bougrine --- meta/conf/documentation.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf index 72513296e2..05945b9702 100644 --- a/meta/conf/documentation.conf +++ b/meta/conf/documentation.conf @@ -282,6 +282,7 @@ MAINTAINER[doc] = "The email address of the distribution maintainer." MIRRORS[doc] = "Specifies additional paths from which the OpenEmbedded build system gets source code." MLPREFIX[doc] = "Specifies a prefix has been added to PN to create a special version of a recipe or package, such as a Multilib version." MODULE_TARBALL_DEPLOY[doc] = "Controls creation of the modules-*.tgz file. Set this variable to "0" to disable creation of this file, which contains all of the kernel modules resulting from a kernel build." +KERNEL_MODULE_INSTALL_PREFIX[doc] = "When a recipe inherits the module class, this variable specifies the directory to which kernel modules are installed on target." MULTIMACH_TARGET_SYS[doc] = "Separates files for different machines such that you can build for multiple target machines using the same output directories." #N