iWave Arria 10 Mender build issue

Do you know why u-boot-fw-utils * is being built?

Mender has a dependency on this and that is why it is build.

Any “patch fixes” that you have done on your U-boot recipe you need to apply to the u-boot-fw-utils recipe as well.

They are actually built from the same source, but as it is two different packages they have two “instances” of the source code that you need to patch similarly.

I’m actually adding the patch into u-boot-mender-common.inc, so this should be picked up by both u-boot-mender.inc & u-boot-fw-utils-mender.inc.

The problem is that the file that is patched git/scripts/Makefile.autoconf is different between the the two source directories.

In directory u-boot-socfpa the change:
@@ -78,6 +78,7 @@
_ echo #include <configs/$(CONFIG_SYS_CONFIG_NAME).h>; _
_ echo #include <asm/config.h>; _
_ echo #include <config_fallbacks.h>; _
+ echo #include <config_mender.h>; _
_ echo #include <config_uncmd_spl.h>; )

_ endef_

Is at line 78 and applies.

In directory u-boot-fw-utils the code to be changed is at line 111.

Therefore the same patch cannot be applied to two different files.

Seems strange that these files should be different if one directory is based of the other?

I would compare the git SHA of booth u-boot and u-boot-fw-utils recipe, it seems that they are not same then if the source differs.

Aaah, now I see the problem. You said that your U-boot is 2014.10, but you are building u-boot-fw-utils 2017.09. That explains the difference.

What you need to do is to provide your own u-boot-fw-utils_2014.10.bb that uses the same source as your u-boot_2014.10.bb

You should really have the equivalent of the upstream u-boot recipes for your 2014.10 fork.

There is also a section in our docs,

https://docs.mender.io/1.7/devices/yocto-project/bootloader-support/u-boot/manual-u-boot-integration/providing-custom-u-boot-fw-utils

1 Like

Thanks, will check it out.

Hi,

I’ve created a u-boot-fw_utils_v2014.10.bb recipe based on a combination of my u-boot recipe, the documentation example and my u-boot.inc. (Cant paste it as it keeps telling me I can’t quote 2 users?)

I’ve also updated my machine conf adding:
PREFERRED_PROVIDER_u-boot-fw-utils = “u-boot-fw-utils-v2014.10”
PREFERRED_RPROVIDER_u-boot-fw-utils = “u-boot-fw-utils-v2014.10”

After the recipes were parsed I’m seeing the following warning:

NOTE: Resolving any missing task queue dependencies
NOTE: multiple providers are available for runtime u-boot-fw-utils (u-boot-fw-utils, u-boot-fw)
NOTE: consider defining a PREFERRED_RPROVIDER entry to match u-boot-fw-utils

I can see that u-boot-fw-utils is still being built from u-boot-fw-utils/1_2017.01-r0.

Have I missed a step?

OK I see my error, I got confused with the my_fork syntax.

Have renamed my recipe u-boot-fw-utils-socfpga_v2014.10.bb and set iwg24m.conf to:
PREFERRED_PROVIDER_u-boot-fw-utils = “u-boot-fw-utils-socfpga”
PREFERRED_RPROVIDER_u-boot-fw-utils = “u-boot-fw-utils-socfpga”

Seems to be building.

1 Like