我将u-boot配置为使用tftpboot通过以太网网络获取linux映像。如果外部设备上的tftp服务器已经设置并运行,一切正常。但是,如果我的设备在服务器准备就绪之前打开电源,它将会超时。一旦超时,它将不再尝试连接到服务器以获取文件。:
t.me
即使它说“重新开始”,但实际上没有重新启动。一旦服务器最终准备就绪,就没有通信来获取linux映像。请注意,我可以使用串口手动重启tftpboot,但我需要它自动重试。
是否有一些选项会使重试真正发生?以下是一些环境变量:
Filename 'image.ub'.
Load address: 0x10000000
Loading: T T T T T T T T T T
Retry count exceeded; starting again
Zynq>
答案 0 :(得分:1)
U-Boot输出的最后一条消息,
Retry count exceeded; starting again
来自tftp_timeout_handler()和restart(),然后调用net_start_again()。
是否有一些选项会使重试真正发生?
U-Boot例程net_start_again()表示环境变量netretry
确定局部变量retrycnt
和retry_forever
。
尝试使用值netretry
定义环境变量yes
,即
setenv netretry yes
当环境中不存在变量netretry
时,代码表示不会尝试重试(按照此patch),正如您所经历的那样。