如何使用yocto sdcard图像

时间:2017-12-09 12:28:58

标签: yocto u-boot

我对yocto世界很新,我按照以下说明编译yocto。

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

当我从qt存储库编译yocto(boot2qt)时,我得到了sdcard图像。当我将SD卡闪存到存储卡时,我发现/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配置上执行某些操作并使内核和dtb文件在/boot/目录中可用,或者我必须更改u-boot配置以从不同分区和rootfs从不同分区加载内核?

2 个答案:

答案 0 :(得分:1)

这里的问题是你仍在尝试从分区2加载内核和dtb,你必须更新bootcmd。根据我的知识,yocto partition1将在FAT文件系统中,因此你必须使用fatload。

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

答案 1 :(得分:0)

我相信您正在使用yocto中的.SDCARD图片。然后按照以下命令将图像闪存到SD卡。首先删除所有SD卡分区并卸载SD卡。然后使用lsblk命令了解/dev/sdb|c|dmmcblk0

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