Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix conflicting boot.scr if UBOOT_ENV is set #1310

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

asac
Copy link

@asac asac commented Apr 22, 2024

No description provided.

@asac
Copy link
Author

asac commented Apr 22, 2024

please also cherry-pick to kirkstone branch if good. thx.

Copy link
Owner

@agherzan agherzan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for this! I think this makes sense. Could you reformat a bit the commit using https://meta-raspberrypi.readthedocs.io/en/latest/contributing.html?

recipes-bsp/u-boot/u-boot_%.bbappend Show resolved Hide resolved
When embedding meta-raspberry in a distro that uses UBOOT_ENV
to ship their own custom boot.scr file, the current
u-boot-default-script will make the build fail to build due to
conflicts in $DEPLOY_DIR_IMAGE

This patch fixes this by not adding u-boot-default-script to the
u-boot DEPENDS if UBOOT_ENV is set.

Signed-off-by: Alexander Sack <[email protected]>
@asac asac force-pushed the bugfix/prevent-conflict-boot-scr-from-UBOOT_ENV branch from ba74562 to 11b1f99 Compare April 29, 2024 12:26
@asac
Copy link
Author

asac commented Apr 29, 2024

OK @agherzan, I improved the commit message. From grepping the core code it seems most code that decides whether to install something or not is really hooked on UBOOT_ENV ... also UBOOT_ENV_SUFFIX has a default so it would not be an empty check. I suggest we land this as is and see if someone else runs into issues.

@@ -6,7 +6,7 @@ SRC_URI:append:rpi = " \

SRC_URI:append:rpi = " file://0001-rpi-always-set-fdt_addr-with-firmware-provided-FDT-address.patch"

DEPENDS:append:rpi = " u-boot-default-script"
DEPENDS:append:rpi = " ${@oe.utils.conditional('UBOOT_ENV', '', 'u-boot-default-script', '', d)}"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think its better to tweak u-boot-default-scripts recipe via a bbappend in such a distro. This is introducing a variable that wont be used elsewhere.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @kraj UBOOT_ENV is not a new variable invented by us. From what I read in the code it's the "official" core way of adding a boot.scr in a standardized manner ... https://github.com/openembedded/openembedded-core/blob/master/meta/classes-recipe/uboot-config.bbclass#L61 ... the u-boot_%.bbappend of meta-raspberrypi breaks that behaviour right now.

Maybe we should also check if template support for this in openembedded-core would be ok.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right I did not check that the variable is already in core layer. However, this variable is relevant for deploy tasks. the logic is still twisted. IMO this change seems more appropriate in u-boot-defaults-script recipe for meta-rpi since this recipe provides the UBOOT_ENV expected file.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants