05-21-2020 02:29 AM
Hi all,
I hope someone can help as I am at a loss. I'm trying to build a petalinux system for a KCU105 board using Vivado 2019.2.1
I have used an example template and selected the customisable MicroBlaze design, selecting the KCU105 hardware.
When I export the hardware then start the petalinux configuration the petalinux build is failing.
petalinux-create -t project --template microblaze --force -n petalinux --source ../xilinx-kcu105-axi-full-v2019.2-final.bsp cd petalinux/ petalinux-config --get-hw-description ../project_1/ --silentconfig petalinux-config -c kernel petalinux-build
Error: /home/peckc/Documents/KCU105/petalinux/build/../components/plnx_workspace/device-tree/device-tree/kcu105.dtsi:5.1-10 Label or path iic_main not found FATAL ERROR: Syntax error parsing input tree
=============================== MICROBLAZE BSP generation steps: ================================ This section explain about BSP generation steps. 1. Create and Configure a project $ petalinux-create -t project --template microblaze --force -n <name of the project> $ petalinux-config --get-hw-description=<path to hdf directory> --oldconfig $ petalinux-config -c kernel 2. Select following configs and save it. I2C_MUX EEPROM_AT24 I2C_MUX_PCA954x I2C_CHARDEV COMMON_CLK_SI570 CONFIG_TMPFS (enable for kcu105 design) 3. Project Build $ petalinux-build $ mkdir -p pre-built/linux/images $ cp <project root>/images/linux/* <project root>/pre-built/linux/images/ 4. Package the BSP with files generated with following command $ petalinux-package --bsp -p <plnx-proj-root> --hwsource <hw-project-root> --output <name of the BSP> NOTE: --hwsource is optional and can be removed
[INFO] building project [INFO] sourcing bitbake [INFO] generating user layers [INFO] generating workspace directory INFO: bitbake petalinux-user-image Loading cache: 100% |#################################################################################################| Time: 0:00:00 Loaded 3979 entries from dependency cache. Parsing recipes: 100% |###############################################################################################| Time: 0:00:03 Parsing of 2893 .bb files complete (2891 cached, 2 parsed). 3980 targets, 558 skipped, 0 masked, 0 errors. NOTE: Resolving any missing task queue dependencies WARNING: /opt/pkg/PetaLinux/components/yocto/source/microblaze_lite/layers/meta-xilinx/meta-xilinx-bsp/recipes-kernel/linux/linux-xlnx_2019.2.bb.do_compile is tainted from a forced run Initialising tasks: 100% |############################################################################################| Time: 0:00:02 Checking sstate mirror object availability: 100% |####################################################################| Time: 0:00:32 Sstate summary: Wanted 771 Found 614 Missed 314 Current 35 (79% match, 80% complete) NOTE: Executing SetScene Tasks NOTE: Executing RunQueue Tasks ERROR: device-tree-xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0 do_compile: Error executing a python function in exec_python_func() autogenerated: The stack trace of python calls that resulted in this exception/failure was: File: 'exec_python_func() autogenerated', lineno: 2, function: <module> 0001: *** 0002:devicetree_do_compile(d) 0003: File: '/opt/pkg/PetaLinux/components/yocto/source/microblaze_lite/layers/core/meta/classes/devicetree.bbclass', lineno: 131, function: devicetree_do_compile 0127: if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or devicetree_source_is_overlay(dtspath)): 0128: continue # skip non-.dts files and non-overlay files 0129: except: 0130: continue # skip if can't determine if overlay *** 0131: devicetree_compile(dtspath, includes, d) 0132:} 0133: 0134:devicetree_do_install() { 0135: for DTB_FILE in `ls *.dtb *.dtbo`; do File: '/opt/pkg/PetaLinux/components/yocto/source/microblaze_lite/layers/core/meta/classes/devicetree.bbclass', lineno: 119, function: devicetree_compile 0115: dtcargs += ["-i", i] 0116: dtcargs += ["-o", "{0}.{1}".format(dtname, "dtbo" if isoverlay else "dtb")] 0117: dtcargs += ["-I", "dts", "-O", "dtb", "{0}.pp".format(dts)] 0118: bb.note("Running {0}".format(" ".join(dtcargs))) *** 0119: subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) 0120: 0121:python devicetree_do_compile() { 0122: includes = expand_includes("DT_INCLUDE", d) 0123: listpath = d.getVar("DT_FILES_PATH") File: '/opt/pkg/PetaLinux/components/yocto/source/microblaze_lite/buildtools/sysroots/x86_64-petalinux-linux/usr/lib/python3.5/subprocess.py', lineno: 398, function: run 0394: raise 0395: retcode = process.poll() 0396: if check and retcode: 0397: raise CalledProcessError(retcode, process.args, *** 0398: output=stdout, stderr=stderr) 0399: return CompletedProcess(process.args, retcode, stdout, stderr) 0400: 0401: 0402:def list2cmdline(seq): Exception: subprocess.CalledProcessError: Command '['dtc', '-R', '8', '-b', '0', '-p', '0x1000', '-i', '/home/peckc/Documents/KCU105/petalinux/build/tmp/work/plnx_microblazeel-xilinx-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0', '-i', '/home/peckc/Documents/KCU105/petalinux/build/tmp/work-shared/plnx-microblazeel/kernel-source/arch/microblaze/boot/dts', '-i', '/home/peckc/Documents/KCU105/petalinux/build/tmp/work-shared/plnx-microblazeel/kernel-source/scripts/dtc/include-prefixes', '-i', '/home/peckc/Documents/KCU105/petalinux/build/../components/plnx_workspace/device-tree/device-tree', '-i', '/home/peckc/Documents/KCU105/petalinux/build/tmp/work-shared/plnx-microblazeel/kernel-source/include', '-o', 'system-top.dtb', '-I', 'dts', '-O', 'dtb', 'system-top.dts.pp']' returned non-zero exit status 1 Subprocess output: Error: /home/peckc/Documents/KCU105/petalinux/build/../components/plnx_workspace/device-tree/device-tree/kcu105.dtsi:5.1-10 Label or path iic_main not found FATAL ERROR: Syntax error parsing input tree ERROR: device-tree-xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0 do_compile: Function failed: devicetree_do_compile ERROR: Logfile of failure stored in: /home/peckc/Documents/KCU105/petalinux/build/tmp/work/plnx_microblazeel-xilinx-linux/device-tree/xilinx-v2019.2+gitAUTOINC+a8b39cf536-r0/temp/log.do_compile.10219 ERROR: Task (/opt/pkg/PetaLinux/components/yocto/source/microblaze_lite/layers/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb:do_compile) failed with exit code '1' NOTE: Tasks Summary: Attempted 2685 tasks of which 2085 didn't need to be rerun and 1 failed. Summary: 1 task failed: /opt/pkg/PetaLinux/components/yocto/source/microblaze_lite/layers/meta-xilinx/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bb:do_compile 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
05-27-2020 04:52 AM
petalinux-create -t project --template microblaze --force -n petalinux --source ../xilinx-kcu105-axi-full-v2019.2-final.bsp
cd petalinux/
petalinux-config --get-hw-description ../project_1/ --silentconfig
petalinux-config -c kernel
petalinux-build
So, you are using the BSP. This will populate the DTG Settings with kcu105. This will pull in the kcu105.dtsi file:
Then you went and used a custom HDF file in the petalinux-config --get-hw-description step. This will create a new pl.dtsi based on your xsa/hdf. However, there
is no iic_main node here. So, when you are compiling in the DTC you are getting the error.
Also, why are you using the --template and the -s bsp? You don't need to do this. You can either use the BSP, or the template.
To fix your error, just go to petalinux-config -> DTG settings and remove the kcu105 and rebuild
05-24-2020 05:58 AM
Hi @cvpeck,
Could you please share your HDF file.I would like to reproduce this issue at our end.
Thanks & Regards,
Shubhangu
05-25-2020 05:02 AM - edited 05-25-2020 05:03 AM
Can you check the pl.dtsi to make sure the label (iic_main) in the error message exists? Im guessing it doesnt.
Error: /home/peckc/Documents/KCU105/petalinux/build/../components/plnx_workspace/device-tree/device-tree/kcu105.dtsi:5.1-10 Label or path iic_main not found FATAL ERROR: Syntax error parsing input tree
05-27-2020 04:34 AM
05-27-2020 04:40 AM
05-27-2020 04:52 AM
petalinux-create -t project --template microblaze --force -n petalinux --source ../xilinx-kcu105-axi-full-v2019.2-final.bsp
cd petalinux/
petalinux-config --get-hw-description ../project_1/ --silentconfig
petalinux-config -c kernel
petalinux-build
So, you are using the BSP. This will populate the DTG Settings with kcu105. This will pull in the kcu105.dtsi file:
Then you went and used a custom HDF file in the petalinux-config --get-hw-description step. This will create a new pl.dtsi based on your xsa/hdf. However, there
is no iic_main node here. So, when you are compiling in the DTC you are getting the error.
Also, why are you using the --template and the -s bsp? You don't need to do this. You can either use the BSP, or the template.
To fix your error, just go to petalinux-config -> DTG settings and remove the kcu105 and rebuild
05-28-2020 04:31 AM
It’s due to my lack of understanding, I’m pretty new at this.
Thanks for the reply. I’ll give that a go.
regards,
Chris
05-29-2020 12:28 AM
Thank you all for your patience and assistance. I can confirm that running the following fixed the issue -