我有一个 u-boot,它可以将一个多镜像(Linux 内核+rootfs+dts)从串行闪存复制到 DDR。该设备是远程供电的。该设备需要故障安全远程固件升级,它可以在电源故障时幸存下来。我总是在 FLASH 上保存两张图片。当我将新固件写入闪存时,闪存上总会有另一个较旧的固件镜像。上电后的 U-boot 将启动最新的固件。
启动时间很重要,但并不关键。例如,我想让 u-boot 引导第一个“有效”镜像。 Linux 应用程序将决定是否需要重新启动并修改 u-boot 环境。
我可以给 u-boot 打补丁——添加一个命令来找到 FLASH 上的最新固件。我希望某个地方的某个人已经解决了这个问题并且可能比我更好。是否有 u-boot 的补丁/脚本允许根据一些元数据自动选择最新的固件?
还有其他解决问题的方法吗?
最佳答案
是的。 使用 Uboot 的 bootcount特征。 它会增加每次启动重试。并且应该在内核启动后由文件系统上的应用程序清除。 如果它达到了一个阈值。然后您可以从 uboot 启动另一个镜像。
关于linux - 用于选择最新镜像的 U-Boot 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33209475/