This section describes how to get your build host ready to work with meta-xilinx layers.
The following instructions require OE-Core meta and BitBake. Poky provides these components, however they can be acquired separately.
Pre-requisites: Refer Preparing Build Host documentation.
- Create a project directory.
$ mkdir sources
$ cd sources
- Clone the poky, openembedded and amd xilinx repository.
Note:
- release_branch: refers to upstream stable release branch.
- rel-version: refers to amd xilinx release version.
$ mkdir sources
$ git clone -b <release-branch> https://git.yoctoproject.org/poky.git
$ git clone -b <release-branch> https://git.openembedded.org/meta-openembedded.git
$ git clone -b <rel-version> https://github.com/Xilinx/meta-xilinx.git
$ git clone -b <rel-version> https://github.com/Xilinx/meta-xilinx-tools.git
- Initialize a build environment using the
oe-init-build-env
script.
$ source poky/oe-init-build-env
- Once initialized configure
bblayers.conf
by adding dependency layers as shown below usingbitbake-layers
command.
Note: From step 3 by default
meta-yocto-bsp
will be included in bblayers.conf file and this can be removed using$ bitbake-layers remove-layer meta-yocto-bsp
command.
$ bitbake-layers add-layer ./<path-to-layer>/meta-openembedded/meta-oe
$ bitbake-layers add-layer ./<path-to-layer>/meta-openembedded/meta-python
$ bitbake-layers add-layer ./<path-to-layer>/meta-openembedded/meta-filesystems
$ bitbake-layers add-layer ./<path-to-layer>/meta-openembedded/meta-networking
$ bitbake-layers add-layer ./<path-to-layer>/meta-xilinx/meta-microbalze
$ bitbake-layers add-layer ./<path-to-layer>/meta-xilinx/meta-xilinx-core
$ bitbake-layers add-layer ./<path-to-layer>/meta-xilinx/meta-xilinx-standalone
$ bitbake-layers add-layer ./<path-to-layer>/meta-xilinx/meta-xilinx-bsp
$ bitbake-layers add-layer ./<path-to-layer>/meta-xilinx/meta-xilinx-vendor
$ bitbake-layers add-layer ./<path-to-layer>/meta-xilinx/meta-xilinx-contrib
$ bitbake-layers add-layer ./<path-to-layer>/meta-xilinx-tools
Note: We recommend using meta-xilinx-tools, the version that is built as standalone may not work on many boards as it does not know the board configuration.
- Set hardware
MACHINE
configuration variable in /build/conf/local.conf file for a specific target which can boot and run the in the board or QEMU.
MACHINE = "<target_machine_name>"
Available target machines are:
Device | target machines |
---|---|
MicroBlaze | microblaze-generic |
ac701-microblazeel | |
kc705-microblazeel | |
kcu105-microblazeel | |
vcu118-microblazeel | |
Zynq-7000 | zynq-generic |
zc702-zynq7 | |
zc706-zynq7 | |
ZynqMP | zynqmp-generic |
zcu102-zynqmp | |
zcu104-zynqmp | |
zcu106-zynqmp | |
zcu111-zynqmp | |
zcu208-zynqmp | |
zcu216-zynqmp | |
zcu670-zynqmp | |
zcu1275-zynqmp | |
zcu1285-zynqmp | |
ultra96-zynqmp | |
Versal | versal-generic |
versal-net-generic | |
vck190-versal | |
vmk180-versal | |
vek280-versal | |
vpk120-versal | |
vpk180-versal | |
vhk158-versal |
- Build an OS image for the target using
bitbake
command.
Note: Refer .//conf/templates/default/conf-notes.txt for available target image-name. e.g. core-image-minimal
$ bitbake <image-name>
- Once complete the images for the target machine will be available in the output
directory
${TMPDIR}/deploy/images/${MACHINE}/
.