我正在开发具有内部 SD 卡的嵌入式 linux 设备。此设备需要在不打开设备和取出 SD 卡的情况下进行更新。目标是允许用户使用 USB 闪存驱动器更新他们的设备。我想用新的 SD 卡映像完全覆盖内部 SD 卡。
我的第一个想法是卸载根文件系统并使用以下效果:
dd if=/mnt/flashdrive/update.img of=/dev/sdcard
但是,实际上要正确卸载根文件系统似乎很困难,因为像“login”和“systemd”这样的进程仍在使用根上的资源。例如,一旦您终止登录,更新脚本也会被终止。
当然,我们总是可以使用 dd 而不卸载 root。然而,这似乎相当愚蠢。:P
我还考虑在系统实际挂载根文件系统之前修改系统初始化脚本以执行此逻辑。
是否有正确/简单的方法来执行此类更新?我想它以前已经做过了。
谢谢!