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
Download the latest LTS version of Buildroot: Buildroot - Making Embedded Linux Easy
Included with Buildroot is a nicely organized directory structure documented here.
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
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
Build the target images.
make
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
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
Configure the target evaluation board for SD card boot mode.
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