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 !