Versions Compared


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

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 Xilinx Open Source Linux.

Table of Contents

Table of Contents
excludeTable of Contents

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 NameContent Linux kernel with Xilinx patches and drivers u-boot bootloader with Xilinx patches and drivers Tree generator plugin for xsdk Tree compiler (required to build U-Boot) Trusted Firmware (required for Zynq UltraScale+ MPSoC and Versal platforms) Xilinx Xen branch for Zynq UltraScale+ and Versal platforms Xilinx embeddedsw repository for bare-metal applications such as FSBL, PMU Firmware, PLM
The sources of either project can be obtained through git by executing:
Code Block
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