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!

AR# 56388

PetaLinux 2013.04 - Can PetaLinux 2013.04 be used with Vivado 2013.2 IP Integrator?


My hardware design is built with Vivado 2013.2 IP Integrator.

Is it possible to build a Linux system using Vivado 2013.2 IP Integrator?


It is currently not possible for Zynq board designs done with Vivado IP Integrator 2013.2 to be imported in PetaLinux 2013.04. 

This answer record contains details on a method to patch the PetaLinux 2013.04 installation which allows Zynq Vivado IP Integrator designs to use PetaLinux 2013.04 successfully.

In addition, some of the PetaLinux tools check the XILINX_EDK environment variable; this variable is not set by Vivado tools. This patch addresses that issue by setting XILINX_EDK to a dummy value.

This answer record contains information on specific methods to enable Vivado IP Integrator 2013.02 Zynq support for PetaLinux 2013.04.

Note: Full support for the PetaLinux / Vivado IP Integrator flow is scheduled for PetaLinux 2013.10.

IMPORTANT NOTE: The method described in this answer record is for informational purposes only. PetaLinux integration with Vivado IP Integrator is not currently supported by Xilinx Technical Support.

Installation Steps:

  1. Source your existing PetaLinux 2013.04 settings.sh file.
  2. Change directory to the PetaLinux installation:
    shell$ cd $PETALINUX
  3. Extract the patch:
    shell$ tar -zxf petalinux_vivado_patch.tar.gz
  4. The following files will be extracted in the patch folder:
    • hardware/edk_user_repository/PetaLogix/bsp/device-tree_v1_01_a/data/device-tree_v2_1_0.tcl
    • settings.csh
    • settings.sh
  5. Source your PetaLinux settings script again to have the workaround for XILINX_EDK environment variable.
  6. Export your Vivado IP Integrator Zynq design to XSDK.
  7. From SDK, the steps in the PetaLinux Board Bringup Guide can be followed as normal.

this procedure must be repeated for each separate PetaLinux installation or working copy present.

Known Issues and Limitations

  • this patch does not work with MicroBlaze-based IP Integrator designs
    support for MicroBlaze-based designs is expected in PetaLinux SDK 2013.10
  • petalinux-boot-prebuilt does not function, because 'iMPACT' is no longer a standalone Vivado tool
    Work-around: Use xmd manually to download the FPGA bitstream, u-boot image, and kernel image.


  • petalinux-update-prebuilt looks for a file 'download.cmd' to identify the bitstream location
    Work-around: using a text-editor, create a custom download.cmd which looks like this:
       setMode -bscan
     setCable -p auto
     assignfile -p 2 -file <bitstream file path/name>
     program -p 2

    quit the text editor and point the bitstream file with the assignfile.
    Note: the bitstream file path must be correct.


  • petalinux-copy-autoconfig will try to run 'xps' to build the libs if the required files are not in the petalinux bsp
    INFO: Using MSS file ./system.mss and XML file ./../hw_platform_0/system.xml
    INFO: Attempting vendor/platform auto-detect
    INFO: Auto-detected platform "Xilinx/ZC706-2013.02"
    INFO: BSP files missing - regenerating...
    petalinux-copy-autoconfig: line 608: xps: command not found
    ERROR: Failed
    ERROR: auto-config file or device tree does not exist for CPU ps7_cortexa9_0 in project .
    ERROR: Confirm you have completed the EDK system build process.
    Work-around: Ensure that the BSP generation flow is completed in XSDK prior to running petalinux-copy-autoconfig.

In addition to Vivado, the same as the XPS flow, XSDK is also required to build the XSDK PetaLinux BSP project.

  • petalinux-package-bsp -c option cannot clean up the Vivado project, due to Vivado having a different folder structure and no *.xmp file
    basename: missing operand
    Try `basename -help' for more information.
    Work-around: Manually clean any unused project files and do not specify the "-c" (or "--clean") argument.


Associated Attachments

Name File Size File Type
petalinux_vivado_patch.tar.gz 31 KB GZ
AR# 56388
Date 05/18/2018
Status Active
Type General Article
Boards & Kits
Page Bookmarked