[meta-xilinx] meta-xilinx device-tree recipe on master / yocto pyro
Holden.Sandlar at ultra-fei.com
Holden.Sandlar at ultra-fei.com
Thu Oct 5 06:44:25 PDT 2017
Hi Peter,
I'm glad I'm not the only one who has run into this issue. I am
considering reverting a couple of patches to move back to having the
recipe directly point out the dts in the kernel sources instead of relying
on the kernel's do_shared_workdir task. I haven't tried building
everything with just meta-xilinx, but I did quickly try to remove
meta-xilinx-tools from my bblayers and build the device-tree recipe,
resulting in this error --
ERROR: ParseError at
/work/MPSoC/customization/meta-ultra/recipes-bsp/bootbin/xilinx-bootbin.bb:7:
Could not inherit file classes/xsct-tc.bbclass
For the moment I'll probably either revert the relevant commits as I
mentioned or duplicate the device tree sources into my local/custom
meta-layer as you mention. I would definitely like to know how to resolve
this issue though as intended for my own education on the xilinx recipes
and yocto build system.
Thanks,
Holden
From: Peter Smith <salerio at gmail.com>
To: Holden.Sandlar at ultra-fei.com
Cc: meta-xilinx at yoctoproject.org
Date: 10/05/2017 03:30 AM
Subject: Re: [meta-xilinx] meta-xilinx device-tree recipe on master
/ yocto pyro
I had the exact same problem yesterday. I have yet to look into it, but
what you are suggesting seems to be the case for me too.
Out of interest have you tried building the zcu102-zynqmp machine with
just the meta-xilinx (and poky) layers to see if that works as expected?
In my case.
I have a layer on top of these two where I have a customised .dts file and
I define KERNEL_DEVICETREE in a
recipes-kernel/linux linux-xlnx_%.bbappend file. To get around the problem
I temporarily duplicated by device tree file.
Best Regards
Peter
On 4 October 2017 at 22:34, <Holden.Sandlar at ultra-fei.com> wrote:
Hi all,
I'm hoping this is a quick and easy issue someone already knows the answer
to. I'm working with a ZCU102, using meta-petalinux, meta-xilinx,
meta-xilinx-tools and bitbake/poky 1.34.0 -- both meta-xilinx and
meta-xilinx-tools on the master branch and am having an issue with the
meta-xilinx device-tree recipe. Just for quick and easy reference, the
device-tree recipe is here:
https://github.com/Xilinx/meta-xilinx/blob/master/recipes-bsp/device-tree/device-tree.bb
The issue that I'm running into is that when I run "bitbake device-tree" I
get an error that there are no dts files in the device-tree/1.0-r0
directory. Full error shown below:
ERROR: device-tree-1.0-r0 do_compile: Function failed: do_compile (log
file is located at
/work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0/temp/log.do_compile.15884)
ERROR: Logfile of failure stored in:
/work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0/temp/log.do_compile.15884
Log data follows:
| DEBUG: Executing shell function do_compile
|
/work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0
| gcc: error:
/work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0/*.dts:
No such file or directory
| gcc: warning: ‘-x assembler-with-cpp’ after last input file has no
effect
| gcc: fatal error: no input files
| compilation terminated.
| WARNING:
/work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0/temp/run.do_compile.15884:1
exit 4 from 'gcc -E -nostdinc -Ulinux -x assembler-with-cpp
-I/work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0
-I/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102-zynqmp/kernel-source/arch/arm64/boot/dts
-I/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102-zynqmp/kernel-source/arch/arm64/boot/dts/include
-I/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102-zynqmp/kernel-source/arch/arm64/boot/dts/xilinx
-o `basename ${DTS_FILE}`.pp ${DTS_FILE}'
| ERROR: Function failed: do_compile (log file is located at
/work/MPSoC/yocto_2017.2/build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0/temp/log.do_compile.15884)
ERROR: Task
(/work/MPSoC/yocto_2017.2/sources/core/../meta-xilinx/recipes-bsp/device-tree/device-tree.bb:do_compile)
failed with exit code '1'
NOTE: Tasks Summary: Attempted 534 tasks of which 464 didn't need to be
rerun and 1 failed.
Summary: 1 task failed:
/work/MPSoC/yocto_2017.2/sources/core/../meta-xilinx/recipes-bsp/device-tree/device-tree.bb:do_compile
Summary: There were 5 WARNING messages shown.
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
After reviewing the history on this recipe, it appears the recipe was
restructured months ago to "Improve, clean up and remove
MACHINE_DEVICETREE". Based on this commit, it appears the intent was to
use the dts/dtsi files within the kernel sources as a base for generating
a device tree. There was a line added to ensure that
"virtual/kernel:do_shared_workdir" is run prior to the device-tree recipe.
My assumption is that the kernel recipe do_shared_workdir task is supposed
to copy the selected machine's dts files into the shared workdir so they
can be used by this device-tree recipe. However, this does not seem to
happen in my case --
/work/MPSoC/yocto_2017.2/build/tmp/work-shared/zcu102-zynqmp/kernel-source$
ls
arch COPYING Documentation fs ipc kernel Makefile
README scripts tools
block CREDITS drivers include Kbuild lib mm
REPORTING-BUGS security usr
certs crypto firmware init Kconfig MAINTAINERS net
samples sound virt
Additionally, the device-tree recipe loops over any *.dts files in the
${S} directory, which is mapped to ${WORKDIR} in this recipe (
https://github.com/Xilinx/meta-xilinx/blob/master/recipes-bsp/device-tree/device-tree.bb#L51
). This loop will effectively do an ls in the
build/tmp/work/zcu102_zynqmp-xilinx-linux/device-tree/1.0-r0 directory to
check for any *.dts files. This directory definitely does not contain any
dts files.
I'm guessing I'm missing something small/simple here. Can anyone provide
any guidance?
Thanks,
Holden
NOTICE: The contents of this document are proprietary to Ultra Electronics
Flightline Systems and the noted recipient/s and shall not be disclosed,
disseminated, copied, in whole or in part or used except for the purposes
expressly authorized in writing by Ultra Electronics Flightline Systems.
This document may contain technical data, which may be restricted for
export under the International Traffic in Arms Regulations (ITAR) or the
Export Administration Regulations (EAR). Violations of these export laws
may be subject to fines and penalties under the Arms Export Control Act
(22 U.S.C. 2778)
--
_______________________________________________
meta-xilinx mailing list
meta-xilinx at yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-xilinx
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20171005/246d4d79/attachment.html>
More information about the meta-xilinx
mailing list