This looks like it resolves my problem.

It is TCLIBCAPPEND not TCLIBAPPEND and the forcevariable is not needed. Adding this to my template local.conf now.

Philip

On 1/7/25 2:34 PM, Mark Hatle via lists.yoctoproject.org wrote:
Ya, I ran into something similar recently with master.

The TMPDIR's created are as expected, but clearly the path specified in the default FSBL_FILE isn't expecting the 'glibc' part of it.

Your default value is specified in the zynqmp-zcu102-sdt machine.conf file:

# First Stage Boot Loader
FSBL_DEPENDS = ""
FSBL_MCDEPENDS = "mc::zynqmp-zcu102-sdt-cortexa53-fsbl:fsbl- firmware:do_deploy" FSBL_DEPLOY_DIR = "${TMPDIR}-zynqmp-zcu102-sdt-cortexa53-fsbl/deploy/ images/${MACHINE}"

The problem is we're assuming that TMPDIR is NOT being changed by the distribution, but it is...

See:

./meta/conf/distro/defaultsetup.conf:TCLIBCAPPEND ?= "-${TCLIBC}"
./meta/conf/distro/defaultsetup.conf:TMPDIR .= "${TCLIBCAPPEND}"


What is expected to happen is the (linux / default) multiconfig says I'm going to use 'TMPDIR' for all of my stuff....

The Multiconfigs say, I'm going to use: TMPDIR .= "-${BB_CURRENT_MC}"

So if you look at it like:

default:
TMPDIR = "/foo/bar/temp"

mc:
TMPDIR = "${TMPDIR}-${BB_CURRENT_MC}"

you SHOULD end up with:

default = /foo/bar/temp

mc = /foo/bar/temp-zynqmp-zcu102-sdt-cortexa53-fsbl

and magically everything works.. _BUT_ the distro you are using in the default context is modifying the TMPDIR in some way (see the defaultsetup stuff above), which is causing things to get out of sync.



This is effectively causing TMPDIR to not be 'stable' so the distribution ends up changing things.

While purely a workaround, the following SHOULD work (in your local.conf):

TCLIBAPPEND:forcevariable = ""

(note the :forcevariable may not be required)

Note:

./meta-poky/conf/distro/poky.conf:TCLIBCAPPEND = ""

which is why I'm not seeing this problem when I use poky.


The underlying issue is that each multiconfig is separated and there is no way to pass information from one context to another, so there is no way to ask a MC what it's TMPDIR is, so we make assumptions, which in this case are wrong.

I'm not sure of another way to fix this, or even really identify that it's an issue.  I'm open to any suggestions on how to resolve this.

--Mark

On 1/7/25 12:28 PM, Philip Balister wrote:
I am trying to build for a xcu104 with the adaptive soc. Layer collection is here:

https://github.com/balister/xilinx-minimal/tree/scarthgap-next

Please no heckling about the minimal name.

I am trying to build core-image-minimal and fial during image assembly with:

| DEBUG: Python function extend_recipe_sysroot finished
| DEBUG: Executing shell function do_install
| Unable to find FSBL_FILE (/home/balister/opensdr/test-builds/xilinx- minimal-scarthgap/build/tmp-glibc-zynqmp-zcu104-sdt-full-cortexa53- fsbl/deploy/images/zynqmp-zcu104-sdt-full/fsbl-zynqmp-zcu104-sdt- full.elf)
| WARNING: exit code 1 from a shell command.
ERROR: Task (/home/balister/opensdr/test-builds/xilinx-minimal- scarthgap/meta-xilinx/meta-xilinx-core/recipes-bsp/embeddedsw/ fsbl.bb:do_install) failed with exit code '1'


Note the tmp-glibc-... in the fsbl path.

These are the tmp directories I have,

drwxr-xr-x. 1 balister balister 234 Jan  4 13:22 tmp-glibc
drwxr-xr-x. 1 balister balister 270 Jan  4 13:44 tmp-zynqmp-zcu104- sdt-full-cortexa53-fsbl drwxr-xr-x. 1 balister balister 254 Jan  4 14:00 tmp-zynqmp-zcu104- sdt-full-microblaze-pmu

It feels to me like the image builder doesn't know to look in quite the right tmpdir for the fsbl.elf file.

Any how to fix this? Do I have a problem in my setup?

Philip

Philip








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

Reply via email to