<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 &lt;<a href="mailto:peter@berginkonsult.se"
              moz-do-not-send="true">peter@berginkonsult.se</a>&gt;
            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 &lt;<a
              href="mailto:peter@berginkonsult.se" target="_blank"
              moz-do-not-send="true">peter@berginkonsult.se</a>&gt;<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 &lt; 4.1 and
              hence is a cp -a --parents &lt;nothing&gt;
              $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' -&gt;
'/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' -&gt;
'/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' -&gt;
'/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' -&gt;
'/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' -&gt;
'/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' -&gt;
'/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' -&gt;
'/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' -&gt;
'/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' -&gt;
'/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' -&gt;
'/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>