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

Bruce Ashfield bruce.ashfield at gmail.com
Thu Nov 28 14:08:55 UTC 2019


On Thu, Nov 28, 2019 at 1:14 AM Peter Bergin <peter at berginkonsult.se> wrote:

> 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
>

Potentially stupid question (since obviously you've tested this on versions
less than v4.2) ..

Doesn't that find command return nothing in kernels < 4.1 and hence is a cp
-a --parents <nothing> $kerneldir/build ?

I haven't tested it myself (yet), so I thought I'd ask.

Thanks for fixing up the older kernel support!

Bruce



>
>         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
>
>

-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end
- "Use the force Harry" - Gandalf, Star Trek II
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20191128/05fe1fbe/attachment.html>


More information about the Openembedded-core mailing list