[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