Hello,
It's my first post here.
HW: MCIMX8M-EVKB Rev A.
SW:
Kernel version: 4.14.98
DISTRO: fsl-imx-wayland
Bitbake Target: core-image-minimal-dev
Tested Boot scenario (SOK): PASSED
1. Internal Default EMMC Boot - Board's existing emmc images
2. All in External SD boot - U-boot, Kernel, DTB, RootFS all in SD card
3. Only u-boot from External SD - u-boot loads from External SD card and boots Linux via TFTP/NFS.
Required Boot scenario (SNOK): FAILED
Need to remove External SD based boot-up as SD slot is used for my SDIO slave card, i.e., -
1. Default U-boot from emmc
2. RootFS & Kernel/DTB from NFS & TFTP respectively
In SNOK setup, kernel/RootFS get loaded from network but then linux boot halts. Refer attachment.
Hope above info is enough. If not, let me know and I'll share required info.
I might have missed something somewhere on the failed setup, being not much experienced with Embedded Linux bring-up.
Kindly help.
解決済! 解決策の投稿を見る。
Hi Igor,
Now I tried the uuu approach instead.
Switched SW802 DIP to 10 and tried:
$ sudo uuu -b emmc /media/chetan/works/imx8/WE866Cx_imx8mq_yocto_4.14.98/build/tmp/deploy/images/imx8mqevk/imx-boot-imx8mqevk-sd.bin-flash_evk
This seems to replace the default bootloader images in eMMC.
Will update on TFTP/NFS booting shortly.
Hi chetanc10
for NFS/TFTP usage one can look at sect.4.4.1.1 Using eMMC
all linux documentation
Best regards
igor
Hi Igor,
I have already looked into IMXLUG section 4.4.1.1.
IMXLUG-Approach: It instructs to download kernel and DTB via TFTP into RAM, write in internal emmc locations and then to boot linux, read the images from emmc to RAM and start booting from RAM.
My-approach: Avoid eMMC write and readback images, but just download images into RAM via TFTP and then boot from RAM.
I see no difference between above two approaches. And I also need to modify contents of RootFS regularly - my tests require multiple tests with different binaries/configuration files of my SDIO based WiFi NIC card. So I must use NFS.
also for NFS may be useful to look at below link
https://developer.ridgerun.com/wiki/index.php?title=IMX8/Nitrogen8M/Yocto/Advanced_image_loading
Best regards
igor
Hi Igor,
I'll try any method that helps me boot my custom linux/rootfs while avoiding External SD card completely.
Q1. Can I replace original emmc0 u-boot image on imx8 with my u-boot without disturbing the SPL? Given it is possible, please share the process details for the same.
Q2. Do I need to backup original emmc0 u-boot image first if Q1 might fail? In case Q1 is success, I'll not bother of Q2.
Please help to resolve this soon.
Thanks.
for emmc programming options may be useful to look at
https://boundarydevices.com/zeus-yocto-release-for-i-mx8mq/
Best regards
igor
Hi Igor,
The Yocto build created an .sdcard image only, not .wic type.
Please share an instructions document/link to flash this .sdcard image to internal eMMC.
Hi Igor,
Let me explain.
There is an eMMC internally available inside the IMX8MQ EVK which I cannot access from my linux build host. I have a .sdcard image generated by the Yocto framework instead of .wic type of image.
From Section 4.3.2 of the Linux user guide, it says we can program sdcard image to /dev/sd<x>.
This is from linux.
I need this:
Booting from SD, stop at uboot, select eMMC device to be programmed with core-image-minimal-dev-imx8mqevk.sdcard complete image (or) just bootloader image imx-boot-imx8mqevk-sd.bin-flash_evk.
When I tried the following to overwrite eMMC contents with above images, I see no difference as eMMC boot still uses factory images only.
--------
u-boot=> ext4load mmc 1:3 ${loadaddr} imx-boot-imx8mqevk-sd.bin-flash_evk
1451736 bytes read in 67 ms (20.7 MiB/s)
u-boot=> mmc dev 0
switch to partitions #0, OK
mmc0(part 0) is current device
u-boot=> mmc write ${loadaddr} 0x2 0x45F
MMC write: dev # 0, block # 2, count 1119 ... 1119 blocks written: OK
--------
Same applies for sdcard image written to mmc dev 0 offset 0x0.
If this is fixed, my issue would be resolved.
Hi Igor,
Now I tried the uuu approach instead.
Switched SW802 DIP to 10 and tried:
$ sudo uuu -b emmc /media/chetan/works/imx8/WE866Cx_imx8mq_yocto_4.14.98/build/tmp/deploy/images/imx8mqevk/imx-boot-imx8mqevk-sd.bin-flash_evk
This seems to replace the default bootloader images in eMMC.
Will update on TFTP/NFS booting shortly.
NFS/TFTP is also working as expected with updated Bootloader.