Hey,
I've been trying to build a working image for my DFI M8M051 2.5" Pico-ITX Motherboard for the past couple of weeks.
I have an image example from the manufacturer, which I can deploy successfully, so I know that the problem is my board, not my image. I cannot use the manufacturer's image because I don't have the build files, which I need if I want to change something, add layers...
Here is what I know:
- My board is a i.MX8mq so I have been using the MACHINE = imx8mq-evk but the datasheet mentioned "Single Channel LPDDR4 up to 3200 MHz", so I also tried with MACHINE = imx8mq-lpddr4-wevk, but it didn't change anything. The few files I have from the manufacturer don't mentione lpddr4 so I am note sure wich one is the right one ?
- the latest LTS versions of Yocto is 5.0 Scarthgap
- I would prefer to flash my image with emmc boot than sd boot
- I have .dtb files from the manufacturer, which I know were specifically made for this board. There are multiple, but, as of right now, I just want to use HDMI so my file is fsl-imx8mq-M8M051-HDMI.dtb
Here are the steps I am doing to compile my image:
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
$ export PATH=~/bin:$PATH
$ git config --global user.name "user"
$ git config --global user.email "user@gmail.com"
$ git config --list
$ cd imx-yocto-bsp
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-scarthgap -m imx-6.6.52-2.2.0.xml
$ repo sync
$ MACHINE=imx8mq-evk DISTRO=fsl-imx-xwayland source ./imx-setup-release.sh -b build-m8m051
$ bitbake imx-image-core
Every time I am trying to deploy my images, I never have the right files in my folder.
For example, this one (https://www.nxp.com/docs/en/user-guide/RTEDGEYOCTOUG.pdf) says that I should use this (I changed the name of the files with the actual files in my folder):
.\uuu.exe -b emmc_all imx-boot-imx8mq-evk-sd.bin-flash_evk imx-image-core-imx8mq-evk.rootfs.wic.zst
But when I try, I always get the same error:
uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.2.135-0-gacaf035
Success 0 Failure 0
1:13 1/ 1 [=================100%=================] SDP: boot -f imx-boot-imx8mq-evk-sd.bin-flash_evk
It goes directly to 100% and gets stuck forever at the first step
Every option I tried can never pass the first step, and the big problem seems to be this imx-boot-imx8mq-evk-sd.bin-flash_evk file.
I have an UART debug board, and here is some of the errors I get :
U-Boot SPL 2024.04-lf_v2024.04+g6c4545203d1+p0 (Nov 15 2024 - 04:02:13 +0000)
PMIC: PFUZE100 ID=0x10
Fail to detect WEVK board but 4GB
or
DDRINFO: start DRAM init
DDRINFO: DRAM rate 3200MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
SEC0: RNG instantiated
Normal Boot
Trying to boot from USB SDP
SDP: initialize... and same, it get stuck here
So here are my questions:
- Is the MACHINE = imx8mq-evk good, or should I be using the lpddr4 one?
- Are my steps right, and are there any missing? If yes, which one?
- Which files/command line am I supposed to use to deploy my image?
- As I am using a specific .dtb file, where and when should I use it? (I once tried to build my image using the .dts file but it got to the point where it needed more than 500GB of disk space so I had to stop. As of right know, I am trying to use the .dtb file when I deploy the image and not building it)
To deploy the image, the manufacturer is using a uuu file that looks like this :
uuu_version 1.2.39
# Please Replace below items with actually file names
# @_flash.bin | boot loader
# @_Image | kernel image, arm64 is Image, arm32 it is zImage
# @_board.dtb | board dtb file
# @_initramfs.cpio.gz.uboot | mfgtool init ramfs
# @_rootfs.tar.bz2 | rootfs
# @_uTee.tar | optee image
# This command will be run when i.MX6/7 i.MX8MM, i.MX8MQ
SDP: boot -f M8M051_files/flash.bin
# This command will be run when ROM support stream mode
# i.MX8QXP, i.MX8QM
SDPS: boot -f M8M051_files/flash.bin
etc...
On the release note, it says that this image was built using Yocto 2.5 (Kernel 4.14.98) and the last update is from june 2021. But I can use yocto 5.0 right ?
I tried to create and use a similar uuu file to deploy my image :
- replacing flash.bin by my .bin-flash_evk
- using the same .dtb and initramfs.cpio.gz.uboot files
- using my Image file
But I still get stuck at the first step (.bin-flash_evk)...
I don't really know where to go from here because I tried a lot of things that I didn't even mention here...
If anyone has ideas or knows what are the right things to do, I would gladly appreciate the help !
HI @MagVille1205!
Thank you for contacting NXP Support!
The final images you compiled are only compatible with the i.MX8MQ-EVK board.
If you're working with a DFI platform, the corresponding Yocto Project (if available) should be provided directly by DFI.
We recommend contacting DFI Support for further clarification and access to the appropriate resources.
Best regards,
Chavira