Skip to content

Commit

Permalink
imx-boot: inherit from uboot-config rather than uboot-sign
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
rborn-tx committed Jul 23, 2024
1 parent dc6b22f commit 45941f6
Showing 1 changed file with 2 additions and 6 deletions.
8 changes: 2 additions & 6 deletions recipes-bsp/imx-mkimage/imx-boot_1.0.bb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0-only;md5=801f80980d171dd6425610833a22dbe6"
SECTION = "BSP"

inherit use-imx-security-controller-firmware uboot-sign
inherit use-imx-security-controller-firmware uboot-config

DEPENDS += " \
u-boot \
Expand Down Expand Up @@ -71,11 +71,7 @@ SOC_FAMILY:mx93-generic-bsp = "mx93"

REV_OPTION ?= "REV=${IMX_SOC_REV_UPPER}"

do_uboot_assemble_fitimage:prepend:imx-generic-bsp() {
for config in ${UBOOT_MACHINE}; do
mkdir -p ${B}/${config}
done
}
UBOOT_DTB_BINARY ?= "u-boot.dtb"

compile_mx8m() {
bbnote 8MQ/8MM/8MN/8MP boot binary build
Expand Down

0 comments on commit 45941f6

Please sign in to comment.