你(们)好
我们的定制板现在使用 VSDK 3.4通过 ramdisk 从 QSPI 引导。 以下是步骤:
- 从 MLO 从 QSPI/FLASH 引导
- uBoot env:将内核、DTB、ramdisk (Linux 文件系统)从 QSPI/FLASH 加载到 SDRAM
- uBoot 安装/运行内核、dtb、ramdisk (Linux 文件系统)
- Linux 内核启动
- Linux 内核调用脚本文件。 它在后台模式中逐个加载 PVR、远程核心模块、rpmsg 模块、apps.out 和 net 模块。
- 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