Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


Table of Content

Table of Contents




Getting Linux working on Zynq is very simple, following steps are required


Creating a Project from Vivado Project


Some reference designs contains a preconfigured PetaLinux project as template. This can be used instead of creating a new project described on step two.

  1. PetaLinux Working Environment (see UG1144)
    • PetaLinux Tools Installation is completed.
    • "/bin/sh" is bash
    • Set Working Environment:
      • $ source <path-to-installed-PetaLinux>/
    • Set cross compiler:
      • $ export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
      • $ export ARCH=arm
  2. Create a New Project (see UG1144):
    • $ petalinux-create --type project --template <CPU_TYPE> --name <PROJECT_NAME>
      • <CPU_TYPE>: zynqMP, zynq, microblaze
      • <PROJECT_NAME>:The name of the project you are building
  3. Import Hardware Configuration (see UG1144):
    • Export Hardware Definition File (*.hdf) from the Vivado Project into the PetaLinux subfolder "<plnx-proj-root>/hw-description":
      • change to the hardware description folder:
      • Run:$ petalinux-config --get-hw-description
  4. (optional) Configure your PetaLinux:
    • While anywhere in the project folder tree:
    • Run:$ petalinux-config
      • It's recommended to deactivate FSBL-Configuration and build FSBL and Boot.bin with SDK/HSI: "linux Components Selection --->" "[ ] First Stage Bootloader
    • Run:$ petalinux-config -c kernel
    • Run:$ petalinux-config -c rootfs
  5. Build System Image (see UG1144):
    • While anywhere in the project folder tree:
    • Run:$ petalinux-build
    • Build log-file:"<plnx-proj-root>/build/build.log"
  6. Take u-boot.elf and image.ub from "<plnx-proj-root>/images/linux" and make BOOT.BIN.  It is recommended to create the FSBL with SDK/HSI tools.

Petalinux Configuration

Most settings can be changed with menu-config ($ petalinux-config).