[OE-core] [PATCH] kernel-devsrc: fix error with old (<4.2) x86 kernels

Peter Bergin peter at berginkonsult.se
Thu Nov 28 06:14:24 UTC 2019


When using kernel-devsrc for older kernels do_install fails with:

| cp: failed to get attributes of 'arch/x86/entry': No such file or directory

In the Linux kernel commit 1f57d5d85
"x86/asm/entry: Move the arch/x86/syscalls/ definitions to arch/x86/entry/syscalls/"
moved some files copied in the kernel-devsrc recipe. Commit 1f57d5d85 was added in
v4.2.

To be able to use kernel-devsrc for kernels older than v4.2 this commit make use of find
for the files that shall be copied.

Signed-off-by: Peter Bergin <peter at berginkonsult.se>
---
 meta/recipes-kernel/linux/kernel-devsrc.bb | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/meta/recipes-kernel/linux/kernel-devsrc.bb b/meta/recipes-kernel/linux/kernel-devsrc.bb
index b68d945..b6f2dbc 100644
--- a/meta/recipes-kernel/linux/kernel-devsrc.bb
+++ b/meta/recipes-kernel/linux/kernel-devsrc.bb
@@ -185,14 +185,14 @@ do_install() {
 	cp -a --parents tools/include/tools/be_byteshift.h $kerneldir/build/
 
 	# required for generate missing syscalls prepare phase
-	cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl $kerneldir/build
+	cp -a --parents $(find arch/x86 -type f -name "syscall_32.tbl") $kerneldir/build
 
 	if [ "${ARCH}" = "x86" ]; then
 	    # files for 'make prepare' to succeed with kernel-devel
-	    cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl $kerneldir/build/
-	    cp -a --parents arch/x86/entry/syscalls/syscalltbl.sh $kerneldir/build/
-	    cp -a --parents arch/x86/entry/syscalls/syscallhdr.sh $kerneldir/build/
-	    cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl $kerneldir/build/
+	    cp -a --parents $(find arch/x86 -type f -name "syscall_32.tbl") $kerneldir/build/
+	    cp -a --parents $(find arch/x86 -type f -name "syscalltbl.sh") $kerneldir/build/
+	    cp -a --parents $(find arch/x86 -type f -name "syscallhdr.sh") $kerneldir/build/
+	    cp -a --parents $(find arch/x86 -type f -name "syscall_64.tbl") $kerneldir/build/
 	    cp -a --parents arch/x86/tools/relocs_32.c $kerneldir/build/
 	    cp -a --parents arch/x86/tools/relocs_64.c $kerneldir/build/
 	    cp -a --parents arch/x86/tools/relocs.c $kerneldir/build/
-- 
2.7.4



More information about the Openembedded-core mailing list