cancel
Showing results for 
Search instead for 
Did you mean: 
450 Views
Registered: ‎08-21-2019

ZCU111 for AI evaluation (trying custom enablement)

Hi @jasonwu ,

I tried responding in the other thread (https://forums.xilinx.com/t5/Machine-Learning/ZCU111-for-AI-evaluation/m-p/1035419), but your forum sends my reply to spam, so here I go with a whole new forum.

I am now facing the following error.

T480:~/petalinux-ws/xilinx-zcu111-2018.2$ petalinux-build
[INFO] building project
[INFO] sourcing bitbake
INFO: bitbake petalinux-user-image
WARNING: Host distribution "ubuntu-18.04" has not been validated with this version of the build system; you may possibly experience unexpected failures. It is recommended that you use a tested distribution.
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3439 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:04
Parsing of 2552 .bb files complete (2509 cached, 43 parsed). 3441 targets, 139 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'rfdc-selftest' (but /home/lab/petalinux-ws/xilinx-zcu111-2018.2/project-spec/meta-plnx-generated/recipes-core/images/petalinux-user-image.bb RDEPENDS on or otherwise requires it)
rfdc-selftest was skipped: incompatible with machine zcu111-zynqmp (not in COMPATIBLE_MACHINE)
NOTE: Runtime target 'rfdc-selftest' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['rfdc-selftest']
NOTE: Runtime target 'kernel-image-image' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['kernel-image-image', 'petalinux-user-image', 'rfdc-selftest']
NOTE: Runtime target 'kernel-base' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['kernel-base', 'petalinux-user-image', 'rfdc-selftest']
ERROR: Required build target 'petalinux-user-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['petalinux-user-image', 'rfdc-selftest']

Summary: There was 1 WARNING message shown.
Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
ERROR: Failed to build project

I got here by doing the following:

1) Downloaded the dpu trd zcu102 for 2018.2

2) Edited the trd_prj.tcl file to select zcu111 instead of zcu102

3) Source trd_prj.tcl to create the block diagram of the dpu (vivado 2018.2)

4) Run the flow all the way to the bitstream (timing met) + export the hdf

5) created a petalinux 2018.2 project based on zcu111 base bsp and run the build

petalinux-create -t project -s xilinx-zcu111-2018.2.bsp
cd xilinx-zcu111-2018.2
petalinux-config --get-hw-description=~/vivado-ws/zcu111-dpu-trd-2018-2/pl/prj/zcu111.sdk --oldconfig
petalinux-build

I suspect the violation is caused from some hdf/vivado related setup to activate rootfs and rfdc because of the following:

1) I migrated from zcu102->111 by only modifying the part/board name in the trd_prj.tcl file before launching it in vivado (unfortunately any other attempt to migrate the block diagram from inside vivado failed; also following the guide you had mentioned did lead very far).

2) it does not seem to be bsp-related, because I tried th also the eval bsp (rdf0476-zcu111-rf-dc-eval-tool-2018-2) which contains the recipes for rfdc, but I get the same error.

3) it does not seem to be related to a missing explicit petalinux configuration step, because I can successfully build other hdf, including the pre-built hdf's shipped with the bsp's (by only changing the petalinux-config line to point to the other hdf)

Any idea how I should try to get past this violation?

0 Kudos
7 Replies
Highlighted
Xilinx Employee
Xilinx Employee
370 Views
Registered: ‎03-27-2013

Re: ZCU111 for AI evaluation (trying custom enablement)

Hi @marco.facchini2 ,

 

Thanks for your detailed information.

It seems that you are using a PetaLinux bsp from other project.

The DPU intergration flow has contained all the PetaLinux project configrations so please just create e new project with a new PetaLinux flow.

Like described at https://github.com/Xilinx/Edge-AI-Platform-Tutorials/tree/master/docs/DPU-Integration

petalinux-create -t project -n petalinux --template zynqMP

 And following the steps on that webpage to configure the PetaLinux project.

And BTW if possible I would suggest you to use the latest design tools.

Best Regards,
Jason
-----------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if the information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
-----------------------------------------------------------------------------------------------
0 Kudos
Highlighted
277 Views
Registered: ‎08-21-2019

Re: ZCU111 for AI evaluation (trying custom enablement)

Thank you Jason,

I was able to get the petalinux to complete, but when i go create the package for the BOOT.BIN I have found that in the image/linux there is a key file missing: system.bit. How come? I actually fin no .bit file anywhere in the petalinux project folder.

I looked for it in the vivado folder and I have found one .bit file in: zcu111.run/impl_1_01/top_wrapper.bit is can I use this file instead of system.bit? if not, what could be causing the file not being generated?

--------secondary problem

when I petalinux-build --sdk, the following error occurs:

ERROR: Function failed: do_configure (log file is located at /home/lab/petalinux-ws/zcu111-2018.2-custom_flow/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-glibc-initial/2.26-r0/temp/log.do_configure.12981)
ERROR: Task (virtual:nativesdk:/home/lab/petalinux-2018.2/components/yocto/source/aarch64/layers/core/meta/recipes-core/glibc/glibc-initial_2.26.bb:do_configure) failed with exit code '1'

