Hello NXP experts,
I am following "UG10164, i.MX Yocto Project User's Guide, Rev. LF6.12.3_1.0.0 — 31 March 2025".
I have to configure u-boot with
as showed in chapter "5.5 U-Boot configuration".
As suggested i runned the command:
and after i runned
An error is raised during the bitbake:
ERROR: Nothing PROVIDES 'virtual/bootloader' (but /home/imx-yocto-bsp/sources/poky/meta/recipes-core/images/core-image-minimal.bb DEPENDS on or otherwise requires it)
u-boot-qoriq PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot PROVIDES virtual/bootloader but was skipped: The selected UBOOT_CONFIG key ['sd', 'fspi'] has no match in dict_keys(['sd', 'ecc', 'ld']).
u-boot-fslc PROVIDES virtual/bootloader but was skipped: The selected UBOOT_CONFIG key ['sd', 'fspi'] has no match in dict_keys(['sd', 'ecc', 'ld']).
u-boot-imx PROVIDES virtual/bootloader but was skipped: The selected UBOOT_CONFIG key ['sd', 'fspi'] has no match in dict_keys(['sd', 'ecc', 'ld']).
edk2-firmware PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot-variscite PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot-toradex PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot-imx PROVIDES virtual/bootloader but was skipped: The selected UBOOT_CONFIG key ['sd', 'fspi'] has no match in dict_keys(['sd', 'ecc', 'ld']).
u-boot-kontron PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot-qoriq PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot-boundary PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
edk2-firmware PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
ERROR: Required build target 'core-image-minimal' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-minimal', 'virtual/bootloader'].
This is my local.conf file:
MACHINE ??= 'imx93-11x11-lpddr4x-evk'
DISTRO ?= 'fsl-imx-wayland'
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
HALT,${TMPDIR},100M,1K \
HALT,${DL_DIR},100M,1K \
HALT,${SSTATE_DIR},100M,1K \
HALT,/tmp,10M,1K"
PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
CONF_VERSION = "2"DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"# Switch to Debian packaging and include package-management in the image
PACKAGE_CLASSES = "package_deb"
EXTRA_IMAGE_FEATURES += "package-management"
UBOOT_CONFIG = "sd fspi"
What am I missing?
Regards,
Alessandro
已解决! 转到解答。
HI @il_ciancio!
By default is not possible you should do some modifications and we can't validate the image due to the evk board doesn't have fspi installed.
Best Regards!
Chavira
Hi @il_ciancio!
I found the problem!
For some reason the fspi configuration is not included.
You have to add the next lines in the imx93-11x11-lpddr4x-evk.conf file.
UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"
IMXBOOT_TARGETS_FSPI = "flash_singleboot_flexspi"
IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_FSPI}', 'flash_singleboot', d)}"
after that you can maintain the line UBOOT_CONFIG = "sd fspi" in local.conf file to deploy both images.
Best Regards!
Chavira
Hi @Chavira ,
congratulation, great job!
Now the bitabake is finished and i have u-boot*fspi files in my deploy directory.
Just for clarification, which are the kernel/rootfs image "compatible" with fspi? It is always the *.wic file?
thanks a lot and again great work!
Ciao @Chavira.
I have a question, maybe I am misunderstanding something.
I am working with a custom board without eMMC or SD card and It has only a SPI NOR FLASH, the goal is to boot starting from data inside the SPI memory on target IMX93.
There is also this ticket: all(bootloader, device tree, Linux kernel, rootfs)
It is made a custom UUU script in order to flash data in SPI memory:
the flash goes well because it is checked raw data read from spi memory.
After the boot, It is read data from SPI and putted in ram (like a bridge), some env vars are setted and after with the command booti:
the kernel should boot.
Why did you write "then use the rootfs flashed in eMMC or SD card."? Is it mandatory that rootfs must be in sd/emmc?
I hope that I am clear.
Thanks a lot!