Sorry, you need to enable JavaScript to visit this website.

Trouble building PetaLinux

Zedboard forums is currently read-only while it under goes maintenance.

Solved
8 posts / 0 new
chrisp_002
Junior(0)
Trouble building PetaLinux

Hi all,
 
Currently trying to get to grips with the MiniZed. Trying to get my head around how PetaLinux and Vivado are used in order to work towards bespoke utilization of the Zynq7000S.
 
At the moment I am trying to create build a new PetaLinux system image, after having modified the Kernel configuration to include additional drivers I need for my application. I have used the following process so far, executed in the order described below..
 
Downloaded the BSP..
'Creating a PetaLinux 2017.2 BSP used for Booting from QSPI and eMMC'
Sucessfully created a new PetaLinux project using the .bsp file included.
Used 'petalinux-config --get-hw-description' to reference the HDF file included in the aformentioned BSP package download.
Used 'petalinux-config -c kernel' to add additional drivers required for my project.
Used 'petalinux-build' to build a new system image.
 
As far as I know, I am executing the steps above in the correct order. However, during the petalinux-build I am getting errors.
The log containing the first error reads as follows..
 
EBUG: Executing python function sysroot_cleansstate
DEBUG: Python function sysroot_cleansstate finished
DEBUG: Executing shell function do_configure
MISC_ARG is  -yamlconf /home/chrisp/TestProj/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/device-tree-generation.yaml
APP_ARG is  -app "device-tree"
cmd is: xsct /home/chrisp/TestProj/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/dtgen.tcl -ws /home/chrisp/TestProj/build/../components/plnx_workspace/device-tree -pname device-tree-generation -rp /home/chrisp/TestProj/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/git -processor ps7_cortexa9_0 -hdf /home/chrisp/TestProj/deploy/images/plnx_arm/Xilinx-plnx_arm.hdf -arch 32  -app "device-tree"  -yamlconf /home/chrisp/TestProj/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/device-tree-generation.yaml
CRITICAL WARNING: [Board 49-71] The board_part definition was not found for em.avnet.com:minized:part0:1.2. The project's board_part property was not set, but the project's part property was set to xc7z007sclg225-1. Valid board_part values can be retrieved with the 'get_board_parts' Tcl command. Check if board.repoPaths parameter is set and the board_part is installed from the tcl app store.
INFO: [Hsi 55-1698] elapsed time for repository loading 0 seconds
ERROR: [Common 17-55] 'get_property' expects at least one object.
Resolution: If [get_<value>] was used to populate the object, check to make sure this command returns at least one valid object.
ERROR: [Hsi 55-1545] Problem running tcl command ::sw_device_tree::post_generate : ERROR: [Common 17-55] 'get_property' expects at least one object.
Resolution: If [get_<value>] was used to populate the object, check to make sure this command returns at least one valid object.

    while executing
"get_property IP_NAME [get_cells -hier $proc_name]"
    (procedure "update_cpu_node" line 23)
    invoked from within
"update_cpu_node $os_handle"
    (procedure "::sw_device_tree::post_generate" line 4)
    invoked from within
"::sw_device_tree::post_generate device_tree"
ERROR: [Hsi 55-1443] Error(s) while running TCL procedure post_generate()
generate_target failed
    while executing
"error "generate_target failed""
    invoked from within
"if {[catch {hsi generate_target -dir $project} res]} {
    error "generate_target failed"
}"
    (file "/home/chrisp/TestProj/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/dtgen.tcl" line 33)
WARNING: /home/chrisp/TestProj/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/temp/run.do_configure.25053:1 exit 1 from 'eval xsct /home/chrisp/TestProj/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/dtgen.tcl -ws /home/chrisp/TestProj/build/../components/plnx_workspace/device-tree -pname device-tree-generation -rp /home/chrisp/TestProj/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/git -processor ps7_cortexa9_0 -hdf /home/chrisp/TestProj/deploy/images/plnx_arm/Xilinx-plnx_arm.hdf -arch 32 ${APP_ARG} ${MISC_ARG}'
ERROR: Function failed: do_configure (log file is located at /home/chrisp/TestProj/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+3c7407f6f8-r0/temp/log.do_configure.25053)
 
