This how-to describes how sources are obtained from internet resources. The sources are required if the Xilinx released images have to be modified to fit a use case. E.g. Adding a new driver the the Linux kernel, adding custom applications or kernel modules to the ramdisk, etc.
Fetch Sources is a part of the Xilinx design flow described in Getting Started.

Tools Required

Output Files Produced

  • Several source trees will be created on the hard disk

When to Execute

Xilinx provides prebuilt images with every software release and additionally Targeted Reference Designs. Those are created to address a broad range of customer use cases and as long as those fit your needs, you do not have to work with sources.
You have to work with the sources when:
  • the prebuilt images are missing features/functionality. E.g. the Linux kernel might be compiled missing a driver required for your platform.
  • You want to contribute in development to these project. E.g. adding a new driver to Linux.
  • You want to run Linux on a (new) platform which is not yet supported

Task Description

All sources are kept under version control using git. These repositories are publicly available through

The following table gives an overview of the relevant repositories:
Repository Name
The Linux kernel with Xilinx patches and drivers
The u-boot bootloader with Xilinx patches and drivers
Device Tree generator plugin for xsdk
Device Tree compiler (required to build U-Boot)
ARM Trusted Firmware (required for Zynq UltraScale+ MPSoC
The sources of either project can be obtained through git by executing:
bash$ git clone <Repository Name>
This will create a new directory and download the sources into it.
In case you're behind a firewall please have a look at using Git.

Build Steps

Related Links