AR# 76856

|

2021.1 Zynq UltraScale+ MPSOC: Yocto/PetaLinux fails to build the FSBL and PMUFW when an RFDC IP is enabled in the design

描述

In the 2021.1 release, Yocto/PetaLinux fails to build when the design contains an RFDC IP.

The below errors are returned:


| cp: cannot stat '../build_libmetal/lib/include/metal': No such file or directory
| make[3]: *** [Makefile:7: include] Error 1
| make[2]: *** [Makefile:42: psu_cortexa53_0/libsrc/libmetal_v2_1/src/make.include] Error 2
| make[1]: *** [Makefile:18: all] Error 2
| make[1]: Leaving directory '/tmp/sandeepg/plnx/2021.1/zynqmp-dr-test/work/zynqmp_generic-xilinx-linux/fsbl-firmware/git+gitAUTOINC+d37a0e8824-r0/git/fsbl-firmware/fsbl-firmware/zynqmp_fsbl_bsp'
| make: *** [Makefile:32: zynqmp_fsbl_bsp/psu_cortexa53_0/lib/libxil.a] Error 2
| WARNING: /tmp/sandeepg/plnx/2021.1/zynqmp-dr-test/work/zynqmp_generic-xilinx-linux/fsbl-firmware/git+gitAUTOINC+d37a0e8824-r0/temp/run.do_compile.42575:170 exit 1 from 'exit 1'
| WARNING: Backtrace (BB generated script):
| #1: bbfatal_log, /tmp/sandeepg/plnx/2021.1/zynqmp-dr-test/work/zynqmp_generic-xilinx-linux/fsbl-firmware/git+gitAUTOINC+d37a0e8824-r0/temp/run.do_compile.42575, line 170
| #2: die, /tmp/sandeepg/plnx/2021.1/zynqmp-dr-test/work/zynqmp_generic-xilinx-linux/fsbl-firmware/git+gitAUTOINC+d37a0e8824-r0/temp/run.do_compile.42575, line 181
| #3: oe_runmake, /tmp/sandeepg/plnx/2021.1/zynqmp-dr-test/work/zynqmp_generic-xilinx-linux/fsbl-firmware/git+gitAUTOINC+d37a0e8824-r0/temp/run.do_compile.42575, line 160
| #4: do_compile, /tmp/sandeepg/plnx/2021.1/zynqmp-dr-test/work/zynqmp_generic-xilinx-linux/fsbl-firmware/git+gitAUTOINC+d37a0e8824-r0/temp/run.do_compile.42575, line 152
| #5: main, /tmp/sandeepg/plnx/2021.1/zynqmp-dr-test/work/zynqmp_generic-xilinx-linux/fsbl-firmware/git+gitAUTOINC+d37a0e8824-r0/temp/run.do_compile.42575, line 194
|
| Backtrace (metadata-relative locations):
| #1: bbfatal_log, plnx-workspace/2021.1/zynqmp-dr-test/components/yocto/layers/core/meta/classes/logging.bbclass, line 72
| #2: die, plnx-workspace/2021.1/zynqmp-dr-test/components/yocto/layers/core/meta/classes/base.bbclass, line 56
| #3: oe_runmake, plnx-workspace/2021.1/zynqmp-dr-test/components/yocto/layers/core/meta/classes/base.bbclass, line 65
| #4: do_compile, plnx-workspace/2021.1/zynqmp-dr-test/components/yocto/layers/meta-xilinx-tools/classes/xsctapp.bbclass, line 23
ERROR: Task (plnx-workspace/2021.1/zynqmp-dr-test/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb:do_compile) failed with exit code '1'
NOTE: Tasks Summary: Attempted 3731 tasks of which 3605 didn't need to be rerun and 2 failed.

Summary: 2 tasks failed:
plnx-workspace/2021.1/zynqmp-dr-test/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_git.bb:do_compile
plnx-workspace/2021.1/zynqmp-dr-test/components/yocto/layers/meta-xilinx/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_git.bb:do_compile
Summary: There were 4 ERROR messages shown, returning a non-zero exit code.
ERROR: Failed to build project. Check the plnx-workspace/2021.1/zynqmp-dr-test/build/build.log file for more details...
plnx-workspace/2021.1/zynqmp-dr-test $


解决方案

This is a known issue in the 2021.1 release of Yocto/PetaLinux for Zynq UltraScale+ RFSoC devices.

To fix this issue, you will need to apply the following work-around.

Root Cause:

The RFDC driver has libmetal library dependencies for building FSBL and PMUFW components and these are missing from the FSBL and PMUFW Yocto recipes.

PetaLinux:

The work-around should be applied to <plnx-proj-root>/project-spec/meta-user/recipes-bsp/emebeddedsw/fsbl-firmware_%.bbappend and <plnx-proj-root>/project-spec/meta-user/recipes-bsp/emebeddedsw/pmu-firmware_%.bbappend recipes

Note: For information on how to apply a patch/workaround to recipes in PetaLinux, please refer to (UG1144) or https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips

1) Create the embeddedsw directory, FSBL and PMU firmware recipes as shown below.

$ mkdir -p <plnx-proj-root>/project-spec/meta-user/recipes-bsp/emebeddedsw
$ touch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/emebeddedsw/fsbl-firmware_%.bbappend
$ touch <plnx-proj-root>/project-spec/meta-user/recipes-bsp/emebeddedsw/pmu-firmware_%.bbappend

2) Modify the fsbl-firmware_%.bbappend file with the below content using a text editor:

$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/emebeddedsw/fsbl-firmware_%.bbappend
  
# fsbl-fimware_%.bbappend content
XSCTH_MISC_append_zynqmp-dr = " -lib libmetal"


3) Modify the pmu-firmware_%.bbappend file with the below content using a text editor:

$ vim <plnx-proj-root>/project-spec/meta-user/recipes-bsp/emebeddedsw/pmu-firmware_%.bbappend

# pmu-fimware_%.bbappend content
XSCTH_MISC_append_zynqmp-dr = " -lib libmetal"

4) Clean the FSBL and PMUFW sstate cache and rebuild the FSBL and PMUFW recipes:

$ petalinux-build -c fsbl -x cleanall; petalinux-build -c pmufw -x cleanall
$ petalinux-build


Yocto:

The work-around should be applied to <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/emebeddedsw/fsbl-firmware_%.bbappend and <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/emebeddedsw/pmu-firmware_%.bbappend recipes

1) Modify the fsbl-firmware_%.bbappend file with the below content using a text editor:

$ vim <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/emebeddedsw/fsbl-firmware_%.bbappend
  
# fsbl-fimware_%.bbappend content
XSCTH_MISC_append_zynqmp-dr = " -lib libmetal"


2) Modify the pmu-firmware_%.bbappend file with the below content using a text editor:

$ vim <yocto-proj-root>/sources/meta-xilinx-tools/recipes-bsp/emebeddedsw/pmu-firmware_%.bbappend

# pmu-fimware_%.bbappend content
XSCTH_MISC_append_zynqmp-dr = " -lib libmetal"


3) Clean the FSBL and PMUFW sstate cache and rebuild the FSBL and PMUFW recipes:

$ bitbake fsbl -c cleanall; bibtake pmufw -c cleanall
$ bitbake fsbl; bitbake pmufw

链接问答记录

主要问答记录

Answer Number 问答标题 问题版本 已解决问题的版本
76526 PetaLinux 2021.1 - Product Update Release Notes and Known Issues N/A N/A
AR# 76856
日期 08/31/2021
状态 Active
Type 已知问题
器件
Tools
People Also Viewed