Although I am working toward a solution, I am currently unable to resolve this issue. Any help would be greatly appriciated.
 
Cheers,
Chris.

chrisp_002
Junior(0)
FYI, I am using PetaLinux

FYI, I am using PetaLinux 2017.4 (and also have Vivado 2017.4 installed)

JFoster
Moderator(76)
Hi Chris,

Hi Chris,

Have you taken a look at our integrating Sensors on MiniZed with Petalinux Speedway?

http://zedboard.org/support/trainings-and-videos

Thats where I would start.

--Josh

chrisp_002
Junior(0)
Had a look through it, didn't

Had a look through it, didn't help an awful lot.. though I feel I'm slowly starting to pickup a bit more on the overall process. 
I think most of the problem is due to lack of a guide that goes from scratch through to an implemtented Petalinux system. All the guides I have found seem to gloss over different parts of the process, prompting the user to download and use pre-provided files.
One document, detailing a from-scratch to a bootable petalinux system, using no pre-provided files would be far more helpful than wading through all available documentation, trying to piece it together.

zedman2000
Moderator(10)
Chris,

Chris,

There are WIKI entries on Xilinx's with that level of detail with their kits and the above linked Tutorial is a generate from scratch tutorial. When scripting is provided in Avnet tutorials, it is there to allow a user to pick and choose the amount of detail they want to go through.

--Dan

chrisp_002
Junior(0)
I'll give it all a look, and

I'll give it all a look, and try going through that tutorial again. I think maybe I need to dig into the material a bit more by the sound of it.
 
Cheers,
Chris.

chrisp_002
Junior(0)
Well, turns out it was never

Well, turns out it was never gonna work.
Apparently in 2017.3/4 device tree generation doesn't build for single-core zynq devices, pretty big deal really. 
A patch was required.. https://www.xilinx.com/support/answers/70402.html
Petalinux is building fine now. 
Chris.
 
 

Jotus Kuo
Junior(0)
similar problem for building Petalinux using petalinux-v2017.2

Hi,
I use petalinux-v2017.2 to build project as following command line.

a. petalinux-create -t project --template zynq --name dacTest

b. cd dacTest

c. petalinux-config --get-hw-description=/mnt/shared/DAC

d. petalinux-build

 

But one error occurs as following.

 

[INFO] generating kernel configuration files

[INFO] generating kconfig for Rootfs

Generate rootfs kconfig

[INFO] oldconfig rootfs

[INFO] generating petalinux-user-image.bb

INFO: bitbake petalinux-user-image

Loading cache: 100% |###################################################################################################################################################################################################| Time: 0:00:01

Loaded 3235 entries from dependency cache.

Parsing recipes: 100% |#################################################################################################################################################################################################| Time: 0:00:04

Parsing of 2446 .bb files complete (2410 cached, 36 parsed). 3236 targets, 224 skipped, 0 masked, 0 errors.

NOTE: Resolving any missing task queue dependencies

Initialising tasks: 100% |##############################################################################################################################################################################################| Time: 0:01:01

Checking sstate mirror object availability: 100% |######################################################################################################################################################################| Time: 0:00:21

NOTE: Executing SetScene Tasks

NOTE: Executing RunQueue Tasks

ERROR: device-tree-generation-xilinx+gitAUTOINC+43551819a1-r0 do_configure: Function failed: do_configure (log file is located at /home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/temp/log.do_configure.9199)

ERROR: Logfile of failure stored in: /home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/temp/log.do_configure.9199

Log data follows:

| DEBUG: Executing python function sysroot_cleansstate

| DEBUG: Python function sysroot_cleansstate finished

| DEBUG: Executing shell function do_configure

| MISC_ARG is  -yamlconf /home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/device-tree-generation.yaml

| APP_ARG is  -app "device-tree"