and looking at the log file mentioned in the error, I see:

/home/lab/petalinux-ws/zcu111-2018.2-custom_flow/build/tmp/work/x86_64-nativesdk-petalinux-linux/nativesdk-glibc-initial/2.26-r0/recipe-sysroot-native/usr/bin/x86_64-petalinux-linux.gcc-crosssdk-initial-x86_64-petalinux-linux/../../libexec/x86_64-petalinux-linux.gcc-crosssdk-initial-x86_64-petalinux-linux/gcc/x86_64-petalinux-linux/7.2.0/ld... v. ?.??, bad

*** These critical programs are missing or too old: GNU ld

which is clearly not accurate (the ?.?? indicates the tool does not know how to read the version, which by the way is the most recent). Any idea how to get the GNU ld to be recognized? (as a reminder, I am running 2018.2 petlainux/vivado, on a ubuntu 18.04, with all package installed according to user guide.

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
248 Views
Registered: ‎03-27-2013

Re: ZCU111 for AI evaluation (trying custom enablement)

Hi @marco.facchini2 ,

 

Have you double checked if you select the "Include bitstream" option when export hardware in Vivado like below:

1.PNG

For PetaLinux SDK compiling flow error issue I haven't met this issue before. I have done some quick research on internet with key word "*** These critical programs are missing or too old: GNU ld" and some of the search results are more like version missmatch problem. And as I know Ubuntu 18.04 is not on the support list for Vivado/PetaLinux 2018.2(ug973). I am not sure if this could be the root cause. On my side with a pure installation of Ubuntu 18.04 and libs/tools mentioned in UG1144(v2019.1) I can run 2019.1 PetaLinux SDK built sucessfully.

And BTW for now for pure DPU Vivado flow the recommended version is 2019.1/DNNDK 3.1 or you can try Vitis flow(2019.2) with VAI 1.0.

 

Best Regards,
Jason
-----------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if the information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
-----------------------------------------------------------------------------------------------
0 Kudos
Highlighted
190 Views
Registered: ‎08-21-2019

Re: ZCU111 for AI evaluation (trying custom enablement)

Thanks @jasonwu, very good help so far,

I was not able to solve the sdk problem so I went donw one of the other paths you suggested and installed the most recent 2019.1 tools

With that I follow the tutorial again and during the petalinux-build I get a new error:

 

[INFO] generating user layers
INFO: bitbake petalinux-user-image
Loading cache: 100% |############################################| Time: 0:00:00
Loaded 3813 entries from dependency cache.
Parsing recipes: 100% |##########################################| Time: 0:00:04
Parsing of 2780 .bb files complete (2770 cached, 10 parsed). 3815 targets, 145 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'libmali-xlnx' (but /home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/project-spec/meta-plnx-generated/recipes-core/images/petalinux-user-image.bb RDEPENDS on or otherwise requires it)
libmali-xlnx was skipped: incompatible with machine zcu111-zynqmp (not in COMPATIBLE_MACHINE)
NOTE: Runtime target 'libmali-xlnx' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libmali-xlnx']
NOTE: Runtime target 'u-boot-zynq-uenv-dev' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['u-boot-zynq-uenv-dev', 'virtual/kernel', 'petalinux-user-image', 'libmali-xlnx']
NOTE: Runtime target 'u-boot-zynq-uenv' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['u-boot-zynq-uenv', 'virtual/kernel', 'petalinux-user-image', 'libmali-xlnx']
NOTE: Runtime target 'kernel-modules' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['kernel-modules', 'petalinux-user-image', 'libmali-xlnx']
NOTE: Runtime target 'kernel-image-fitimage' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['kernel-image-fitimage', 'petalinux-user-image', 'libmali-xlnx']
ERROR: Required build target 'petalinux-user-image' has no buildable providers.
Missing or unbuildable dependency chain was: ['petalinux-user-image', 'libmali-xlnx']

Summary: There were 2 ERROR messages shown, returning a non-zero exit code.
ERROR: Failed to build project

 

If I disable the libmali-xlnx through the "petalinux-config -c rootfs" command, the error goes away and the petalinux-build continues. However, I do not believe I will get what I need without the libmali-xlnx, and therefore, disabling it does not seem the right way to go.

The only two xilinx blogs that I have found related to libmali-xlnx were not helpful. In particular, I did follow these instructions, changing the yocto MACHINE name to zcu111-zynqmp to progress far enough: https://forums.xilinx.com/t5/Embedded-Linux/Petalinux-Yocto-rel-v2019-1-build-fails-due-to-mali400-xlnx/td-p/985157
however this flow comes to an abrupt end during the execution of "bitbake libmali-xlnx -c cleanstate", showing the same error as the petalinux-build:

 

ERROR: Nothing PROVIDES 'libmali-xlnx'
libmali-xlnx was skipped: incompatible with machine zcu111-zynqmp (not in COMPATIBLE_MACHINE)

 

This was also noticed by the user in the blog https://forums.xilinx.com/t5/Embedded-Linux/libmali-xlnx-was-skipped-incompatible-with-machine-zcu111-zynqmp/m-p/1046783, but this blog does not contain any response from xilinx.

Can you please help me understand how can I progress further? Why is libmali-xlnx incompatible with zcu111, and how do I make it compatible? Did I miss a step or need some undocumented step?

Thank you for your help so far Jason

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
155 Views
Registered: ‎03-27-2013

Re: ZCU111 for AI evaluation (trying custom enablement)

Hi @marco.facchini2 ,

 

I have done some investigation on my side.

And I am afraid that according to this DS https://www.xilinx.com/publications/product-briefs/xilinx-rfsoc-product-brief.pdf 

the RFSoC device doesn't have a mali GPU inside. So I think that would be the reason libmali-xlnx can't be compatible with ZCU111.

To work around this issue I would suggest you to disable this option.

But I can't guarantee if there would be any dependence between libmali-xlnx and the whole DNNDK SW stack here.

You may have a try but I can see the risk here.  Sorry for not noticing it at very first time and hope you good luck.

 

Best Regards,
Jason
-----------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if the information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
-----------------------------------------------------------------------------------------------
0 Kudos
Highlighted
99 Views
Registered: ‎08-21-2019

Re: ZCU111 for AI evaluation (trying custom enablement)

@jasonwo 

thank you for spotting this problem.

I tried and indeed the dnndk does give problems a few lines later in the build, not sure if it is a related or unrelated problem. Any thought?

WARNING: dnndk-1.0-r0 do_package_qa: QA Issue: dnndk: found library in wrong location: /usr/local/lib/libn2cube.so [libdir]
ERROR: petalinux-user-image-1.0-r0 do_rootfs: Could not invoke dnf. Command '/home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/build/tmp/work/zcu111_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=debug -y -c /home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/build/tmp/work/zcu111_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=/home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/build/tmp/work/zcu111_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/rootfs/etc/yum.repos.d --repofrompath=oe-repo,/home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/build/tmp/work/zcu111_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/oe-rootfs-repo --installroot=/home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/build/tmp/work/zcu111_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/rootfs --setopt=logdir=/home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/build/tmp/work/zcu111_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/temp --nogpgcheck install kernel-modules packagegroup-petalinux-v4lutils packagegroup-core-boot openssh-sftp-server packagegroup-petalinux-x11 tcf-agent canutils shadow autostart pciutils udev-extraconf watchdog-init packagegroup-petalinux-opencv dnndk packagegroup-petalinux-matchbox run-postinsts dpu hellopm mtd-utils packagegroup-core-ssh-dropbear bridge-utils base-passwd' returned 1:
DNF version: 2.7.5
cachedir: /home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/build/tmp/work/zcu111_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/rootfs/var/cache/dnf
Added oe-repo repo from /home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/build/tmp/work/zcu111_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/oe-rootfs-repo
repo: using cache for: oe-repo
not found deltainfo for: oe-repo
not found updateinfo for: oe-repo
oe-repo: using metadata from Wed 25 Mar 2020 05:33:23 PM UTC.
Last metadata expiration check: 0:00:00 ago on Wed 25 Mar 2020 05:33:23 PM UTC.
--> Starting dependency resolution
--> Finished dependency resolution
Error: 
 Problem: conflicting requests
  - nothing provides libopencv_core.so.3.3()(64bit) needed by dnndk-1.0-r0.zcu111_zynqmp

ERROR: petalinux-user-image-1.0-r0 do_rootfs: Function failed: do_rootfs
ERROR: Logfile of failure stored in: /home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/build/tmp/work/zcu111_zynqmp-xilinx-linux/petalinux-user-image/1.0-r0/temp/log.do_rootfs.13947
ERROR: Task (/home/lab/petalinux-ws/zcu111-2019.1-custom_flow/custom20200305/project-spec/meta-plnx-generated/recipes-core/images/petalinux-user-image.bb:do_rootfs) failed with exit code '1'

This is by using the recipes from the tutorial package, like you earlier suggested. Maybe I should generate the dnndk recipes some other way that makes them compatible with xcu111? How do I do that?

0 Kudos
Highlighted
Xilinx Employee
Xilinx Employee
62 Views
Registered: ‎03-27-2013

Re: ZCU111 for AI evaluation (trying custom enablement)

Hi @marco.facchini2 ,

 

Seems like a mismatch for OpenCV version.

If you are using the recipes from the tutorial, it should require for an old version of OpenCV.

I believe that I suggested you to use all the custom files from the DPU TRD released on same version as tools.

e.g. if you are using Vivado+PetaLinux 2019.1 you should download DPU TRD 2019.1 and use the recipes inside:

AI Hub front page:

https://www.xilinx.com/products/design-tools/ai-inference/ai-developer-hub.html#edge

DPU TRD 2019.1:

zcu102-dpu-trd-2019-1-190809.zip

Please let me know if you are using Vitis or a different version of Vivado/PetaLinux tools.

Best Regards,
Jason
-----------------------------------------------------------------------------------------------
Please mark the Answer as "Accept as solution" if the information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
-----------------------------------------------------------------------------------------------
0 Kudos