如何使用yocto sdcard图像



我对Yocto World非常陌生,我遵循以下说明来编译Yocto。

http://doc.qt.io/qtfordevicecreation/qtee-custom-embedded-linux-image.html

当我从QT存储库中编译Yocto(boot2QT)时,我得到了SDCARD映像。当我将SDCARD刷新到存储卡时,我观察到/boot/目录内核中没有文件,而DTB文件中存在另一个分区mmc1p1中。我的U-Boot配置如下

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

并且它没有引导,因为/boot/目录中没有文件。然后,我更改了以下

以下的uboot配置
setenv bootcmd 'mmc dev 1; ext2load mmc 1:2 10800000 /zImage;ext2load mmc 1:2 0x12000000 /imx6q-sabrelitesd.dtb; bootz 0x10800000 - 0x12000000'

,我没有发现文件错误,所以我已经提到了 root=/dev/mmcblk0p2,我正在尝试从mmc0p1

加载内核

如何解决此问题?我是否应该在yocto配置上做点什么,并在 /boot/目录中使用内核和dtb文件,还是必须更改u-boot配置以从不同分区加载内核?

这里的问题是您仍在尝试从分区2加载内核和DTB,您必须更新bootcmd。据我所知,Yocto Partition1将在脂肪文件系统中,因此您必须使用fatload。

setenv bootcmd 'mmc dev 1; fatload mmc 1:1 10800000 /zImage; fatload mmc 1:1 0x12000000 /imx6q-sabrelitesd.dtb; bootz 0x10800000 - 0x12000000'

我相信您正在使用Yocto中的.SDCARD图像。因此,请按照以下命令将图像刷新到SDCARD。首先删除所有SDCARD分区,然后删除SDCARD。然后使用lsblk命令知道/dev/sdb|c|dmmcblk0

sudo dd if=fsl-image-gui-<MACHINE_NAME>.sdcard of=/dev/sd[b|c|d|e] bs=1MB

最新更新