Yocto Project Machine Configuration Support

This page provides a listing of the Yocto Project machine configurations AMD releases for its evaluation and development platforms.

Table of Contents

Introduction

The Yocto Project is an open source community-driven build infrastructure hosted by the Linux Foundation. AMD is simplifying our embedded software build infrastructure by standardizing all embedded software build flows around native Yocto Project infrastructure.

These configuration layers are intended as examples and starting points for development and evaluation, any production designs based on these layers will have to consider and potentially be modified to meet the security, maintenance and other requirements of the product being developed.

Evaluation and Development Yocto Machine Configuration Layers

The table below provides a list of the Yocto machine configuration layers AMD releases for it’s evaluation and development platforms. For the most up-to-date information please consult the README.md file inside meta-xilinx-bsp.

Devices

Evaluation Board

Hardware Board Device tree

QEMU tested

Hardware tested

Devices

Evaluation Board

Hardware Board Device tree

QEMU tested

Hardware tested

MicroBlaze

kc705-full

Yes

Yes

 

ac701-full

Yes

Yes

 

kcu105

Yes

Yes

 

vcu118-rev2.0

Yes

Yes

Zynq 7000

zc702

Yes

Yes

 

zc706

Yes

Yes

Zynq UltraScale+

zcu102-rev1.0

Yes

Yes

 

zcu104-revc

Yes

Yes

 

zcu106-reva

Yes

Yes

 

zcu111-reva

Yes

Yes

 

zcu208-reva

Yes

Yes

 

zcu216-reva

Yes

Yes

 

zcu670-revb

Yes

Yes

Versal

versal-vck190-reva-x-ebm-01-reva

Yes

Yes

 

versal-vmk180-reva-x-ebm-01-reva

Yes

Yes

 

versal-vck5000-reva-x-ebm-01-reva

No

No

 

versal-vpk120-reva

Yes

Yes

 

versal-vpk180-reva

Yes

Yes

 

versal-vek280-revb

Yes

Yes

 

versal-vhk158-reva

Yes

Yes

NOTE: The currently available Yocto machine configurations use XSCT as the configuration backend. Native support for System Device Tree in the machine configurations will be available in a future release.

PetaLinux Relationship to Yocto Project

PetaLinux has leveraged Yocto Project tooling as a backend since 2016 but the flows have not been identical. Below is a brief overview of the functional differences:

  • PetaLinux packages are complete “starter projects” as BSP files. These files include not only source code but also nominal Vivado projects, pre-compiled boot firmware, and pre-compiled Linux kernel images and root filesystem configuration. Yocto Project depends on only a board-specific machine configuration that integrates with other standard Yocto Project collateral and tooling that are built-from source.

  • PetaLinux uses a proprietary command set such as petalinux-config, petalinux-build, etc. whereas Yocto Project uses the standard bitbake command

  • PetaLinux uses a different directory structure from Yocto Project for configuration files such as local.conf, *.bb, *.bbappend, etc.

  • AMD does not provide back-porting of updates for PetaLinux BSP content. Yocto Project collateral (for example, a machine configuration) can be updated and integrated with newer Yocto Project tooling and software components for on-going maintenance or use in production environments.

Beginning with the 2024.1 release cycle, support for PetaLinux BSPs will be sunset over time in favor of native Yocto Project tooling. Not all boards will be migrated to Yocto Project infrastructure at once. Rather, AMD is migrating PetaLinux BSPs to standard Yocto Project infrastructure over time. For boards that have not yet been migrated to native Yocto infrastructure, please check for PetaLinux BSPs on the AMD Download Center.

Custom Boards and Boards without an Active Yocto Machine Configuration

For new designs (including all custom boards and evaluation boards without a pre-built Yocto machine configuration), AMD recommend that designers use the open source system device tree (SDT) and Yocto Project tooling to build custom infrastructure for the target board.

  1. Automated Yocto machine configuration generation - GitHub - Xilinx/gen-machine-conf: Parse hardware design information to generate project specific machine configuration

  2. System Device Tree Generator (SDTGen) - Xilinx/system-device-tree-xlnx (github.com)

  3. Lopper - devicetree-org/lopper (github.com)

Deprecated BSP support in PetaLinux

Manual flows are also available to enable deprecated BSP by migrating using an active BSP available in the latest PetaLinux version.

  • Steps to migrate the existing BSP to support the deprecated BSPs are outlined in the BSP "README" file in section "Steps to migrate BSP < BSP name>". Users should extract the existing BSP to follow migration steps from README file

Related Links

 

© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy