进级指令处理
如不雅用户大年夜 web 端选择了进级设备并且点击了进级按钮,办事端法度榜样则会记录该指令,当下一次收到终端设备的 POST 消息时,则会对指定的终端下发 update 进级指令,终端收到 update 敕令后履行进级法度榜样。进级完成之后终端会再次周期性上报其版本号,经由过程 web 端设备列表即可查看所有设备进级结不雅,做到进级流程、结不雅的可视化。
终端进级法度榜样由进级治理法度榜样和进级履行法度榜样两部分构成。本文所描述的进级策略先决前提是构建合理的磁盘、Flash 分区,以便支撑本策略中各类法度榜样的┞俘常运行。
终端磁盘分区示例
图 2. 终端设备磁盘分区图
图 2 是一个针对本策略的根本 Flash 分区示例。Flash 的总容量为 128M,第一个分区为启动分区,用来存放启动 Linux 体系的引导法度榜样,容量 2M;第二个分区为 Linux 内核分区,用来存放 Linux 内核镜像文件,容量 8M;第三个分区为根文件体系分区,用来存放根文件体系镜像文件且作为运行时用户操作空间,容量 100M;第四个为备份分区,用来存放想要备份的内容,以便进级完成后被拷贝到新的文件体系中,容量 16M;最后一个为固化信息分区,用来存放设备软件版本号、设备类型、设备 id 等信息,容量 2M。该分区信息仅作为参考,分区数量、大年夜小须要根据具体项目做响应修改。当然如不雅项目没有特别性,且硬件资本竽暌闺该示例匹配,此分区筹划亦可直接被沿用。
进级治理法度榜样
进级治理法度榜样功能如下:
- 治理软件版本信息
- POST 设备信息给办事端
- 大年夜办事端下载进级包
- 校验,治理进级包
- 启动进级履行法度榜样
进级治理法度榜样跟着体系开机启动且作为守护过程运行。第一次运行时大年夜宏定义中攫取软件版本号并固化到 info 分区中,每隔一段时光大年夜 info 分区中攫取设备类型、设备 id、软件版本号。并将这些信息经由过程 HTTP POST 给办事端。办事端收到设备信息之后解析出个中的软件版本号,并和数据库中的最新进级包版本号进行比较。如不雅进级包版本号高于设备版本号,则返回 download 指令以及进级包地址、进级包 MD5 码给终端设备。
表 1. 终端设备信息消息格局
web 端
表 2. 办事端返回消息格局
表 1、表 2 分别展示了终端设备发送、办事端返回的消息格局以及内容。
进级治理法度榜样收到办事端返回消息对其解析,根据不合指令做如下响应:
推荐阅读
【限时免费】岁尾最强一次云计算大年夜会,看传统、社区、互联网企业若何碰撞? 比来,传来了一个让安卓用户兴趣勃勃的消息——安卓同一推送联盟的官网已经上线了!这意味着,国内>>>详细阅读
本文标题:嵌入式Linux系统在线升级策略
地址:http://www.17bianji.com/lsqh/40034.html
1/2 1