在
U-boot
提示符下,我有环境变量,基本上检测我的 USB 记忆棒的第一个分区内是否有 boot.scr
脚本。如果是这样,它应该运行它。这个脚本应该启动一个 initramfs。
这些新的环境变量是使用 CONFIG_EXTRA_ENV_SETTINGS
宏添加的 u-boot
来源 link
"usb_bootscript=load usb 0:1 ${scriptaddr} ${bsp_script}\0" \
"usb_bootcmd=usb start ; if run usb_bootscript; then source ${scriptaddr}; else usb stop; fi;\0" \
"bsp_bootcmd=echo Running BSP bootcmd ...; " \
"run usb_bootcmd " \
"mmc dev ${mmcdev}; if mmc rescan; then " \
"if run loadbootscript; then " \
"run bootscript; " \
"else " \
"if run loadimage; then " \
"run mmcboot; " \
"else run netboot; " \
"fi; " \
"fi; " \
"fi;"
此代码在当前状态下工作。
在这里
usb_bootscript
检查里面usb 0:1
。我的问题是如何在 USB 记忆棒中有多个分区的情况下做一个更通用的脚本。其中一个包含一个 boot.scr 文件(不一定是第一个分区)