[OE-core] [PATCH] kernel-devsrc: restore compatibility with kernel < v4.10

S. Lockwood-Childs sjl at vctlabs.com
Tue Feb 5 00:39:01 UTC 2019

The kernel commit that added the syscall table generation tools
for ARM platform (ARM: convert to generated system call tables)
wasn't merged until kernel release v4.10.

Current assumption in kernel-devsrc recipe is that these syscall
scripts exist, which breaks the build for external board layers that are
still using 4.9.x kernels:

  cp: cannot stat ‘arch/arm/tools/syscall*’: No such file or directory

so only try to install the scripts when they actually exist.

Signed-off-by: S. Lockwood-Childs <sjl at vctlabs.com>
 meta/recipes-kernel/linux/kernel-devsrc.bb | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index 361ad21..5822019 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -157,7 +157,12 @@ do_install() {
 	    # include a few files for 'make prepare'
 	    cp -a --parents arch/arm/tools/gen-mach-types $kerneldir/build/
 	    cp -a --parents arch/arm/tools/mach-types $kerneldir/build/
-	    cp -a --parents arch/arm/tools/syscall* $kerneldir/build/
+	    # ARM syscall table tools only exist for kernels v4.10 or later
+            SYSCALL_TOOLS=$(find arch/arm/tools -name "syscall*")
+            if [ -n "$SYSCALL_TOOLS" ] ; then
+	        cp -a --parents $SYSCALL_TOOLS $kerneldir/build/
+            fi
             cp -a --parents arch/arm/kernel/module.lds $kerneldir/build/

More information about the Openembedded-core mailing list