I am very new to yocto world, I am following below instructions to compile yocto.
http://doc.qt.io/QtForDeviceCreation/qtee-custom-embedded-linux-image.html
When I compiled yocto(boot2qt) from qt repository I got sdcard image. When I flashed sdcard to memory card I observed that there is no files in /boot/
directory kernel and dtb files are present in another partition mmc1p1
. My u-boot configuration is as below
setenv bootargs 'console=ttymxc1,115200 root=/dev/mmcblk0p2 rootwait fixrtc rw'
setenv bootcmd 'mmc dev 1; ext2load mmc 1:2 10800000 /boot/zImage;ext2load mmc 1:2 0x12000000 /boot/imx6q-sabrelitesd.dtb; bootz 0x10800000 - 0x12000000'
saveenv
And its not booting because there is no files in /boot/
directory. Then I changed my uboot configuration as below
setenv bootcmd 'mmc dev 1; ext2load mmc 1:2 10800000 /zImage;ext2load mmc 1:2 0x12000000 /imx6q-sabrelitesd.dtb; bootz 0x10800000 - 0x12000000'
and I am getting file not found error, so its clear that I have mentioned
root=/dev/mmcblk0p2
and I am trying to load kernel from mmc0p1
How to fix this issue? Should I have to do something on yocto configuration and make kernel and dtb files to be available in /boot/
directory or I have to change u-boot configuration to load kernel from different partition and rootfs from different partition?
The problem here is you are still trying to load kernel and dtb from partition 2, you have to update bootcmd. And as per my knowledge with yocto partition1 will be in FAT file system so you have to use fatload.
setenv bootcmd 'mmc dev 1; fatload mmc 1:1 10800000 /zImage; fatload mmc 1:1 0x12000000 /imx6q-sabrelitesd.dtb; bootz 0x10800000 - 0x12000000'