如何使用yocto sdcard图像

问题描述 投票:1回答:2

我是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从不同分区加载内核?

yocto u-boot
2个回答
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'

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
© www.soinside.com 2019 - 2024. All rights reserved.