On Fri, Nov 13, 2020 at 11:27 PM Bruce Ashfield via lists.openembedded.org <[email protected]> wrote: > > On Fri, Nov 13, 2020 at 11:19 PM Scott Branden > <[email protected]> wrote: > > > > Sorry, spoke too soon. Doesn't seem to work from a clean build now. > > > > How so ? Works on repeated clean builds here. For 5.4/5.8 and 5.10 >
I have a theory on this. Did you directly bitbake your external module ? versus building the kernel first and then the module ? I'll see what I can come up with. Bruce > Bruce > > > On 2020-11-13 9:53 a.m., Scott Branden wrote: > > > > Thanks, works for me building external kernel modules. > > > > On 2020-11-12 10:32 p.m., Bruce Ashfield wrote: > > > > From: Bruce Ashfield <[email protected]> > > > > The upstream commit 596b0474d3d [kbuild: preprocess module linker > > script], adds a dependency on module.lds for external module > > building. > > > > Since module.lds is generated as part of 'modules_prepare', we > > must make it available with the other kernel artifacts in the > > kernel shared workdir, otherwise out of tree builds fail. > > > > This fixes errors like: > > > > | make[4]: *** No rule to make target 'scripts/module.lds', needed by > > > > 'build/tmp/work/qemuarm64-poky-linux/cryptodev-module/1.11-r0/git/cryptodev.ko'. > > Stop. > > | make[4]: *** Waiting for unfinished jobs.... > > > > We also ensure that kernel-devsrc has a copy to support on > > target module builds that are often prepared with 'make scripts > > prepare'. Those targets won't regenerate it, so the build fails. > > If 'make modules_prepare' is used, the file will be regenerated > > and overwrite our copy (as expected). > > > > Signed-off-by: Pan, Kris <[email protected]> > > Signed-off-by: Lili Li <[email protected]> > > Signed-off-by: Bruce Ashfield <[email protected]> > > > > Tested-by: Scott Branden <[email protected]> > > > > --- > > meta/classes/kernel.bbclass | 1 + > > meta/recipes-kernel/linux/kernel-devsrc.bb | 6 ++++++ > > 2 files changed, 7 insertions(+) > > > > diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass > > index be93a258f6..ccd74e61e8 100644 > > --- a/meta/classes/kernel.bbclass > > +++ b/meta/classes/kernel.bbclass > > @@ -494,6 +494,7 @@ do_shared_workdir () { > > # Copy files required for module builds > > cp System.map $kerneldir/System.map-${KERNEL_VERSION} > > [ -e Module.symvers ] && cp Module.symvers $kerneldir/ > > + [ -e scripts/module.lds ] && install -Dm 0644 scripts/module.lds > > $kerneldir/scripts/module.lds > > cp .config $kerneldir/ > > mkdir -p $kerneldir/include/config > > cp include/config/kernel.release $kerneldir/include/config/kernel.release > > diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb > > b/meta/recipes-kernel/linux/kernel-devsrc.bb > > index 81b1e36041..5f0dedbdf7 100644 > > --- a/meta/recipes-kernel/linux/kernel-devsrc.bb > > +++ b/meta/recipes-kernel/linux/kernel-devsrc.bb > > @@ -100,6 +100,12 @@ do_install() { > > # be dealt with. > > # cp -a scripts $kerneldir/build > > > > + # although module.lds can be regenerated on target via 'make > > modules_prepare' > > + # there are several places where 'makes scripts prepare' is done, and > > that won't > > + # regenerate the file. So we copy it onto the target as a migration to > > using > > + # modules_prepare > > + cp -a --parents scripts/module.lds $kerneldir/build/ 2>/dev/null || : > > + > > if [ -d arch/${ARCH}/scripts ]; then > > cp -a arch/${ARCH}/scripts $kerneldir/build/arch/${ARCH} > > fi > > > > > > > > > > > > > > > -- > - Thou shalt not follow the NULL pointer, for chaos and madness await > thee at its end > - "Use the force Harry" - Gandalf, Star Trek II > > > -- - Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end - "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#144583): https://lists.openembedded.org/g/openembedded-core/message/144583 Mute This Topic: https://lists.openembedded.org/mt/78224757/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
