千家信息网

OpenRT固件更新流程

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,1 使用范围本文档适用于分析OpenRT核心网路由器相关问题的技术人员。2 固件更新需求OpenRT系统包含系统镜像、配置文件、Web页面、内核模块、业务APP等多个组件。系统更新操作可能涉及多个部分
千家信息网最后更新 2026年11月01日OpenRT固件更新流程

1 使用范围

本文档适用于分析OpenRT核心网路由器相关问题的技术人员。

2 固件更新需求

OpenRT系统包含系统镜像、配置文件、Web页面、内核模块、业务APP等多个组件。系统更新操作可能涉及多个部分,需要对多个组件进行更新。这对OpenRT的维护人员提出了很高的要求,增加了维护成本。因此需要设计一套方便简洁的系统固件升级流程,简化OpenRT的维护流程,减低使用门槛,提高OpenRT核心网路由系统的竞争力。

3 固件更新方案

3.1 基本思路

由于OpenRT系统包含多个组件,因此将所有最新组件打包,以单个文件形式通过Web页面传输到系统后台。解包后再执行包中对应的脚本进行各组件的替换,以实现OpenRT系统整体更新的目的。

3.2 Web文件传输

OpenRT使用goAhead作为Web服务器,goAhead本身具备文件传输功能。其中前端设计需要在表单中添加一个type属性为file的input,即可实现传输更新固件包至后台的功能。

3.3 固件包更新流程

固件更新包是一个tar.gz包,包含OpenRT各组件的最新版本和一个更新脚本update.sh。OpenRT后台成功获取到固件更新包后会创建更新标志文件updating.flg,表明已获取新版本需要及时更新。解压此包后通过执行update.sh替换系统内部各组件并重启,实现系统整体更新,详细流程如图 3.1所示。

更新包处理流程可能因为系统断电等意外情况中断,导致系统更新出现错误。因此需要在每次开机时进行更新检测,主要检测是否存在更新标志文件updating.flg。若发现存在此文件表示上次更新操作意外中断,这时需重新执行update.sh,完成更新流程。详细流程如图 3.2所示。


3.4 更新脚本示例

OpenRT涉及功能众多,每次更新内容千差万别。可能涉及新的组件,需要添加新的目录结构。也可能涉及新的配置文件等。因此需要根据每次更新的具体内容设计更新脚本update.sh,脚本的基本功能就是替换、添加、删除OpenRT文件系统中的各组件,示例如程序清单 3.1所示。

程序清单 3.1 update.sh示例

echo "updating firmware ..."## dhcpserver#rm           /etc/dhcpdconfig.inicp           ./dhcpserver/dhcpdconfig.ini         /etcrm_tool -r     /var/dhcpleasemkdir         /var/dhcpleasecp           ./dhcpserver/dhcpd.leases           /var/dhcpleaserm_tool -r     /apps/dhcpservermkdir         /apps/dhcpservercp           ./dhcpserver/dhcpserver              /apps/dhcpserver## goahead#rm_tool -r     /apps/goaheadmkdir         /apps/goaheadcp           ./goahead/route.txt                     /apps/goaheadcp           ./goahead/goahead                    /apps/goaheadcp           ./goahead/gopass                      /apps/goaheadcp           ./goahead/webcomp                 /apps/goaheadcp           ./goahead/auth.txt                     /apps/goaheadrm           /lib/libgoahead.socp           ./goahead/libgoahead.so          /lib## OpenRTCfgTool#rm_tool -r    /apps/OpenRTCfgTool/OpenRTCfgToolmkdir        /apps/OpenRTCfgToolcp          ./OpenRTCfgTool/OpenRTCfgTool       /apps/OpenRTCfgTool## libcomm#rm            /lib/libcomm.socp            ./libcomm/libcomm.so             /lib## libnethandle#rm            /lib/libnethandle.socp            ./libnethandle/libnethandle.so      /lib## tmstat#rm            /lib/modules/trafficStats.kocp            ./tmstat/trafficStats.ko            /lib/modules## web#untar         ./web.tar.gz                         /apps/goahead## startup#rm            /etc/startup.shcp            ./startup.sh                           /etc/## bsp#rm            /boot/grldrrm            /boot/menu.lstrm            /boot/OpenRT-bsp.elfcp            ./bsp/grldr                             /bootcp            ./bsp/menu.lst                      /bootcp            ./bsp/OpenRT-bsp.elf          /bootecho "update finish."
更新 系统 文件 组件 固件 流程 脚本 功能 多个 传输 后台 示例 设计 意外 人员 内容 整体 标志 核心 清单 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 上海睿民互联网科技有限公司 智能科技公司是互联网公司吗 亿策互联网科技 北京禾田雨橡互联网科技 甘肃拓世互联网科技有限公司 互联网 科技馆 银川新华互联网科技职业技术培训学校图片 佳云科技和互联网广告 彤创互联网科技有限公司 互联网领先科技宣传片 科技互联网行业投资研究 互联网公司属于科技吗 北京军民互联网科技公司 安徽九吞吴互联网科技有限公司 北京瑞云互联网科技有限公司 互联网科技创新方面的资料 互联网企业和网络科技有限公司 互联网科技创业有什么好项目 株洲百竞科技的互联网营销顾问 互联网最新的科技 工业互联网科技新基建 互联网科技公司怎么样 广州宏创互联网科技 互联网科技公司介绍 科技类的互联网平台 呼和浩特新华互联网科技学院 互联网新科技动漫ppt素材 2021互联网科技公司排名 互联网风格科技公司名称
0