diff mbox series

kernel.bbclass: copy scripts/mod/modpost to STAGING_KERNEL_BUILDDIR

Message ID 20260423092242.324644-1-jonas.gorski@bisdn.de
State New
Headers show
Series kernel.bbclass: copy scripts/mod/modpost to STAGING_KERNEL_BUILDDIR | expand

Commit Message

Jonas Gorski April 23, 2026, 9:22 a.m. UTC
Copy the scripts/mod/modpost binary required for creating Module.symvers
as well to STAGING_KERNEL_BUILDDIR.

Without this, external modules will fail with the following error:

| make -C .../kernel-source M=.../selftest-kmodule/1.0/sources
| make[1]: Entering directory '.../kernel-source'
| make[2]: Entering directory '.../kernel-build-artifacts'
|   CC [M]  .../selftest-kmodule/1.0/sources/selftest-kmodule.o
| make[4]: *** No rule to make target 'scripts/mod/modpost', needed by '.../selftest-kmodule/1.0/sources/Module.symvers'.  Stop.
| make[3]: *** [.../kernel-source/Makefile:1906: modpost] Error 2
| make[2]: *** [.../kernel-source/Makefile:224: __sub-make] Error 2
| make[2]: Leaving directory '.../kernel-build-artifacts'

Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
---
I encountered this on master with a custom kernel (at 6.12), for
context, which is mostly vanilla except for some additional platform
support.

 meta/classes-recipe/kernel.bbclass | 2 ++
 1 file changed, 2 insertions(+)

Comments

Bruce Ashfield April 23, 2026, 1:06 p.m. UTC | #1
On Thu, Apr 23, 2026 at 5:22 AM Jonas Gorski via lists.openembedded.org
<jonas.gorski=bisdn.de@lists.openembedded.org> wrote:

> Copy the scripts/mod/modpost binary required for creating Module.symvers
> as well to STAGING_KERNEL_BUILDDIR.
>
> Without this, external modules will fail with the following error:
>
> | make -C .../kernel-source M=.../selftest-kmodule/1.0/sources
> | make[1]: Entering directory '.../kernel-source'
> | make[2]: Entering directory '.../kernel-build-artifacts'
> |   CC [M]  .../selftest-kmodule/1.0/sources/selftest-kmodule.o
> | make[4]: *** No rule to make target 'scripts/mod/modpost', needed by
> '.../selftest-kmodule/1.0/sources/Module.symvers'.  Stop.
> | make[3]: *** [.../kernel-source/Makefile:1906: modpost] Error 2
> | make[2]: *** [.../kernel-source/Makefile:224: __sub-make] Error 2
> | make[2]: Leaving directory '.../kernel-build-artifacts'
>
> Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
> ---
> I encountered this on master with a custom kernel (at 6.12), for
> context, which is mostly vanilla except for some additional platform
> support.
>

We need a better reproducer than this.

because obviously, this is working fine for external modules over quite
some time.

Which means we really need to understand what timing issue, or something
else, that
was triggered.

Bruce



>
>  meta/classes-recipe/kernel.bbclass | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/meta/classes-recipe/kernel.bbclass
> b/meta/classes-recipe/kernel.bbclass
> index 2d8565bd5541..4714206aad59 100644
> --- a/meta/classes-recipe/kernel.bbclass
> +++ b/meta/classes-recipe/kernel.bbclass
> @@ -612,6 +612,8 @@ do_shared_workdir () {
>                 cp -r scripts/gcc-plugins ${kerneldir}/scripts
>         fi
>
> +       mkdir -p ${kerneldir}/scripts/mod
> +       cp scripts/mod/modpost ${kerneldir}/scripts/mod
>  }
>
>  # We don't need to stage anything, not the modules/firmware since those
> would clash with linux-firmware
> --
> 2.53.0
>
>
> --
> BISDN GmbH
> Körnerstraße 7-10
> 10785 Berlin
> Germany
> Phone: +49 30 610 816 100
> Managing Directors: Dr.-Ing. Hagen Woesner, Andreas Köpsel
>
>
> Commercial
> register:
> Amtsgericht Berlin-Charlottenburg HRB 141569 B
> VAT ID No:
> DE283257294 <http://goog_1008408251>
>
> <https://angacom.de/en/visitors/tickets>
>
>
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#235752):
> https://lists.openembedded.org/g/openembedded-core/message/235752
> Mute This Topic: https://lists.openembedded.org/mt/118968874/1050810
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> bruce.ashfield@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Jonas Gorski April 23, 2026, 2:28 p.m. UTC | #2
On Thu, 23 Apr 2026 at 15:06, Bruce Ashfield <bruce.ashfield@gmail.com> wrote:
>
>
>
> On Thu, Apr 23, 2026 at 5:22 AM Jonas Gorski via lists.openembedded.org <jonas.gorski=bisdn.de@lists.openembedded.org> wrote:
>>
>> Copy the scripts/mod/modpost binary required for creating Module.symvers
>> as well to STAGING_KERNEL_BUILDDIR.
>>
>> Without this, external modules will fail with the following error:
>>
>> | make -C .../kernel-source M=.../selftest-kmodule/1.0/sources
>> | make[1]: Entering directory '.../kernel-source'
>> | make[2]: Entering directory '.../kernel-build-artifacts'
>> |   CC [M]  .../selftest-kmodule/1.0/sources/selftest-kmodule.o
>> | make[4]: *** No rule to make target 'scripts/mod/modpost', needed by '.../selftest-kmodule/1.0/sources/Module.symvers'.  Stop.
>> | make[3]: *** [.../kernel-source/Makefile:1906: modpost] Error 2
>> | make[2]: *** [.../kernel-source/Makefile:224: __sub-make] Error 2
>> | make[2]: Leaving directory '.../kernel-build-artifacts'
>>
>> Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
>> ---
>> I encountered this on master with a custom kernel (at 6.12), for
>> context, which is mostly vanilla except for some additional platform
>> support.
>
>
> We need a better reproducer than this.
>
> because obviously, this is working fine for external modules over quite some time.
>
> Which means we really need to understand what timing issue, or something else, that
> was triggered.

Hrm, I can't reproduce it anymore, so feel free to disregard this.
Might have been some transient issue while fixing up recipes for
master.

Best regards,
Jonas
diff mbox series

Patch

diff --git a/meta/classes-recipe/kernel.bbclass b/meta/classes-recipe/kernel.bbclass
index 2d8565bd5541..4714206aad59 100644
--- a/meta/classes-recipe/kernel.bbclass
+++ b/meta/classes-recipe/kernel.bbclass
@@ -612,6 +612,8 @@  do_shared_workdir () {
 		cp -r scripts/gcc-plugins ${kerneldir}/scripts
 	fi
 
+	mkdir -p ${kerneldir}/scripts/mod
+	cp scripts/mod/modpost ${kerneldir}/scripts/mod
 }
 
 # We don't need to stage anything, not the modules/firmware since those would clash with linux-firmware