【问题标题】:How to make correct bootargs for rootfs when device mapping changes设备映射更改时如何为 rootfs 制作正确的引导参数
【发布时间】:2016-02-08 23:56:41
【问题描述】:

我使用可以使用 sd-card 或 emmc 启动的 imx.6 sabresd 板。我可以使用 u-boot 正确启动 linux,并为 rootfs 提供具有正确位置的适当 bootargs。 但是使用 eMMC 启动 Linux 时,设备名称从插入 sd 卡时的 /dev/mmcblk1 变为未插入 sd 卡时的 /dev/mmcblk0。

现在,当我不知道要使用哪个设备时,如何使用 bootargs 参数在 u-boot 中给出正确的 root=?

当然,我可以在 u-boot 中进行一些测试,以检查是否插入了 sd 卡并更改 bootargs 参数(只是一个想法,但尚未测试)但实际上我希望有一个更优雅的解决方案这个? 有什么建议吗?

【问题讨论】:

    标签: linux u-boot rootfs


    【解决方案1】:

    如果您的内核和 rootfs 位于同一设备(sd-card 或 emmc),您可以尝试先从 sd-card 然后从 emmc 依次启动。见想法:

    boot_sdcard=setenv bootargs 'root=/dev/mmcblk1 ...'; run load_kernel_sdcard; bootm
    boot_emmc=setenv bootargs 'root=/dev/mmcblk0 ...'; run load_kernel_emmc; bootm
    bootcmd=run boot_sdcard; run boot_emmc
    

    如果没有 sdcard 和 u-boot continue boot form emmc,内核不会启动。

    【讨论】:

    • 这个想法是系统总是从 emmc 开始,无论是否插入 sd 卡。此外,无论有没有 sd 卡,系统都必须以自动方式尽快启动。
    猜你喜欢
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多