@@ -32,7 +32,7 @@ do_savedefconfig() {
}
do_savedefconfig[nostamp] = "1"
addtask savedefconfig after do_configure
-
+UBOOT_ARCH_DIR = "${@'arm' if d.getVar('UBOOT_ARCH').startswith('arm') else d.getVar('UBOOT_ARCH')}"
do_compile () {
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk
@@ -334,7 +334,7 @@ do_deploy () {
if [ -n "${UBOOT_DTB}" ]
then
- install -m 644 ${B}/arch/${UBOOT_ARCH}/dts/${UBOOT_DTB_BINARY} ${DEPLOYDIR}/
+ install -m 644 ${B}/arch/${UBOOT_ARCH_DIR}/dts/${UBOOT_DTB_BINARY} ${DEPLOYDIR}/
fi
}
While arm64 is a valid UBOOT_ARCH (according to mkimage -A) u-boot keeps arm64 specific dts under 'arch/arm' directory. As the result the recipe tries to install arch/arm64 (if UBOOT_DTB was specified) and fails with [1]. Remapping "arm64" to "arm" to fix this issue. [1] | install: cannot stat '.../u-boot/1_2023.01-r0/build/arch/arm64/dts/u-boot.dtb': No such file or directory Signed-off-by: Pavel Zhukov <pavel@zhukoff.net> --- meta/recipes-bsp/u-boot/u-boot.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)