[meta-xilinx] meta-xilinx device-tree recipe on master / yocto pyro

Holden.Sandlar at ultra-fei.com Holden.Sandlar at ultra-fei.com
Wed Oct 4 14:34:04 PDT 2017


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 


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20171004/7a6f0272/attachment.html>


More information about the meta-xilinx mailing list