diff options
author | Luca Ceresoli <luca@lucaceresoli.net> | 2017-12-09 22:30:06 +0100 |
---|---|---|
committer | Peter Korsgaard <peter@korsgaard.com> | 2017-12-11 22:35:12 +0100 |
commit | 6465e4d34a4c1d94e73ec849297fc77b47b498a6 (patch) | |
tree | 01eab836cd676d14f3e6af5ce2bc7e0307f02c12 | |
parent | 7d1e2a893b09862548bf3394e0cbc76d58ebd84f (diff) | |
download | buildroot-6465e4d34a4c1d94e73ec849297fc77b47b498a6.tar.gz buildroot-6465e4d34a4c1d94e73ec849297fc77b47b498a6.zip |
boards/zynq: rename the DTB to be loaded by U-Boot
We are about to introduce genimage support for the Zynq boards. For
all of them U-Boot loads the DTB from a file named "devicetree.dtb" so
we need to rename it on the SD card image.
We could use genimage itself to rename files while creating the
image. But this would require a different genimage.cfg for each board,
leading to duplicate code.
Instead let's create a "devicetree.dtb" symlink pointing to the dtb
listed in the configuration. Currently all the Zynq-based boards have
only one DTS configured, but if one had two or more of them, the
symlink would point to the first one.
[Peter: only create symlink if dtb option is available]
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-rwxr-xr-x | board/zynq/post-image.sh | 11 | ||||
-rw-r--r-- | configs/zynq_microzed_defconfig | 1 | ||||
-rw-r--r-- | configs/zynq_zc706_defconfig | 1 | ||||
-rw-r--r-- | configs/zynq_zed_defconfig | 1 |
4 files changed, 14 insertions, 0 deletions
diff --git a/board/zynq/post-image.sh b/board/zynq/post-image.sh new file mode 100755 index 0000000000..98b3306a80 --- /dev/null +++ b/board/zynq/post-image.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +# By default U-Boot loads DTB from a file named "devicetree.dtb", so +# let's use a symlink with that name that points to the *first* +# devicetree listed in the config. + +FIRST_DT=$(sed -n \ + 's/^BR2_LINUX_KERNEL_INTREE_DTS_NAME="\([a-z0-9\-]*\).*"$/\1/p' \ + ${BR2_CONFIG}) + +[ -z "${FIRST_DT}" ] || ln -fs ${FIRST_DT}.dtb ${BINARIES_DIR}/devicetree.dtb diff --git a/configs/zynq_microzed_defconfig b/configs/zynq_microzed_defconfig index acd2da584f..c6685a4bc1 100644 --- a/configs/zynq_microzed_defconfig +++ b/configs/zynq_microzed_defconfig @@ -4,6 +4,7 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Xilinx/linux-xlnx.git" diff --git a/configs/zynq_zc706_defconfig b/configs/zynq_zc706_defconfig index 1dcccd5635..0bb8e3ba3d 100644 --- a/configs/zynq_zc706_defconfig +++ b/configs/zynq_zc706_defconfig @@ -4,6 +4,7 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Xilinx/linux-xlnx.git" diff --git a/configs/zynq_zed_defconfig b/configs/zynq_zed_defconfig index cd815982f8..cfcfdff11c 100644 --- a/configs/zynq_zed_defconfig +++ b/configs/zynq_zed_defconfig @@ -4,6 +4,7 @@ BR2_ARM_ENABLE_NEON=y BR2_ARM_ENABLE_VFP=y BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0" +BR2_ROOTFS_POST_IMAGE_SCRIPT="board/zynq/post-image.sh" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_GIT=y BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/Xilinx/linux-xlnx.git" |