| cmd is: xsct /home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/dtgen.tcl -ws /home/jotus/work/petalinux/DacProj/build/../components/plnx_workspace -pname device-tree-generation -rp /home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/git -processor ps7_cortexa9_0 -hdf /home/jotus/work/petalinux/DacProj/build/tmp/deploy/images/plnx_arm/Xilinx-plnx_arm.hdf -arch 32  -app "device-tree"  -yamlconf /home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/device-tree-generation.yaml

| INFO: [Hsi 55-1698] elapsed time for repository loading 0 seconds

| ERROR: [Common 17-55] 'get_property' expects at least one object.

| Resolution: If [get_<value>] was used to populate the object, check to make sure this command returns at least one valid object.

| ERROR: [Hsi 55-1545] Problem running tcl command ::sw_device_tree::generate : ERROR: [Common 17-55] 'get_property' expects at least one object.

| Resolution: If [get_<value>] was used to populate the object, check to make sure this command returns at least one valid object.

|     while executing

| "common::get_property IP_NAME $sink_periph"

|     ("foreach" body line 8)

|     invoked from within

| "foreach intr_sink ${intr_sink_pins} {

|               set sink_periph [::hsi::get_cells -of_objects $intr_sink]

|               if { [llength $sink_periph ] && [::hsi::utils::is_..."

|     (procedure "get_intr_cntrl_name" line 38)

|     invoked from within

| "get_intr_cntrl_name $drv_handle $pin"

|     ("foreach" body line 2)

|     invoked from within

| "foreach pin ${intr_port_name} {

|               set connected_intc [get_intr_cntrl_name $drv_handle $pin]

|               if {[llength $connected_intc] == 0 } {

|                       dtg_warning "I..."

|     (procedure "gen_interrupt_property" line 18)

|     invoked from within

| "gen_interrupt_property $drv_handle"

|     ("foreach" body line 7)

|     invoked from within

| "foreach drv_handle [get_drivers] {

|         # generate the default properties

|         gen_peripheral_nodes $drv_handle "create_node_only"

|         gen_r..."

|     (procedure "::sw_device_tree::generate" line 3)

|     invoked from within

| "::sw_device_tree::generate device_tree"

| ERROR: [Hsi 55-1442] Error(s) while running TCL procedure generate()

| generate_target failed

|     while executing

| "error "generate_target failed""

|     invoked from within

| "if {[catch {hsi generate_target -dir $project} res]} {

|       error "generate_target failed"

| }"

|     (file "/home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/dtgen.tcl" line 33)

| WARNING: /home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/temp/run.do_configure.9199:1 exit 1 from 'eval xsct /home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/dtgen.tcl -ws /home/jotus/work/petalinux/DacProj/build/../components/plnx_workspace -pname device-tree-generation -rp /home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/git -processor ps7_cortexa9_0 -hdf /home/jotus/work/petalinux/DacProj/build/tmp/deploy/images/plnx_arm/Xilinx-plnx_arm.hdf -arch 32 ${APP_ARG} ${MISC_ARG}'

| ERROR: Function failed: do_configure (log file is located at /home/jotus/work/petalinux/DacProj/build/tmp/work/plnx_arm-xilinx-linux-gnueabi/device-tree-generation/xilinx+gitAUTOINC+43551819a1-r0/temp/log.do_configure.9199)

ERROR: Task (/home/jotus/work/petalinux/components/yocto/source/arm/layers/meta-xilinx-tools/recipes-bsp/device-tree/device-tree-generation_git.bb:do_configure) failed with exit code '1'

NOTE: Tasks Summary: Attempted 2329 tasks of which 1865 didn't need to be rerun and 1 failed.

 

Summary: 1 task failed:

  /home/jotus/work/petalinux/components/yocto/source/arm/layers/meta-xilinx-tools/recipes-bsp/device-tree/device-tree-generation_git.bb:do_configure

Summary: There was 1 ERROR message shown, returning a non-zero exit code.

ERROR: Failed to build project

 

 

Any solution will be grateful.
BTW, how to attach my hdf file? I doubt my hdf file is the problem.