This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TDA2SX:如何在 QSPI 模式下使用 ramdisk 引导 SPL?

Guru**** 671890 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1193104/tda2sx-how-can-spl-boot-with-ramdisk-in-qspi-mode

器件型号:TDA2Sx

你(们)好

我们的定制板现在使用 VSDK 3.4通过 ramdisk 从 QSPI 引导。 以下是步骤:  

  1. 从 MLO 从 QSPI/FLASH 引导
  2. uBoot env:将内核、DTB、ramdisk (Linux 文件系统)从 QSPI/FLASH 加载到 SDRAM
  3. uBoot 安装/运行内核、dtb、ramdisk (Linux 文件系统)
  4. Linux 内核启动
  5. Linux 内核调用脚本文件。 它在后台模式中逐个加载 PVR、远程核心模块、rpmsg 模块、apps.out 和 net 模块。
  6. apps.out 运行用例。

现在、我们尝试将其修改为"早期引导晚期连接"模式。 因此、我们再也不能使用 uboot env 命令了。 我们如何使 SPL 负载斜升?

我比较代码。 在当前系统中,bootz 命令最终将 arch/arm/lib/bootm.c:boot_jue_linux(),其中的 initrd 参数包含在"gd->bd->bi_boot_params"到 kernel_entry()中。 因此 u-boot 可以使用 ramdisk 文件系统引导 Linux。

但在 VSDK 3.7中、board_init_r ()最终调用 arch/arm/lib/spl.c:juo_to _image_linux()(包含 FDT 文件内容)以引导 Linux。 它不能将 initrd 参数传递给 juo_to _image_linux()。

如何在 VSDK3.7中使用 ramdisk 参数使 SPL 引导 Linux? 谢谢。

BR、

Jeff

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Jeff:

    https://e2e.ti.com/support/processors/f/791/t/931314

    https://e2e.ti.com/support/processors/f/791/t/982196

    请查看上面的常见问题解答。 它们应有助于 在 VISION SDK 3.8中提供 QSPI 早期启动支持。

    此致、
    基尔西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Keerty、

    我已经阅读了这些内容、并已将 QSPI 早期启动支持添加到我们的项目中。 本示例中的 SPL 从 MMC 而不是 ramdisk 加载文件系统。 糟糕的是、我们的系统使用来自 QSPI/FLASH 的 ramdisk、而不是将文件系统放在 MMC 中。 因此我们无法启动系统。 我的问题是:如何使 SPL 从 ramdisk 以早期引导模式加载文件系统?

    BR、

    Jeff

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jeff、

    这是一个没有尝试的东西。 我们不支持这一点。

    此致、

    基尔西