Hello, I’m working on configuring Buildroot to build a Linux image that interfaces the FMCOMMS4 SDR module with the ZedBoard, an FPGA development board. I need to customize the device tree to support the specific hardware configurations and interfaces. Despite following the general guidelines for adding a custom device tree in Buildroot, I’m encountering issues getting the configuration to work properly.
Steps Taken:
Cloning Buildroot: Cloned the latest version of Buildroot.
Device Tree Setup: Used a device tree provided by Analog Devices named “devicetree.dts”.
Buildroot Configuration: Updated zynq_zed_defconfig with the necessary configurations for the kernel and U-Boot, specifying the custom device tree name.
Post-Build and Post-Image Scripts: Modified the post-build.sh and post-image.sh scripts to ensure the custom device tree files are correctly placed and linked.
Here are snippets of my configuration and scripts:
zynq_zed_defconfig (extract):
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="devicetree"
...
BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=devicetree"
post-build.sh (extract):
cp "${BOARD_DIR}/dts/devicetree.dts" "${BUILD_DIR}/linux-xlnx/arch/arm/boot/dts/"
cp "${BOARD_DIR}/dts/devicetree.dts" "${BUILD_DIR}/u-boot-xlnx/arch/arm/dts/"
then I run: make DEVICE_TREE=devicetree
I get :
Device Tree Source (arch/arm/dts/devicetree.dtb) is not correctly specified.
Please define ‘CONFIG_DEFAULT_DEVICE_TREE’
or build with ‘DEVICE_TREE=<device_tree>’ argument
make[3]: *** [dts/Makefile:34: arch/arm/dts/devicetree.dtb] Error 1
make[2]: *** [Makefile:1132: dts/dt.dtb] Error 2
make[1]: *** [package/pkg-generic.mk:293: /home/fahym/workspace/buildroot/output/build/uboot-custom/.stamp_built] Error 2
make: *** [Makefile:82: _all] Error 2