Buildroot

Buildroot

This page highlights AMD support for Buildroot as an alternative community Linux solution to Yocto.  Unofficial support for AMD architectures (Zynq, Zynq MPSoC, Kria SOMs and Versal Adaptive SoC) are available. The Buildroot configs directory provides a number of example defconfig files for common evaluation boards which use AMD devices.

Buildroot is not WTS supported and should only be used by experienced users. However, Buildroot does use the same supported software as Yocto from the https://www.github.com/Xilinx repository. Any issues with this underlying software which can be duplicated using Yocto or Vitis are supported by WTS. But any issues with configuring Buildroot for custom hardware should be addressed to the Buildroot community.

One exception to the above is the Zynq and Zynq MPSoC U-Boot Secondary Program Loader (SPL). While it is included with U-Boot and Buildroot, the WTS supported flow for the Zynq and Zynq MPSoC families is the First Stage Bootloader (FSBL). Experienced users are welcome to give the U-Boot SPL a try as it is documented here. However, if technical support is needed, the Xilinx recommendation is to build the boot.bin using the FSBL and bootgen. It is possible to use Yocto or Vitis for building a hardware specific boot.bin while still using Buildroot for building the Linux kernel and file system.

Table of Contents

General Information

Official Buildroot release activity and version information can be found at Releases - Buildroot

The following table correlates Buildroot LTS releases to the corresponding AMD releases. Because Buildroot LTS releases happen in February of each year, they will always be based on the prior year’s AMD Adaptive .2 release. For example, Buildroot 2025.02 is based on the xilinx_v2024.2 AMD Adaptive SoC and FPGA release.

For more information about specific releases, please visit the release-specific page under Linux Prebuilt Images.

AMD Release Tag

Buildroot LTS Release

Linux Kernel LTS

xilinx_v2024.2

2025.02

6.6

xilinx_v2023.2

2024.02

6.1

xilinx_v2022.2

2023.02

5.15

Note: To test AMD release xilinx_v2025.1 before the Buildroot February 2026 LTS release, it is possible to clone the Buildroot master branch which already includes AMD release xilinx_v2025.1.

git clone https://gitlab.com/buildroot.org/buildroot.git

Supported AMD Evaluation Boards

Zynq

zynq_zc702_defconfig
zynq_zc706_defconfig
zynq_microzed_defconfig
zynq_zed_defconfig

Zynq UltraScale+

zynqmp_zcu102_defconfig
zynqmp_zcu104_defconfig
zynqmp_zcu106_defconfig

Kria SOM

zynqmp_kria_kd240_defconfig
zynqmp_kria_kr260_defconfig
zynqmp_kria_kv260_defconfig

Versal

versal_vck190_defconfig
versal_vek280_defconfig
versal_vpk180_defconfig

Getting Started with Buildroot

This page provide a step by step guide to configuring buildroot to generate an embedded Linux system using the AMD Linux release.  Now that many defconfig examples have been added to buildroot mainline, the latest AMD software will now build and run on a variety of evaluation boards with very little effort.

Host System Requirements

Buildroot documents the requirements for the host Linux development machine here.

Build Steps

  1. Download the latest LTS version of Buildroot: Buildroot - Making Embedded Linux Easy

  2. Included with Buildroot is a nicely organized directory structure documented here.

  3. Inspect the following directories:

configs: includes build examples for AMD evaluation boards that can be used as a template for creating a build config for a custom target board.

board: includes a readme.txt file and open source build scripts for each AMD evaluation board family. The post-image.sh script operates on the genimage.cfg file for creation of the SD card image for booting. These files are intended as a simple example for each device family which can be modified according to user needs. Each target family has its own example board directory as outlined below.

board/zynq
board/zynqmp
board/zynqmp/kria
board/versal

  1. Configure Buildroot for an AMD evaluation board. Below is an example command for the AMD ZCU102, but any of the supported evaluation boards can be used by simply configuring with the appropriate defconfig.

make zynqmp_zcu102_defconfig

  1. Build the target images.

make

  1. Inspect the following output directories:

output/build: includes the sources of all of the packages which were built.
output/images: contains all of the target images that will run on the target board, including the sdcard.img for imaging an SD card for booting. Below is an example for the ZCU102 evaluation board.

output/images/ +-- atf-uboot.ub +-- bl31.bin +-- boot.bin +-- boot.vfat +-- Image +-- rootfs.ext2 +-- rootfs.ext4 -> rootfs.ext2 +-- sdcard.img +-- system.dtb -> zynqmp-zcu102-rev1.0.dtb +-- u-boot.itb `-- zynqmp-zcu102-rev1.0.dtb
  1. Image the SD card for booting:

dd if=output/images/sdcard.img of=/dev/sdX
* where sdX is the device node of the SD on the host

  1. Configure the target evaluation board for SD card boot mode.

  2. To login to buildroot, the default root password is root.

Welcome to Buildroot
buildroot login:

Buildroot Custom Hardware Device Tree

Buildroot expects custom hardware specifications to already be in Device Tree format and has no support for Xilinx XSA files. To create a device tree for custom hardware, it is recommended to use the supported Software Hardware Exchange Loop which is the same flow used by Yocto.

Reference Resources





© Copyright 2019 - 2022 Xilinx Inc. Privacy Policy