【问题标题】:how to use yocto sdcard image如何使用 yocto sdcard 映像
【发布时间】:2023-03-12 03:49:01
【问题描述】:

我是 yocto 世界的新手,我正在按照以下说明编译 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 配置做一些事情并使内核和 dtb 文件在 /boot/ 目录中可用,或者我必须更改 u-boot 配置以从不同分区加载内核和从不同分区加载 rootfs?

【问题讨论】:

    标签: yocto u-boot


    【解决方案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'
    

    【讨论】:

      【解决方案2】:

      我相信您使用的是来自 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
      

      【讨论】:

        猜你喜欢
        • 2017-05-22
        • 2018-01-30
        • 1970-01-01
        • 1970-01-01
        • 2018-05-13
        • 2020-01-01
        • 2017-11-15
        • 2018-01-02
        • 2017-10-11
        相关资源
        最近更新 更多