我想从我的u-boot脚本中检查设备上是否存在文件,然后再在此设备上运行图像。 实际上,这将确保在从其启动之前访问所请求的设备。 如何使用u-boot控制台命令测试文件是否存在?
以下测试对USB记忆棒执行了操作,以下是USB记忆棒的结果:
> if ext2ls usb 0; then echo "USB ON"; else echo "USB KO"; fi
<DIR> 4096 .
<DIR> 4096 ..
<DIR> 16384 lost+found
<DIR> 4096 boot
4096 boot.scr
USB ON
没有USB记忆棒的相同测试:
> if ext2ls usb 0; then echo "USB ON"; else echo "USB KO"; fi
** Bad device usb 0 **
USB KO
我希望实际上是测试boot.scr文件的存在。我怎么能这样做?
答案 0 :(得分:5)
你相当接近。由于ext2ls(或通用ls)仅适用于您需要执行的目录:
=> if load mmc 0:1 ${loadaddr} notfound; then echo found; else echo notfound;fi
** File not found notfound **
=> if load mmc 0:1 ${loadaddr} boot.scr; then echo found; else echo notfound;fi
27980 bytes read in 26 ms (1 MiB/s)
found
您可以看到更多此类测试的示例,并回溯到include / config_distro_bootcmd.h