]> code.ossystems Code Review - openembedded-core.git/commitdiff
kernel: fix out of tree module builds
authorBruce Ashfield <bruce.ashfield@windriver.com>
Fri, 14 Nov 2014 19:51:27 +0000 (14:51 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 20 Dec 2014 11:24:03 +0000 (11:24 +0000)
With the kernel build optimizations, we no longer copy the source from
the built kernel into the staging dir, since the kernel is unpacked and built
directly from the staging dir.

This means that a few build artifacts need to be restored to allow out of
tree modules to once again build.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/kernel.bbclass

index bca34f4698d6e5285db3b315408abceb89f0855c..6eb87acf0692fd4cc4ed8b6231a95d65c9359969 100644 (file)
@@ -223,6 +223,29 @@ kernel_do_install() {
        #
 
        echo "${KERNEL_VERSION}" > $kerneldir/kernel-abiversion
+       
+       # Copy files required for module builds
+       cp System.map $kerneldir/System.map-${KERNEL_VERSION}
+       cp Module.symvers $kerneldir/
+       cp .config $kerneldir/
+       mkdir -p $kerneldir/include/config
+       cp include/config/kernel.release $kerneldir/include/config/kernel.release
+
+       # As of Linux kernel version 3.0.1, the clean target removes
+       # arch/powerpc/lib/crtsavres.o which is present in
+       # KBUILD_LDFLAGS_MODULE, making it required to build external modules.
+       if [ ${ARCH} = "powerpc" ]; then
+               mkdir -p $kerneldir/arch/powerpc/lib/
+               cp arch/powerpc/lib/crtsavres.o $kerneldir/arch/powerpc/lib/crtsavres.o
+       fi
+
+       mkdir -p $kerneldir/include/generated/
+       cp -fR include/generated/* $kerneldir/include/generated/
+
+       if [ -d arch/${ARCH}/include/generated ]; then
+               mkdir -p $kerneldir/arch/${ARCH}/include/generated/
+               cp -fR arch/${ARCH}/include/generated/* $kerneldir/arch/${ARCH}/include/generated/
+       fi
 }
 do_install[prefuncs] += "package_get_auto_pr"