We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Visitor fchris
Registered: ‎11-07-2015

Petalinux: Failed to download built Linux image into a ZC706 board via JTAG

Hi, this problem was asked by someone else earlier (09-21-2015 10:01 AM) with no answers.  I have run into the same problem this weekend and  I am hoping for better help from Xilinx this time :-)


I am using Petalinux v2015.2.1-final on an Ubuntu 14.04 machine.  I also have Vivado Suite 2015.2 installed.  Following the instructions given in the Petalinux Getting Started Guide, I am trying to download a new Linux image built in the previous steps via JTAG into a ZC706 board and then boot it.  I can download and boot the same board via JTAG using the pre-built image with no problems.  Included below is the output of the problem command:


$ petalinux-boot --jtag --kernel

INFO: Append dtb - /home/****/zynq/BSPs/Xilinx-ZC706-2015.2/images/linux/system.dtb and other options to boot zImage
INFO: Launching XSDB for file download and boot.
INFO: This may take a few minutes, depending on the size of your image.

rlwrap: warning: your $TERM is 'xterm' but rlwrap couldn't find it in the terminfo database. Expect some problems.: Inappropriate ioctl for device

INFO: Downloading ELF file to the target.                                                           
INFO: The XSDB log is as follows
Got $XILINX_SDK: /home/****/Xilinx/SDK/2015.2
attempting to launch hw_server

****** Xilinx hw_server v2015.2
  **** Build date : Jun 26 2015-16:42:45
    ** Copyright 1986-1999, 2001-2015 Xilinx, Inc. All Rights Reserved.

INFO: hw_server application started
INFO: Use Ctrl-C to exit hw_server application

INFO: To connect to this hw_server instance use url: TCP:

Downloading Program -- /home/****/zynq/BSPs/Xilinx-ZC706-2015.2/images/linux/zynq_fsbl.elf
    section, .text: 0x00000000 - 0x0000df83
    section, .handoff: 0x0000df84 - 0x0000dfcf
    section, .init: 0x0000dfd0 - 0x0000dfe7
    section, .fini: 0x0000dfe8 - 0x0000dfff
    section, .rodata: 0x0000e000 - 0x0000e2df
    section, .data: 0x0000e2e0 - 0x000113f3
    section, .mmu_tbl: 0x00014000 - 0x00017fff
    section, .init_array: 0x00018000 - 0x00018007
    section, .fini_array: 0x00018008 - 0x0001800b
    section, .rsa_ac: 0x0001800c - 0x0001903f
    section, .bss: 0x00019040 - 0x0001aaab
    section, .heap: 0x0001aaac - 0x0001caaf
    section, .stack: 0xffff0000 - 0xffffd3ff
100%    0MB  93.8MB/s  00:00    
Setting PC to Program Start Address 0x00000000
Successfully downloaded /home/****/zynq/BSPs/Xilinx-ZC706-2015.2/images/linux/zynq_fsbl.elf
100%    0MB  14.8MB/s  00:00    
Successfully downloaded /home/****/zynq/BSPs/Xilinx-ZC706-2015.2/images/linux/system.dtb



aborting, 1 pending requests...  
Failed to download /home/****/zynq/BSPs/Xilinx-ZC706-2015.2/images/linux/zImage
Error in startup script:
OCM is not enabled at 0x00030000. Invalid address
    invoked from within
"::tcf::eval -progress {
        apply {{info} {
        switch -- [lindex $info 0] {
            "info" {
            puts -nonewline "\r[lindex $info 1]"
            "warning" {
            puts "\n[lindex $info 1]"
            "data" {
            puts -nonewline "\r[lindex $info 1] of [lindex $info 2] complete"
            "done" {
            puts "\n[lindex $info 1]"
        flush stdout
        }}} {::tcf::cache_enter tcfchan#0 {tcf_cache_eval {download_cache_client ::tcfclient#0::arg}}}"
    (procedure "::tcf::cache_eval_with_progress" line 2)
    invoked from within
"::tcf::cache_eval_with_progress $params(chan) [list download_cache_client $argvar] {
        apply {{info} {
        switch -- [lindex $info 0] {
            "info" ..."
    (procedure "dow" line 39)
    invoked from within
"dow -data "/home/****/zynq/BSPs/Xilinx-ZC706-2015.2/images/linux/zImage" 0x00008000"
    (file "/tmp/tmp.DHlaW20qUG" line 19)




I do not believe the "rlwrap" warning above has any bearing on this, but I could be worng...


It appears at some point in the Xilinx script there are some hardcoded addresses for downloading zImage and they could be wrong (or not.)  Is there a problem with the Xilinx script or with me?  Is there a solution?



0 Kudos
2 Replies
Xilinx Employee
Xilinx Employee
Registered: ‎07-01-2010

Re: Petalinux: Failed to download built Linux image into a ZC706 board via JTAG



I have seen this issue, just want to verify if this sequence helps.


Can you try  the below steps in sequqnce and let me know if the issue is still seen?

1.To download a bitstream to target board:
$ petalinux-boot --jtag --fpga --bitstream <BITSTREAM>
 2.For Zynq only, you will also need to download the FSBL, you can use the following command:
$ petalinux-boot --jtag --image <PATH to>/zynq_fsbl.elf --extra-xmd "init_user"
3. To download newly built <plnx-proj-root>/images/linux/u-boot.elf to target board:
$ petalinux-boot --jtag --u-boot
4. To download newly built kernel to target board:
$ petalinux-boot --jtag --kernel
  For Zynq, this will download <plnx-proj-root>/images/linux/system.dtb and <plnxproj-root>/images/linux/zImage on target board.




Kindly note- Please mark the Answer as "Accept as solution" if information provided is helpful.

Give Kudos to a post which you think is helpful and reply oriented.
0 Kudos
Visitor fchris
Registered: ‎11-07-2015

Re: Petalinux: Failed to download built Linux image into a ZC706 board via JTAG

Thank you for answering @achutha.  I am not in front of my Linux computer right now so I cannot confirm the following assertion: I think my problem is with the Xilinx scripts.  Last night I corrected a similar problem to the above by replacing the return to a call within a script with the hardcoded return string.  Let me explain:


In ALL of my petalinux tools command line calls I get an error like this:


"process 23627: arguments to dbus_move_error() were incorrect, assertion "(dest) == NULL || !dbus_error_is_set ((dest))" failed in file ../../dbus/dbus-errors.c line 282. This is normally a bug in some application using the D-Bus library.

libhal.c 3483 : Error unsubscribing to signals, error=Launch helper exited with unknown return code 1"


Interestingly, the commands still work!  I have no idea why this is, or what does the 'dbus' or 'hal' error mean? (Both of those libraries are reported installed correctly in my system (and yes, I am using the bash shell.)


The fact is, when a Xilinx (TCL or Makefile) script contains a petalinux tool call, like say:

ret_string = $(petalinux-get-some-name $${so_and_so});


The return string is all mangled up with the above error and the actual return string is at the end, thus, any further processing of the mangled string fails the script.


My solution has been to execute the offending line in the command line and then pasting only the correct return string into the script.  Et voila' everyhting works... until the next error :-(


Frank Christiny


0 Kudos