diff options
author | Rogerio Guerra Borin <rogerio.borin@toradex.com> | 2024-06-24 22:25:44 -0300 |
---|---|---|
committer | Tom Hochstein <tom.hochstein@nxp.com> | 2024-08-15 11:41:16 -0700 |
commit | f50044623d99e4e5c72db2e1d1c97f16c8e8903a (patch) | |
tree | f56fd1f284ea4795a30130f1869c30ee745a8868 | |
parent | 9aee46be3a1bd102a754534a656e499df6205f34 (diff) | |
download | meta-freescale-f50044623d99e4e5c72db2e1d1c97f16c8e8903a.tar.gz |
imx-boot: inherit from uboot-config rather than uboot-sign
Since commit 5e12dc911d0c541f43aa6d0c046fb87e8b7c1f7e on layer
openembedded-core, the class uboot-sign is supposed to be inherited by
u-boot recipes only, but the imx-boot recipe is currently inheriting
it. With this commit we change this situation by inheriting from
uboot-config instead so it can access relevant variables related to the
U-Boot configuration without inheriting the tasks defined by uboot-sign
which pertain exclusively to u-boot recipes (uboot_generate_rsa_keys,
uboot_assemble_fitimage); this in turn allows us to get rid of the
prepend to uboot_assemble_fitimage which only existed to allow that
extraneous task to succeed.
Nevertheless, the main issue solved by the commit is a conflict that
happens when imx-boot is used together a U-Boot configured not to
generate a boot container, i.e. with UBOOT_PROVIDES_BOOT_CONTAINER="0"
in which case both the U-Boot and the imx-boot recipe would try to
deploy the same files due to to extraneous tasks inherited, leading to
build errors like this:
ERROR: imx-boot-1.0-r0 do_deploy: Recipe imx-boot is trying to install
files into a shared area when those files already exist. The files
and the manifests listing them are:
/workdir/.../deploy/images/colibri-imx8x/u-boot-colibri-imx8x.dtb
(matched in manifest-colibri_imx8x-u-boot-toradex.deploy)
/workdir/.../deploy/images/colibri-imx8x/u-boot.dtb
(matched in manifest-colibri_imx8x-u-boot-toradex.deploy)
...
As part of this change we set variable UBOOT_DTB_BINARY to match the
setting in uboot-sign.bbclass, which duplicates information. This is not
ideal but it should work as that value is unlikely to change. The ideal
solution would likely be setting it in uboot-config.bbclass (provided by
layer openembedded-core); that's left as a future improvement.
Signed-off-by: Rogerio Guerra Borin <rogerio.borin@toradex.com>
(cherry picked from commit 45941f64766cd78f1491f74bf7483de52c43c9c5)
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
-rw-r--r-- | recipes-bsp/imx-mkimage/imx-boot_1.0.bb | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb index 631217daf..0b18ba477 100644 --- a/recipes-bsp/imx-mkimage/imx-boot_1.0.bb +++ b/recipes-bsp/imx-mkimage/imx-boot_1.0.bb | |||
@@ -7,7 +7,7 @@ LICENSE = "GPL-2.0-only" | |||
7 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" | 7 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6" |
8 | SECTION = "BSP" | 8 | SECTION = "BSP" |
9 | 9 | ||
10 | inherit use-imx-security-controller-firmware uboot-sign | 10 | inherit use-imx-security-controller-firmware uboot-config |
11 | 11 | ||
12 | DEPENDS += " \ | 12 | DEPENDS += " \ |
13 | u-boot \ | 13 | u-boot \ |
@@ -85,11 +85,7 @@ MKIMAGE_EXTRA_ARGS:imx95-19x19-verdin ?= " \ | |||
85 | ${MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp} \ | 85 | ${MKIMAGE_EXTRA_ARGS:mx95-nxp-bsp} \ |
86 | QSPI_HEADER=./scripts/fspi_header_133" | 86 | QSPI_HEADER=./scripts/fspi_header_133" |
87 | 87 | ||
88 | do_uboot_assemble_fitimage:prepend:imx-generic-bsp() { | 88 | UBOOT_DTB_BINARY ?= "u-boot.dtb" |
89 | for config in ${UBOOT_MACHINE}; do | ||
90 | mkdir -p ${B}/${config} | ||
91 | done | ||
92 | } | ||
93 | 89 | ||
94 | compile_mx8m() { | 90 | compile_mx8m() { |
95 | bbnote 8MQ/8MM/8MN/8MP boot binary build | 91 | bbnote 8MQ/8MM/8MN/8MP boot binary build |