Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added deprecation warning, TOC


Yocto OSL Image build

Repo Tool overview


...

Warning

This page is deprecated and is no longer being maintained. For the latest information, please use the updated page: Install and Build with Xilinx Yocto

Table of Contents

Table of Contents
excludeTable of Contents


Repo is a repository management tool that is built on top of Git. Repo unifies the many Git repositories when necessary, and automates parts of the development workflow. Repo is not meant to replace Git, only to make it easier to work with Git in the context of development.The repo command is an executable Python script that you can put anywhere in your path. In working with the source files, you will use Repo for across-network operations. For example, with a single Repo command you can download files from multiple repositories into your local working directory.
More details about repo tool is present at
https://source.android.com/source/developing.html

Step 1: Preparing the Build Environment

Install Repo



Code Block
themeMidnight
#Download the Repo script:
$ curl https://storage.googleapis.com/git-repo-downloads/repo > repo
 
#Make it executable:
$ chmod a+x repo
 
#Move it on to your local home directory path:
$ mv repo ~/bin/
 
#Add it to your path
$ PATH=$PATH:~/bin
 
#If it is correctly installed, you should see a Usage message when invoked with the help flag.
$ repo --help


Fetch all sources



Release 2017.1 and above :

Code Block
themeMidnight
#repo init to the project of desire
$ repo init -u git://github.com/Xilinx/yocto-manifests.git -b <current-release>
 
#repo sync to get all sources
$ repo sync
 
#repo start a branch
$ repo start <current-release> --all


Release 2016.3 or below :


Code Block
themeMidnight
#repo init to the project of desire
$ repo init -u git://github.com/Xilinx/yocto-manifests.git -m meta-petalinux.xml -b <current-release>
 
#repo sync to get all sources
$ repo sync
 
#repo start a branch
$ repo start <current-release> --all


where current-release is rel-v2016.3 or rel-v2016.1 etc

Source environment


Code Block
themeMidnight
#source the environment to build using bitbake
$ source setupsdk


Code Block
themeMidnight
# for 2016.1 and 2016.2 release use
$ source pkgsetup


Step 2: Build using bitbake



Code Block
themeMidnight
$ MACHINE=zcu102-zynqmp bitbake petalinux-minimal


Similarly build for other machine (ZC702, ZC706 etc)


  1. Following has to be present in your configuration to use XIlinx SDK toolchain (local.conf or override.conf)
DISTRO = "petalinux"
PACKAGE_CLASSES = "package_rpm"
TCMODE = "external-xilinx"
XILINX_VER_MAIN = "<current-release>"

EXTERNAL_TOOLCHAIN_zynq = "<path-to-xilinx-SDK>/SDK/<current-version>/gnu/aarch32/lin/gcc-arm-linux-gnueabi"

EXTERNAL_TOOLCHAIN_microblaze = "<path-to-xilinx-SDK>/SDK/<current-version>/gnu/microblaze/linux_toolchain/lin32_le"

EXTERNAL_TOOLCHAIN_aarch64 = "<path-to-xilinx-SDK>/SDK/<current-version>/gnu/aarch64/lin/aarch64-linux"

XILINX_SDK_TOOLCHAIN = "<path-to-xilinx-SDK>/SDK/<current-version>"

<current-version> will be 2016.3, 2016.1 etc
<current-release> will be 2016.3, 2016.1 etc

Xilinx Yocto