<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 2019-11-28 15:08, Bruce Ashfield
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CADkTA4NJAbLORAJXBgFtRt_NKjoipB0FusM7UKs=FNyKP=rFZQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">
<div dir="ltr">
<div class="gmail_default" style="font-size:small"><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Thu, Nov 28, 2019 at 1:14
AM Peter Bergin <<a href="mailto:peter@berginkonsult.se"
moz-do-not-send="true">peter@berginkonsult.se</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">When using kernel-devsrc
for older kernels do_install fails with:<br>
<br>
| cp: failed to get attributes of 'arch/x86/entry': No such
file or directory<br>
<br>
In the Linux kernel commit 1f57d5d85<br>
"x86/asm/entry: Move the arch/x86/syscalls/ definitions to
arch/x86/entry/syscalls/"<br>
moved some files copied in the kernel-devsrc recipe. Commit
1f57d5d85 was added in<br>
v4.2.<br>
<br>
To be able to use kernel-devsrc for kernels older than v4.2
this commit make use of find<br>
for the files that shall be copied.<br>
<br>
Signed-off-by: Peter Bergin <<a
href="mailto:peter@berginkonsult.se" target="_blank"
moz-do-not-send="true">peter@berginkonsult.se</a>><br>
---<br>
meta/recipes-kernel/linux/<a href="http://kernel-devsrc.bb"
rel="noreferrer" target="_blank" moz-do-not-send="true">kernel-devsrc.bb</a>
| 10 +++++-----<br>
1 file changed, 5 insertions(+), 5 deletions(-)<br>
<br>
diff --git a/meta/recipes-kernel/linux/<a
href="http://kernel-devsrc.bb" rel="noreferrer"
target="_blank" moz-do-not-send="true">kernel-devsrc.bb</a>
b/meta/recipes-kernel/linux/<a
href="http://kernel-devsrc.bb" rel="noreferrer"
target="_blank" moz-do-not-send="true">kernel-devsrc.bb</a><br>
index b68d945..b6f2dbc 100644<br>
--- a/meta/recipes-kernel/linux/<a
href="http://kernel-devsrc.bb" rel="noreferrer"
target="_blank" moz-do-not-send="true">kernel-devsrc.bb</a><br>
+++ b/meta/recipes-kernel/linux/<a
href="http://kernel-devsrc.bb" rel="noreferrer"
target="_blank" moz-do-not-send="true">kernel-devsrc.bb</a><br>
@@ -185,14 +185,14 @@ do_install() {<br>
cp -a --parents tools/include/tools/be_byteshift.h
$kerneldir/build/<br>
<br>
# required for generate missing syscalls prepare
phase<br>
- cp -a --parents
arch/x86/entry/syscalls/syscall_32.tbl $kerneldir/build<br>
+ cp -a --parents $(find arch/x86 -type f -name
"syscall_32.tbl") $kerneldir/build<br>
</blockquote>
<div><br>
</div>
<div>
<div class="gmail_default" style="font-size:small">Potentially
stupid question (since obviously you've tested this on
versions less than v4.2) .. </div>
<div class="gmail_default" style="font-size:small"><br>
</div>
<div class="gmail_default" style="font-size:small">Doesn't
that find command return nothing in kernels < 4.1 and
hence is a cp -a --parents <nothing>
$kerneldir/build ?<br>
</div>
<br>
</div>
</div>
</div>
</blockquote>
I have tested this on v4.1 and v5.2 for qemux86-64 target. Both
works well as I can see. I added '-v' flag to the changed cp
statements in the kernel-devsrc recipe. The outputs in
log.do_install was:<br>
<br>
For v4.1:<br>
'arch/x86/syscalls/syscall_32.tbl' ->
'/work/yocto/master/qemux86-64/tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0-r0/image/lib/modules/4.1.0-yocto-standard-upstream/build/arch/x86/syscalls/syscall_32.tbl'<br>
'arch/x86/syscalls/syscall_32.tbl' ->
'/work/yocto/master/qemux86-64/tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0-r0/image/lib/modules/4.1.0-yocto-standard-upstream/build/arch/x86/syscalls/syscall_32.tbl'<br>
'arch/x86/syscalls/syscalltbl.sh' ->
'/work/yocto/master/qemux86-64/tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0-r0/image/lib/modules/4.1.0-yocto-standard-upstream/build/arch/x86/syscalls/syscalltbl.sh'<br>
'arch/x86/syscalls/syscallhdr.sh' ->
'/work/yocto/master/qemux86-64/tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0-r0/image/lib/modules/4.1.0-yocto-standard-upstream/build/arch/x86/syscalls/syscallhdr.sh'<br>
'arch/x86/syscalls/syscall_64.tbl' ->
'/work/yocto/master/qemux86-64/tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0-r0/image/lib/modules/4.1.0-yocto-standard-upstream/build/arch/x86/syscalls/syscall_64.tbl'<br>
<br>
For v5.2:<br>
'arch/x86/entry/syscalls/syscall_32.tbl' ->
'/work/yocto/master/qemux86-64/tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0-r0/image/lib/modules/5.2.20-yocto-standard/build/arch/x86/entry/syscalls/syscall_32.tbl'<br>
'arch/x86/entry/syscalls/syscall_32.tbl' ->
'/work/yocto/master/qemux86-64/tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0-r0/image/lib/modules/5.2.20-yocto-standard/build/arch/x86/entry/syscalls/syscall_32.tbl'<br>
'arch/x86/entry/syscalls/syscalltbl.sh' ->
'/work/yocto/master/qemux86-64/tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0-r0/image/lib/modules/5.2.20-yocto-standard/build/arch/x86/entry/syscalls/syscalltbl.sh'<br>
'arch/x86/entry/syscalls/syscallhdr.sh' ->
'/work/yocto/master/qemux86-64/tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0-r0/image/lib/modules/5.2.20-yocto-standard/build/arch/x86/entry/syscalls/syscallhdr.sh'<br>
'arch/x86/entry/syscalls/syscall_64.tbl' ->
'/work/yocto/master/qemux86-64/tmp/work/qemux86_64-poky-linux/kernel-devsrc/1.0-r0/image/lib/modules/5.2.20-yocto-standard/build/arch/x86/entry/syscalls/syscall_64.tbl'<br>
<br>
Best regards,<br>
/Peter<br>
<br>
<blockquote type="cite"
cite="mid:CADkTA4NJAbLORAJXBgFtRt_NKjoipB0FusM7UKs=FNyKP=rFZQ@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<div>
<div class="gmail_default" style="font-size:small">I haven't
tested it myself (yet), so I thought I'd ask.</div>
<div class="gmail_default" style="font-size:small"><br>
</div>
<div class="gmail_default" style="font-size:small">Thanks
for fixing up the older kernel support!</div>
<div class="gmail_default" style="font-size:small"><br>
</div>
<div class="gmail_default" style="font-size:small">Bruce</div>
<br>
</div>
<div> </div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<br>
if [ "${ARCH}" = "x86" ]; then<br>
# files for 'make prepare' to succeed with
kernel-devel<br>
- cp -a --parents
arch/x86/entry/syscalls/syscall_32.tbl $kerneldir/build/<br>
- cp -a --parents
arch/x86/entry/syscalls/syscalltbl.sh $kerneldir/build/<br>
- cp -a --parents
arch/x86/entry/syscalls/syscallhdr.sh $kerneldir/build/<br>
- cp -a --parents
arch/x86/entry/syscalls/syscall_64.tbl $kerneldir/build/<br>
+ cp -a --parents $(find arch/x86 -type f -name
"syscall_32.tbl") $kerneldir/build/<br>
+ cp -a --parents $(find arch/x86 -type f -name
"syscalltbl.sh") $kerneldir/build/<br>
+ cp -a --parents $(find arch/x86 -type f -name
"syscallhdr.sh") $kerneldir/build/<br>
+ cp -a --parents $(find arch/x86 -type f -name
"syscall_64.tbl") $kerneldir/build/<br>
cp -a --parents arch/x86/tools/relocs_32.c
$kerneldir/build/<br>
cp -a --parents arch/x86/tools/relocs_64.c
$kerneldir/build/<br>
cp -a --parents arch/x86/tools/relocs.c
$kerneldir/build/<br>
-- <br>
2.7.4<br>
<br>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr" class="gmail_signature">- Thou shalt not follow
the NULL pointer, for chaos and madness await thee at its end<br>
- "Use the force Harry" - Gandalf, Star Trek II<br>
<br>
</div>
</div>
</blockquote>
<br>
</body>
</html>