Linux 服务器世界已经习惯于执行基于软件包的更新, 所有的东西似乎都能运行良好。 但是嵌入式设备则不一定。
服务器通常运行在一个可控的环境中, 可能是安全的, 并且有电源的保障和网络连接。...嵌入式 Linux 设备通常将媒介分为不同的分区, 可以分别更新:
Bootloader 分区: 如果有的话, 很少更新, 更新嵌入式设备的引导程序最终将导致设备最终被退出。...因此, 完善的更新机制应尽可能避免这种情况。
引导 / 内核分区: Linux 内核和相关固件, 如设备树和 initramfs 镜像,除非为了安全,通常不需要更新。...这存在严重的缺点, 如果固件更新代码必须更新(例如因为分区更改) , 那么需要更新的是 bootloader, 这是非常危险的。...基于镜像的开放源码软件更新有两个主要选项, 分别支持对称和非对称更新:
Swupdate[1] (GPLv2许可下)
swupdate 在 Yocto 通过 meta-swupdate 层(但仅限于对称更新