On 2/15/23 1:38 PM, Martin Siegumfeldt wrote:
Hi Mark,

I guess I am not being clear, please see the below sample - excerpt from our machine configuration:

require conf/machine/include/soc-zynq.inc
require conf/machine/include/machine-xilinx-default.inc
SPL_BINARY = "spl/boot.bin"
PREFERRED_PROVIDER_virtual/boot-bin = "u-boot-xlnx"

u-boot is providing the spl by means of the boot.bin and we have no dependencies whatsoever towards the fsbl-firmware recipe. This has worked flawless until langdale release using Xilinx BSP and CORE layers. The layers are configured according to:

There have to be dependencies on "fsbl" in your configuration. "fsbl" will depend (by default) on fsbl-firmware, which is the normal provider usually via meta-xilinx-tools.

The most likely source of the dependency on fsbl is xilinx-bootbin recipe. If you are not using xilinx-bootbin recipe, then you need to disable that from the dependency chain.

This is where the IMAGE_BOOT_FILES and related WKS_FILES_DEPENDS is coming from, if you have 'boot.bin' in IMAGE_BOOT_FILES, teh system is assuming you need xilinx-bootbin for WKS_FILES_DEPENDS.

You should be able to verify and chance the line:

WKS_FILE_DEPENDS:append = "${@bb.utils.contains('IMAGE_BOOT_FILES', 'boot.bin', ' xilinx-bootbin', '', d)}"

to

WKS_FILE_DEPENDS:append = "${@bb.utils.contains('IMAGE_BOOT_FILES', 'boot.bin', ' virtual/boot-bin', '', d)}"

And see the behavior of the system change. If that does work, capture it in some notes and send them to me. As I said, up to this point nobody has provided me with instructions on actually doing an SPL boot without hand-stitching everything outside of the build system. So I don't know where to begin to try to make this work and to be testable.

Remember you can always force disable fsbl-firmware/fsbl and find out the dependency chain by adding:

SKIP_RECIPE[fsbl] = "FSBL is disabled"
SKIP_RECIPE[fsbl-firmware] = "fsbl-firmware is disabled"


We have intentionally designed the system so that meta-xilinx-standalone is optional and not required, assuming you provide the binaries that would have otherwise been built -- or use an alternative approach that does not require baremetal binaries to be generated. If this doesn't work, the only way I can fix this is get help from users as to how to change the workflow and how to test the alternative workflows work. So far I've gotten very little help for anything related to u-boot SPL flow, thus it's in the state it is in.

--Mark

$ source poky/oe-init-build-env
.
.
.
$ bitbake-layers add-layer ../meta-xilinx/meta-xilinx-core ../meta-xilinx/meta-xilinx-bsp ../meta-gomspace/meta-nanomind-bsp
NOTE: Starting bitbake server...

which, on langdale, fails when building the image:

$ MACHINE=nanomind-z7045-nv3 bitbake core-image-minimal
Loading cache: 100% |                                                              | ETA:  --:--:--
Loaded 0 entries from dependency cache.
Parsing recipes: 100% |########################################################################################################################################################################################################################################################################################| Time: 0:00:07 Parsing of 946 .bb files complete (0 cached, 946 parsed). 1739 targets, 99 skipped, 0 masked, 0 errors.
ERROR: No recipes in default available for:
/tmp/distro-gomspace/meta-xilinx/meta-xilinx-bsp/recipes-bsp/embeddedsw/fsbl-firmware_%.bbappend

This error occur due to the BSP -> standalone layer dependency (introduced in https://github.com/Xilinx/meta-xilinx/commit/3182c3c10ffba0d92563bf83d9c583a30be3fabc <https://github.com/Xilinx/meta-xilinx/commit/3182c3c10ffba0d92563bf83d9c583a30be3fabc>). It occur despite we have no dependency, but due to the bb file residing in the standalone layer and appended in BSP layer. I believe it would be correct to indicate this dependency in layer.conf as per:

diff --git a/meta-xilinx-bsp/conf/layer.conf b/meta-xilinx-bsp/conf/layer.conf
index 56a5bc29..872f6526 100644
--- a/meta-xilinx-bsp/conf/layer.conf
+++ b/meta-xilinx-bsp/conf/layer.conf
@@ -14,7 +14,7 @@ BBFILE_COLLECTIONS += "xilinx-bsp"
  BBFILE_PATTERN_xilinx-bsp = "^${LAYERDIR}/"
  BBFILE_PRIORITY_xilinx-bsp = "5"
-LAYERDEPENDS_xilinx-bsp = "xilinx"
+LAYERDEPENDS_xilinx-bsp = "xilinx xilinx-standalone"
  LAYERSERIES_COMPAT_xilinx-bsp = "langdale"

Consequently, BB will inform about this when the layers are added rather when the image is build. Wouldn't it make sense to apply that patch to reflect the layer-dependency?

Kind regards,
Martin





-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#5159): 
https://lists.yoctoproject.org/g/meta-xilinx/message/5159
Mute This Topic: https://lists.yoctoproject.org/mt/96982329/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-xilinx/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to