From patchwork Wed Aug 26 08:23:17 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bougrine Anis X-Patchwork-Id: 96451 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 0B9A7C61DC4 for ; Wed, 26 Aug 2026 08:23:40 +0000 (UTC) Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.7738.1787732614431165489 for ; Wed, 26 Aug 2026 01:23:34 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=sG0ifiDL; spf=pass (domain: gmail.com, ip: 209.85.128.47, mailfrom: anis.bougrine10@gmail.com) Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-4998e0916faso2698065e9.2 for ; Wed, 26 Aug 2026 01:23:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787732612; x=1788337412; 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=sG0ifiDLsm5glQEag27G8P+3xNf7esb1qoKIgwmUFxSBxhFl5XB5NXmGCsP1c+LweJ nDiFdTQ40oxYZizP0Rs6Ip9WjONgk3AuRwYSfcRK2hrHnNKgE373thAPHRCgLAT8Uqd/ Ki5wj3YbjKYLx5zT0jfu9s2yPPZAm+1FheUi1flBg3L5QZ1VnG8pP5+pbWn0onE3QRdu WbWyZD/RIIufZ487g6LCbekpRtdfwJ47g1jbU3WRAC9Y9Qt5SZkJuP4PQeiSAgcNpfGk 19/X3XQKqVhIJOuWRF783q2Hmy50S2ncBaz5LZ3enthNL8yvv775iJXdOIDBUMkLkOhI eXqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787732612; x=1788337412; 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=LY+AGvK4eBmlgpsuvwas7xR1UW7/pQoYqny0CbHvj+9An64PuUWVkwYqnmqDTaygAf /0zrVrr1k3F37W/EfyfWhRsZBH/m395WvfkTYk706cy5EcWLVYqPkAwctLMHe1fuWEaz PynZGDLYAWrpHGh3+yIX4Y/DPNqNkLm7////edRbd2OpMoKTcGavZhJ6HGNbFL+Xex07 eQRWxW8zY/0SFK6PYD/2GF3nFq7JewJeuK7vt0gF7RAVUemUdfInJUQ9aWhtEjArnEIy YxTF/SXBLh9BlN4kmJo8Nqb/A0JhI0LLU5apI9JHfWMA1jZx/hsx1dFlibDbRwQCfeF8 d3aA== X-Gm-Message-State: AFuF++mK1begESiNTMBODOhVlrnAEbR2xaY/OZm/pGAW2j/RrhsjvOSO ppunCV+aJExIbIz+DX5xuHmYoZizvT/B7yZILYl6xawT5g59+9GKavEhU3RYGLskj0Q= X-Gm-Gg: AR+sD10Gw+ogzzxFc/ALSja6sB6MaaYV02pM713rSIv7E1IKlv3oUPxJuBTonEnGrea OUxIz7WCsUh6akt2jdgor0Rg9qIMzISkQ4eS52UvCTYm8LtF5dSpTnb6NiarJI4Hip50AvkIcgt U/ryGNqXbuw7M2MBmNCkN6eWY5Z+q3cV14Vu1MVIjUOKlnHzyuSnEKX+iPbrns+AtNh/lOJ+HXk AMaMV1cNvjQdzi7wuC+P3EQ24xoqyjgvN++8Sy7sts4VOsuhkSRWJdEPeFoyayEV9fWRzHZ4TBq u6hFK9gonENtJ3d5T1YJBinKO3ckQ+8vx0G4Z5uPstQ0RMvab24damOsK9DhfDrIRRqNPhW4QC3 JsD4EHm2ON0jYTdx8Lol+4xRR5TvCGfAHBrhr6oMI500AK9kF69hF57kSU/ZexfB/6QSteFjIfc fnT4NFdlbZtj2xLKCiLpa5OYRGJLFvgqUbIMboy/dlXZYYAutnog7vzv3WmDrLWthPpaCpILwAk hthW1VaBhciMc0wnsZMKCW5n1/fKjNFNQvfhnjVU5QYF3R/+NCHiaclxIPxv8IyqkbJ2guR6w/b 1l4IdozoUMg= X-Received: by 2002:a05:600c:3b13:b0:499:a760:722f with SMTP id 5b1f17b1804b1-499dc72515fmr39681425e9.13.1787732612222; Wed, 26 Aug 2026 01:23:32 -0700 (PDT) Received: from device-137.home ([2a01:cb15:80cf:2100:f9af:e499:eded:1124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dca8b84esm17933655e9.1.2026.08.26.01.23.31 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 26 Aug 2026 01:23:32 -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, antonin.godard@bootlin.com, Anis Bougrine , Ross Burton Subject: [OE-core][PATCH v6 1/5] kernel-module-split.bbclass: add get_ext_mod function for module signing Date: Wed, 26 Aug 2026 10:23:17 +0200 Message-ID: <20260826082321.22104-2-anis.bougrine10@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260826082321.22104-1-anis.bougrine10@gmail.com> References: <20260826082321.22104-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 ; Wed, 26 Aug 2026 08:23:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244360 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 Wed Aug 26 08:23:18 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bougrine Anis X-Patchwork-Id: 96452 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 D667FC61DBD for ; Wed, 26 Aug 2026 08:23:49 +0000 (UTC) Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.7793.1787732628913230894 for ; Wed, 26 Aug 2026 01:23:49 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=iRsZdp/7; spf=pass (domain: gmail.com, ip: 209.85.128.41, mailfrom: anis.bougrine10@gmail.com) Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4955aa106b1so5852235e9.0 for ; Wed, 26 Aug 2026 01:23:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787732627; x=1788337427; 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=iRsZdp/7zZppSVvOVHsFKgM9Ldhe4IZbFJieFqU774GodKmwNbMIbRY4IF7BOoUDfW IQXVqgUf1GcFvQGmtICurPJmVcIlTFKS8vFdYuVnBOgSgWipbco/miR6Nx3w0EZs+7UZ DiPatTaZHpf1d8YHUIJ5+4oRvtvabIgfPASdt/M85WhqAou9BLPP9rAvTGzcjqLU33uK tyyDp4s8qhjPsn69Owz+yX8YUb29l/GU1Y5OtEFt4YSn7NMs846JLTTdI01neHt4iSje wm+S3Y6s60qW5VdraJvbgIef8aEDhJXqcAR25M8sN8lXmhElmy4+qLBS0jpPxxC0qiqP hcoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787732627; x=1788337427; 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=ZN6ihK15KW0BvU9mv56Yj3zoI/oPl83anYNJ6FnFF3o3lh764RqebfmsMEYpBbVQg2 lDUX8Vc7PBUxh4XdMI10/tPUCyVyYMQzHAxxBQS6L5mr5CxobZ8PN27k+rI2Vzuxxmr2 akP9WlckAESxFOJcwC3pPhk+3CVmTu/ouDnu9BwhQVnF1IxaOgw2p4l6R40lUaGC9INQ bn5vUX5l3rnPfin8w+P8Vbe+CcTJ8jtSiVET5kr6l3LWJQVFGdbBlby2r7eHA+hNNR7T t3or+VyKsVlsyXTffkk2w87U+VMi8GqLxVJm3BmM4qlHwwpNJYTNjSHyOh2sFgssL8cM HV+g== X-Gm-Message-State: AFuF++lFs9g83nCrcNnEy06xKMrGPg1jhfNSrajd49p7FOig6Oditm+2 2lgqaW3kYfyXtw2U4NG4USxi7AxlC8k3iYCmhAKZm3snJbZ4Z4jvZqJfK59W66weUfE= X-Gm-Gg: AR+sD13nnH2yNziZKVH5iqdk6pTWsJS1CkJiFwGVSkrAQftX2YYtuuw9fyGB0wKmUlk +3WqqKXyOxX048wsPD1SBS9kOZG9/juzphzNA8zqtjIaMzfQvJgo3fjPIJYzO5MmOXe0toM5NG3 xullpfkNJVb//cO6tm4SeDCPpXdp1dH5H+eX8keRafYoGg/059NxdIlUik8CZes9/jcHOSgJxqF tEhAupPLGr9/9n3wxH1VhAp6iRQOT5lhlo4eM/2CYSKhPi3Y5J+QWEWQG/FVC5i/26w/TQ8uUTD d1III5cu5TQzHKA9qOj62idqf1mYmCgz/VzzLF92HqtFkeNGHDOARmKn+uMPKdbJKkqxFm5Uqkc UYDkxUOXfMaxbGrHyQZGw6Ni1OWjVshMwsPejqlWAyQPvyqIU94TvZPnda5EYMwJzFrVKh4k8jS 3V7mWepP8DmlVl9s/SWnWMWww+H3X8mSOP6cBXg20ukAbyw2Oih8tiHpAG9FHu4elM2OIhxYaMF C+y/paBt1rZOyLKnjKA8O+/f8idf0+hg2VgkLzQGAnszdVIYibohqTK4YL4ldd3jbEL/eVBSUMy K8dI8NlHYZ8= X-Received: by 2002:a05:600c:3f08:b0:499:d513:e507 with SMTP id 5b1f17b1804b1-499dc6efdf9mr43029595e9.2.1787732627020; Wed, 26 Aug 2026 01:23:47 -0700 (PDT) Received: from device-137.home ([2a01:cb15:80cf:2100:f9af:e499:eded:1124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dca8b84esm17933655e9.1.2026.08.26.01.23.46 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 26 Aug 2026 01:23:46 -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, antonin.godard@bootlin.com, Anis Bougrine , Ross Burton Subject: [OE-core][PATCH v6 2/5] kernel: re-sign kernel modules after package stripping process Date: Wed, 26 Aug 2026 10:23:18 +0200 Message-ID: <20260826082321.22104-3-anis.bougrine10@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260826082321.22104-1-anis.bougrine10@gmail.com> References: <20260826082321.22104-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 ; Wed, 26 Aug 2026 08:23:49 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244361 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 Wed Aug 26 08:23:19 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bougrine Anis X-Patchwork-Id: 96453 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 D59B7C61DBD for ; Wed, 26 Aug 2026 08:23:59 +0000 (UTC) Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) by mx.groups.io with SMTP id smtpd.msgproc02-g2.7794.1787732632752985920 for ; Wed, 26 Aug 2026 01:23:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=Kg219byw; spf=pass (domain: gmail.com, ip: 209.85.128.46, mailfrom: anis.bougrine10@gmail.com) Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-499b2981a7bso5720405e9.3 for ; Wed, 26 Aug 2026 01:23:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787732631; x=1788337431; 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=Kg219bywF+0BJ75IMzg5hdhD3WCbPYTUH8FbWyzxTcIE/XTAcV8/G9vJ2dgWNRlTDN Ja60P8tMmUXam0LSgDr+gq40dykzJH0CwOqPiuy2Rv0GiTn6Sj61xhqIDOfVuo+2SLqd lzUi4dsxHw5/aSBmI4aG86e1W3eGQ87mdlqfrt6yjR7QhACx1OCII8FME/uyhVXnI185 wiwE6hGAPvZqsKPG7Sb4UgfABTrAxA1pyb12X6/NKEoqUXD5dhF2k9uAUV39SugjrfTt xg6AYQbSf7O9ofc1ElwFRDGQT7OzeE5OnM5ALC0XcOxls4076L9lDSNaseiPzfk0Q6Gk hlcg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787732631; x=1788337431; 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=TtDWu8sRcWzS+xHxNBDcaFfR7ZIowRAQ9Lv1ZeIFj//UYzpxS8h6/tzKjADxREpbvU YezysD2hzY4bdNPgEl2Zozdlt60qK+1Oj2nRTJ8ZZ24ptZHlrGD+l9z8dnybUWnIlIJx pYPML5f+QduWhuzyyIu3ML5oMIfhoNa0IypmOfL9BzTRRggFkd1wUuFzw4dT4ex4BmTd 44Ofj54P8ugPi9z0e7hee3tvGtfkZvWSqMMfnFJ/i2CDHVa2nnrZM/umzheig+UBz0wJ 7pdL7OOI0OEy/KksqF0PyNty9eUZYCLhuMyL2xAMN4u83VE9i+nVpaDbANKAt8xfYGNc 8Mzg== X-Gm-Message-State: AFuF++k72kb3z/348yHifhgWY+40jND7W2CeyU0NyJJ2t5rg2AE7M+VC sZRqgAnguuzFI9rB1kqgdjffI1KAO0RixuXzW+MKXnKMHrUol1Owdndqbsz+AF0nk1c= X-Gm-Gg: AR+sD12KgSNCDztG+yOT3eSvrwxvOTDha/MRnre4iKyqrWUFSS/Ug+aa1r7fso57eIW n/uUS52eSuTWMCGxCpEgilFI4SkM9pZLvhmXe39uI/I/N9B3xkmyj29KvquCyNEvKofR8KYSS/A VGg38RiXXI74Nkp51syFL+tVBGR0swpuM7nLZHPQoU3lFieAbAzaxTGzVFAiF5I8kRGLaxD5nYX VylIb/VQW8DWTiXdWGFan7yZAbDil+25hZEC8nvRQQqEee9xrLZddZL1vE9+DcB5qMjvYfc8M8A o4zXW8AIjGTk4RvRLgytCLXgYjV4xDEa8xgn6bUNgezl6uRKo0bfU2GUfhSXaFeAbKNa7AnBqyY Il/WrrGqNhWw0O5Rc72wsXkeuWYJapfOFBCCfR700QVLe8o2v1MGaVQ9y1klURGuXiq4CxRV4Ca BZK6dZiiSm1DSgDPdHnP1eCTn6UkDwO5cNw08I+4Kg7FIX62aTfFfdzdvBJHnvVEFSPrTqNYBVd IjUWZG8Oq+9V+z2VqExktz9cqUzT0EEnJXofDM6+QN6b20x17BrTQD+ilishAkTJ4egt1qVXfVn 2XYAqKvEFOI= X-Received: by 2002:a05:600c:3513:b0:496:bbce:fc with SMTP id 5b1f17b1804b1-499dc82c0d7mr38617775e9.12.1787732630642; Wed, 26 Aug 2026 01:23:50 -0700 (PDT) Received: from device-137.home ([2a01:cb15:80cf:2100:f9af:e499:eded:1124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dca8b84esm17933655e9.1.2026.08.26.01.23.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 26 Aug 2026 01:23:50 -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, antonin.godard@bootlin.com, Anis Bougrine , Ross Burton Subject: [OE-core][PATCH v6 3/5] package.py: remove stripping and splitting skip for signed kernel modules Date: Wed, 26 Aug 2026 10:23:19 +0200 Message-ID: <20260826082321.22104-4-anis.bougrine10@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260826082321.22104-1-anis.bougrine10@gmail.com> References: <20260826082321.22104-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 ; Wed, 26 Aug 2026 08:23:59 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244362 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 Wed Aug 26 08:23:20 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bougrine Anis X-Patchwork-Id: 96454 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 E673AC61DC2 for ; Wed, 26 Aug 2026 08:23:59 +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.msgproc02-g2.7795.1787732633422343613 for ; Wed, 26 Aug 2026 01:23:53 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=nOXm7LDf; 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-499b6c02b02so1338285e9.1 for ; Wed, 26 Aug 2026 01:23:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787732632; x=1788337432; 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=nOXm7LDf72IW45uTK/tcgUyo5hcL3ccTJd4lu9RyAk9idERWDJcixeB90YGF/OdrUN 1Hk+nrUc0NFex5FqGiIyMPdON67CQ18Llesliahq5XYKK8aaTcJVNC5npTNSNBJ4TwU6 33hup2f9RQvnAJ80k6guDUvvnzv/Ot8yGfyOlZwk3rNEuR8Dc66F7GVeiJe6BFbBCmM4 a4g7Khi3bqO5XVAG3EEbuoq6+MLNSUZAD49aWxW2B1ZxwgN+Q1K3DlIrTkX1majDF1Vv zFFSl1VcJa3Oxcenb8J6G8x2MwQDtzhlTqGSm88CdUVy+I54fi+hD7/njo93FTPXlnRW YIgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787732632; x=1788337432; 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=drgLbBsSQpFTkrX0eyhLmS9rQg8laPgkKtPbNURa3oYicrlhwAOCULoK2TfZSAL6Bk QC93yaQPx1disNnW7NOT+AkUcngzjG6ByHWPoS+Ii7CmK/AJH8U8PK6x5nXBavcY0lxH RV4SS6BgLSLLKW0DLb0TMZ/yo2Dv0BlgNRnIS/ZWcCcEgPkgP6OiqVBglhlkB46JYnhX FgIswy88NIfbsELdaV5EUu1W0utbE9aAYNSlYu3mKIMJQa3cDUY9EcpjQ+3ta4qOOSyy vLt6u8oxPWexUAQNF3GqR7Jcg8ZewmCpRN+rJrVziRII2fAzTpmCCzQlIUYCY2N89/ct Rs7Q== X-Gm-Message-State: AFuF++n7RDEIXxmC10nXq//1QkoGVQQUbFkn49NZC+t3imEj5X6oZIjn PiK/q973EEBLdhAiGqHFPvH2rIV2M8s/wSf82uA9p8SPUO0VFJGRlVWlWf04vU0Oh3Q= X-Gm-Gg: AR+sD10eSih2OsULMj9y3tQYrP3qJy0wkRtLeu/egIISgCDvoZ42aRAmz278kGRL+ow sACEwnEiSzJyiB2diOddKYMpRD2UgqfgzHkL92+N0JVXVYBFNGiGOcH8yNyvDnyAab39PNrRJvN L4lC4gkNX8FAP33YB26rTsxa0XjKc72/BQqkuSNgjcJyqbbgFv3eeB1A0Xs+agValKSy9j7KhVn 72yAN4Oybg97j3iOGREfJI4hQDrZljzolQcKTbEKLPod2N4/r6ZX1Fp16GaD1wdVvh5xAkVwT0O qXPQg77sM57KrZp1L3MpYz/R3r5fuH169fxnt2KSrVYXTJgK5GFXf9l31rpXXQInqnyaPODLT8z aNrKQJ0llVdZiLyDwFfLIV+0FZ+07XPf9ytVv6ScNhd0z0CUpMihNYMHt7I4Qvg6C4Jpex8jYmv wWsAYnRB8afjrD3549BvYiCt452ErYqq+K+iW94TZK07vmX0tXtpD5QptfCdYAROF6efMuReumX Q949j22Ebu4/HTuvk/TXGv+yFnq7VNt+T3zCAt0Yfq9zHC9oOaGyNLxkkBoukJ6VbWYuR8XIQk6 f+KLi78ViOOFbPgoWfjz5A== X-Received: by 2002:a05:600c:a12:b0:499:dae2:c613 with SMTP id 5b1f17b1804b1-499dc81cca1mr37017205e9.12.1787732631241; Wed, 26 Aug 2026 01:23:51 -0700 (PDT) Received: from device-137.home ([2a01:cb15:80cf:2100:f9af:e499:eded:1124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dca8b84esm17933655e9.1.2026.08.26.01.23.50 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 26 Aug 2026 01:23:51 -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, antonin.godard@bootlin.com, Anis Bougrine Subject: [OE-core][PATCH v6 4/5] kernel: centralize kernel module installation path in one variable Date: Wed, 26 Aug 2026 10:23:20 +0200 Message-ID: <20260826082321.22104-5-anis.bougrine10@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260826082321.22104-1-anis.bougrine10@gmail.com> References: <20260826082321.22104-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 ; Wed, 26 Aug 2026 08:23:59 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244363 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 Wed Aug 26 08:23:21 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bougrine Anis X-Patchwork-Id: 96455 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 47025C61DCB for ; Wed, 26 Aug 2026 08:24:00 +0000 (UTC) Received: from mail-wm1-f50.google.com (mail-wm1-f50.google.com [209.85.128.50]) by mx.groups.io with SMTP id smtpd.msgproc01-g2.7740.1787732633884948083 for ; Wed, 26 Aug 2026 01:23:54 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@gmail.com header.s=20251104 header.b=YcK7wZs8; spf=pass (domain: gmail.com, ip: 209.85.128.50, mailfrom: anis.bougrine10@gmail.com) Received: by mail-wm1-f50.google.com with SMTP id 5b1f17b1804b1-4998b5a63e2so4968085e9.1 for ; Wed, 26 Aug 2026 01:23:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787732632; x=1788337432; 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=aKTYs9lyCcNRmYEsmaSqJfiCdy1eSfgmbWdv/G/vUMs=; b=YcK7wZs8TzxvhQ4BoxBDQdJXdXpaLdZhkg0xagbmmxPzm4ZBJQQDD8aKkOZh5buEsO NsgzEBmcKfkhsBPMI2JD18kcPijs3NW+jV+1DePucjMSaeyvgCC4ovmhF/884ZS7JBsS k7HYN8bx/RqKjXiz5y/mBohYCDJKO7sJaWmqo7dXG6AN3vf11aJDcQRK8ZuuWd9ukZcz uDEOaJU9R6Sd8N5Iz3jtwQ23lWC0oqqWyu5HTrkbnPPchXBhig2wHw4BPWAuieg/JgiB S4P54oGsCfn56GxUjfZrtxVhdCGkewmK6ZsbPOK0zPh8f5q0UHQrhnwkvRItW3Y3xLrd 6VeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787732632; x=1788337432; 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=aKTYs9lyCcNRmYEsmaSqJfiCdy1eSfgmbWdv/G/vUMs=; b=bM36eJWgxq/Jd6R1ytudSifil1WS1Bpwo/jAlpTciMD1rLOwMJHVgMKsv172Az/z+6 0KD/eFlYjDr7WUKoIC4frFnwy9yNf7dXv5L7GE3KkuWru6sQ6zfvSfgFpswQIOQqHlpa OXchFHjpdBkNBDYX7d69pw4zoF3ni5Ln0GbV9y/OcX/1ObKvAZ9aXnGqvJhGvfLzD6n2 lyo4ofwoogwfcx3/gLMZIGteWE8FX9M4LTcNCmgto8yJ2865Av+nFfk8WQBxwQc0FXEX BOnuczZA6I26GsPajXNyrSdqmpnLV4iprb5U4E0iiitYHB9bQhKp5ycivkAqhQUgGfmj Z5pw== X-Gm-Message-State: AFuF++lTRWoCQeQD7sVtrpeynE6V3GuPQFJV6jQG8EpEeO+pHJduS/UX jI9n89x5h/QycLYFEF2L10+0Kqxe4wh6fsNxxu7jUKZkObsWNHidgP08Rm5arJgGHsk= X-Gm-Gg: AR+sD12aO0PUdomeoCswo3ODzBGXt/NdNTzrWbCQjj1VZ8mXwIv2I06O0gLqj2bwRS6 roYywzhmx3iydL9Dh/EV4Np6lvUHiWSoYYrcHWn3aeg5GzsnFy5IqjHawhQgQ+jc862gTL+LpXb esBLWuWWadN+qFQZsNH79JbRfpKqrM7U/+2yfDjCF1fPL1AjBazWYEgEKC4HLpiXAaIz4V57hfm JRDmbUfSmWrbbjetZgiSwbk4lVHKHKIgfaVAlApy7O6dDwEEw8DEl28cvK7dJC34CYiUFbCy/fb 81mpJSP1mxcMct4J1OmER6VXjrAjwIYvIvIMOsomNQ7E+Rid0tDxKM2TYyjKIHxOJaQ1scocPl7 yhDy9nCKyp1sBoCnQbrWqeapRAzUxCxI4tpdghx7TaGMCFAFuT6dQxPHSI4JO4Acc6ZEoa5Qz4y 6FDekpdd0tpxp+E1tV5ZiTFH1dFs+whllEmhgk7nsSwNVVeHsdQGZV4p5psipjLVc7tR1dOUidW E2SmRqCX3kg9d5X0UYq6wif6nFkf5Jcl3jzrZZodlNsp+g7bT82Wmyw6dNd9uiW69FODmN7KmjT 4boJG0wHyr8= X-Received: by 2002:a05:600c:4503:b0:499:8b13:3a98 with SMTP id 5b1f17b1804b1-499dc6f6856mr43323525e9.4.1787732631999; Wed, 26 Aug 2026 01:23:51 -0700 (PDT) Received: from device-137.home ([2a01:cb15:80cf:2100:f9af:e499:eded:1124]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-499dca8b84esm17933655e9.1.2026.08.26.01.23.51 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 26 Aug 2026 01:23:51 -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, antonin.godard@bootlin.com, Anis Bougrine Subject: [OE-core][PATCH v6 5/5] documentation.conf: add documentation for KERNEL_MODULE_INSTALL_PREFIX variable Date: Wed, 26 Aug 2026 10:23:21 +0200 Message-ID: <20260826082321.22104-6-anis.bougrine10@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260826082321.22104-1-anis.bougrine10@gmail.com> References: <20260826082321.22104-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 ; Wed, 26 Aug 2026 08:24:00 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/244364 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..93949c7ff8 100644 --- a/meta/conf/documentation.conf +++ b/meta/conf/documentation.conf @@ -239,6 +239,7 @@ KERNEL_FEATURES[doc] = "Includes additional metadata from the Yocto Project kern KERNEL_IMAGETYPE[doc] = "The type of kernel to build for a device, usually set by the machine configuration files and defaults to 'zImage'." KERNEL_IMAGETYPES[doc] = "The list of types of kernel to build for a device, usually set by the machine configuration files and defaults to KERNEL_IMAGETYPE." KERNEL_MODULE_AUTOLOAD[doc] = "Lists kernel modules that need to be auto-loaded during boot" +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." KERNEL_MODULE_PROBECONF[doc] = "Lists kernel modules for which the build system expects to find module_conf_* values that specify configuration for each of the modules" KERNEL_PACKAGE_NAME[doc] = "Name prefix for kernel packages. Defaults to 'kernel'." KERNEL_PATH[doc] = "The location of the kernel sources. This variable is set to the value of the STAGING_KERNEL_DIR within the module class (module.bbclass)."