This was very interesting, I didn't know about the signatures and the ability to diff and dump them. Unfortunately this didn't give me any useful insights to this problem though - the most differences appear in the scripts. The build from Variscite is done on some scarthgap and my build is from current master branches. I couldn't find anything that would point me to where something is really different.
I also encountered that there are problems with the build from Variscite, even when using the very specific build environment in the corresponding docker image. The complete image build fails for various reasons (checkums mismatches, weird git activities that require ones .gitconfig to be mounted in the docker container that then causes further issues if you are normally signing your commits) and finally undefined references in glibc etc. I also encounter a somewhat broken build environment, since trying to call `bitbake-diffsigs` fails with an IndexError (sig2 = latestsigs[1] IndexError: list index out of range) even though I already built that recipe - building virtual/bootloader, u-boot and imx-boot does work. I must surrender. Thanks for all your great help and effort! Am Mittwoch, dem 05.02.2025 um 15:38 +0000 schrieb David Daniel via lists.yoctoproject.org: > Thanks a lot! I will try that tomorrow and see what I can find out. > > Am Mittwoch, dem 05.02.2025 um 15:15 +0100 schrieb Gyorgy Sarvari: > > One generic thought, which may or may not be a waste of time: > > > > Take a look at this article, on how to dump sigdata: > > https://wiki.yoctoproject.org/wiki/TipsAndTricks/Understanding_what_changed_(diffsigs_etc) > > > > - it is meant to investigate sstate-cache-misses, but I think it > > *might* > > help you too: > > > > 1. Check if the the generated ${B}/.config files are the same after > > the > > do_configure step for both versions. > > 2. If the .config files are the same, run do_compile for both u- > > boots. > > If they are different, run do_fetch and do_configure at least. > > 2. Save the generated signatures > > 3. Dump the content of both signatures and run a diff on them to > > see > > what's different between the recipes. These signatures supposed to > > contain most (all?) relevant functions, variables and their values > > used > > for the task. At the first time I'd especially concentrate on > > variable > > names containing "BOOT", and maybe on the compiler flags. > > > > On 05.02.25 11:16, David Daniel via lists.yoctoproject.org wrote: > > > Hi all > > > We received an iMX95 Dart evalkit board from Variscite and I am > > > preparing our > > > bsp layer for the machine that will be derived from that board. > > > Now > > > I wanted to > > > integrate u-boot and imx-boot into our image and went ahead and > > > took a look at > > > Variscites layers - they already provide some setup for a Yocto > > > build so I > > > though I will just grab the u-boot from their repository and > > > build > > > that the > > > same way they do it. Now it turns out my build does not boot, the > > > u-boot > > > binaries and the imx-boot binary are different from the > > > Variscites > > > build - I > > > cannot figure out what I am missing since I went up and down the > > > recipes and > > > bitbakes environment and cannot find any difference. > > > > > > I am using the following setup in the machine configuration: > > > > > > TUNE_FEATURES = "aarch64 armv8a-2a crc crypto cortexa55" > > > require conf/machine/include/imx95-evk.inc > > > INHERIT += "image-buildinfo" > > > > > > IMX_DEFAULT_BSP = "nxp" > > > IMX_DEFAULT_BOOTLOADER = "u-boot-cf200" > > > IMX_DEFAULT_BOOTLOADER:use-nxp-bsp = "u-boot-cf200" > > > > > > MACHINE_FEATURES = "pci usbhost vfat alsa touchscreen screen > > > pci bluetooth wifi screen nxpiw612-sdio" > > > MACHINE_FEATURES:remove = "xen jailhouse dpdk nxpwifi-all- > > > sdio > > > nxpwifi-all-pcie" > > > > > > UBOOT_CONFIG_BASENAME = "imx95_var_dart" > > > UBOOT_CONFIG = "sd" > > > UBOOT_CONFIG[sd] = "${UBOOT_CONFIG_BASENAME}_defconfig" > > > UBOOT_CONFIG[fspi] = > > > "${UBOOT_CONFIG_BASENAME}_fspi_defconfig" > > > UBOOT_DTB_NAME = "imx95-var-dart-dt8mcustomboard.dtb" > > > SPL_BINARY = "spl/u-boot-spl.bin" > > > LOADADDR = "" > > > UBOOT_SUFFIX = "bin" > > > UBOOT_MAKE_TARGET = "" > > > > > > IMXBOOT_TARGETS = "flash_a55" > > > IMX_BOOT_SOC_TARGET = "iMX95" > > > IMX_BOOT_SEEK = "32" > > > IMXBOOT_VARIANT = "" > > > > > > OEI_BOARD = "mx95lp5" > > > DDR_TYPE = "lpddr5" > > > > > > DDR_FIRMWARE_NAME = " \ > > > lpddr5_dmem_v202311.bin \ > > > lpddr5_dmem_qb_v202311.bin \ > > > lpddr5_imem_v202311.bin \ > > > lpddr5_imem_qb_v202311.bin \ > > > " > > > SYSTEM_MANAGER_FIRMWARE_BASENAME = "m33_image" > > > SYSTEM_MANAGER_FIRMWARE_NAME = "m33_image-mx95evk" > > > > > > With the following recipe for u-boot - I am using the same > > > version > > > with the > > > same configuration and the same device tree binary that Variscite > > > is using: > > > > > > require recipes-bsp/u-boot/u-boot.inc > > > > > > PROVIDES += "u-boot" > > > DEPENDS += "bison-native bc-native dtc-native gnutls-native" > > > > > > LICENSE = "GPL-2.0-or-later" > > > LIC_FILES_CHKSUM = > > > " > > > file://Licenses/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263" > > > > > > UBOOT_SRC ?= "git://github.com/varigit/uboot- > > > imx;protocol=https" > > > > > > SRCBRANCH = "lf_v2024.04_6.6.23-2.0.0_var01" > > > SRCREV = "235d259e8c4362e725567791728a74bc2d4441e2" > > > UBOOT_INITIAL_ENV_DEVICE = "sd" > > > > > > SRC_URI = "${UBOOT_SRC};branch=${SRCBRANCH} \ > > > file://fw_env.config \ > > > " > > > > > > S = "${WORKDIR}/git" > > > > > > LOCALVERSION ?= "-cf200" > > > PV = "1" > > > > > > BOOT_TOOLS = "imx-boot-tools" > > > > > > UBOOT_INITIAL_ENV = "u-boot-initial-env" > > > UBOOT_INITIAL_ENV_DEVICE = "sd" > > > UBOOT_CONFIG = "sd" > > > > > > do_install:append() { > > > ln -sf ${UBOOT_INITIAL_ENV}-${UBOOT_INITIAL_ENV_DEVICE} > > > ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV} > > > } > > > > > > PACKAGE_ARCH = "${MACHINE_ARCH}" > > > > > > The resulting spl and u-boot binaries are one to two kb smaller > > > than the ones > > > that are created by the vendor of the board. We do not need any > > > binary on the > > > M7 yet and I thought this would be optional, so I thought this > > > would be fine as > > > long as I only speficy `flash_a55` and not `flash_all`. > > > > > > That way I get the following in the deploy directory of imx-boot- > > > tools: > > > > > > .rw-r--r-- david david 64 KB Tue Feb 4 14:07:54 2025 > > > lpddr5_dmem_qb_v202311.bin > > > .rw-r--r-- david david 64 KB Tue Feb 4 14:07:54 2025 > > > lpddr5_dmem_v202311.bin > > > .rw-r--r-- david david 25 KB Tue Feb 4 14:07:54 2025 > > > lpddr5_imem_qb_v202311.bin > > > .rw-r--r-- david david 63 KB Tue Feb 4 14:07:54 2025 > > > lpddr5_imem_v202311.bin > > > .rw-r--r-- david david 154 KB Tue Feb 4 14:07:54 2025 > > > m33_image-mx95evk.bin > > > .rwxr-xr-x david david 56 KB Tue Feb 4 14:07:54 2025 > > > mkimage_imx8 > > > .rw-r--r-- david david 212 KB Tue Feb 4 14:07:54 2025 > > > mx95a0- > > > ahab-container.img > > > .rw-r--r-- david david 92 KB Tue Feb 4 14:07:54 2025 oei- > > > m33-ddr.bin > > > .rw-r--r-- david david 3.6 KB Tue Feb 4 14:07:54 2025 oei- > > > m33-tcm.bin > > > .rw-r--r-- david david 19 KB Tue Feb 4 14:07:54 2025 > > > soc.mak > > > .rw-r--r-- david david 932 KB Tue Feb 4 14:07:54 2025 u- > > > boot- > > > cf200.bin-sd > > > .rw-r--r-- david david 138 KB Tue Feb 4 14:07:54 2025 u- > > > boot- > > > spl.bin-cf200-sd > > > > > > Whereas the corresponding directory from Variscite looks like the > > > following: > > > > > > .rw-r--r-- david david 33 KB Mon Feb 3 11:25:07 2025 bl31- > > > imx95.bin > > > .rw-r--r-- david david 35 KB Mon Feb 3 16:25:05 2025 > > > imx95- > > > 19x19-evk_m7_TCM_power_mode_switch_rtos_imx95_sm_cm7.bin > > > .rw-r--r-- david david 64 KB Mon Feb 3 16:25:05 2025 > > > lpddr5_dmem_qb_v202311.bin > > > .rw-r--r-- david david 64 KB Mon Feb 3 16:25:05 2025 > > > lpddr5_dmem_v202311.bin > > > .rw-r--r-- david david 25 KB Mon Feb 3 16:25:05 2025 > > > lpddr5_imem_qb_v202311.bin > > > .rw-r--r-- david david 63 KB Mon Feb 3 16:25:05 2025 > > > lpddr5_imem_v202311.bin > > > .rw-r--r-- david david 143 KB Mon Feb 3 16:25:05 2025 > > > m33_image-mx95evk.bin > > > .rwxr-xr-x david david 56 KB Mon Feb 3 16:25:05 2025 > > > mkimage_imx8 > > > .rw-r--r-- david david 192 KB Mon Feb 3 16:25:05 2025 > > > mx95a0- > > > ahab-container.img > > > .rw-r--r-- david david 90 KB Mon Feb 3 16:25:05 2025 oei- > > > m33-ddr.bin > > > .rw-r--r-- david david 2.4 KB Mon Feb 3 16:25:05 2025 oei- > > > m33-tcm.bin > > > .rw-r--r-- david david 19 KB Mon Feb 3 16:25:05 2025 > > > soc.mak > > > .rw-r--r-- david david 935 KB Mon Feb 3 16:25:05 2025 u- > > > boot- > > > imx95-var-dart.bin-sd > > > .rw-r--r-- david david 139 KB Mon Feb 3 16:25:05 2025 u- > > > boot- > > > spl.bin-imx95-var-dart-sd > > > > > > I don't understand why the bl31-imx95.bin is present in the > > > vendors > > > deployment > > > folder since optee is not enabled. I only get this binary > > > deployed > > > when optee > > > is enabled in my build. I also don't understand how it is > > > possible > > > that the > > > same u-boot package with the same configuration and the same > > > device > > > tree binary > > > results in a different u-boot executable. > > > > > > Thanks for any hints! > > > > > > Dave > > > > > > > > > > > > > > > > -- David Daniel VR AG Rütistrasse 18 8952 Schlieren Telefon: +41 44 738 32 07 Web: https://vrag.ch ISO9001 zertifiziert | SWISS LABEL Mitglied | Lehrbetrieb
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#64725): https://lists.yoctoproject.org/g/yocto/message/64725 Mute This Topic: https://lists.yoctoproject.org/mt/111009769/21656 Group Owner: yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-