真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

OpenRT固件更新流程

1 使用范圍

創(chuàng)新互聯(lián)主營蟠龍網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,app軟件開發(fā),蟠龍h5小程序開發(fā)搭建,蟠龍網(wǎng)站營銷推廣歡迎蟠龍等地區(qū)企業(yè)咨詢

????? 本文檔適用于分析OpenRT核心網(wǎng)路由器相關(guān)問題的技術(shù)人員。

?

2 固件更新需求

????? OpenRT系統(tǒng)包含系統(tǒng)鏡像、配置文件、Web頁面、內(nèi)核模塊、業(yè)務(wù)APP等多個(gè)組件。系統(tǒng)更新操作可能涉及多個(gè)部分,需要對多個(gè)組件進(jìn)行更新。這對OpenRT的維護(hù)人員提出了很高的要求,增加了維護(hù)成本。因此需要設(shè)計(jì)一套方便簡潔的系統(tǒng)固件升級流程,簡化OpenRT的維護(hù)流程,減低使用門檻,提高OpenRT核心網(wǎng)路由系統(tǒng)的競爭力。

?

3 固件更新方案

3.1 基本思路

????? 由于OpenRT系統(tǒng)包含多個(gè)組件,因此將所有最新組件打包,以單個(gè)文件形式通過Web頁面?zhèn)鬏數(shù)较到y(tǒng)后臺。解包后再執(zhí)行包中對應(yīng)的腳本進(jìn)行各組件的替換,以實(shí)現(xiàn)OpenRT系統(tǒng)整體更新的目的。

?

3.2 Web文件傳輸

????? OpenRT使用goAhead作為Web服務(wù)器,goAhead本身具備文件傳輸功能。其中前端設(shè)計(jì)需要在表單中添加一個(gè)type屬性為file的input,即可實(shí)現(xiàn)傳輸更新固件包至后臺的功能。

?

3.3 固件包更新流程

????? 固件更新包是一個(gè)tar.gz包,包含OpenRT各組件的最新版本和一個(gè)更新腳本update.sh。OpenRT后臺成功獲取到固件更新包后會創(chuàng)建更新標(biāo)志文件updating.flg,表明已獲取新版本需要及時(shí)更新。解壓此包后通過執(zhí)行update.sh替換系統(tǒng)內(nèi)部各組件并重啟,實(shí)現(xiàn)系統(tǒng)整體更新,詳細(xì)流程如圖 3.1所示。

OpenRT固件更新流程

更新包處理流程可能因?yàn)橄到y(tǒng)斷電等意外情況中斷,導(dǎo)致系統(tǒng)更新出現(xiàn)錯(cuò)誤。因此需要在每次開機(jī)時(shí)進(jìn)行更新檢測,主要檢測是否存在更新標(biāo)志文件updating.flg。若發(fā)現(xiàn)存在此文件表示上次更新操作意外中斷,這時(shí)需重新執(zhí)行update.sh,完成更新流程。詳細(xì)流程如圖 3.2所示。

OpenRT固件更新流程
3.4 更新腳本示例

????? OpenRT涉及功能眾多,每次更新內(nèi)容千差萬別。可能涉及新的組件,需要添加新的目錄結(jié)構(gòu)。也可能涉及新的配置文件等。因此需要根據(jù)每次更新的具體內(nèi)容設(shè)計(jì)更新腳本update.sh,腳本的基本功能就是替換、添加、刪除OpenRT文件系統(tǒng)中的各組件,示例如程序清單 3.1所示。

???????????????????????????????????????????????????????????????? 程序清單 3.1 update.sh示例

echo "updating firmware ..."

#
# dhcpserver
#
rm           /etc/dhcpdconfig.ini
cp           ./dhcpserver/dhcpdconfig.ini         /etc
rm_tool -r     /var/dhcplease
mkdir         /var/dhcplease
cp           ./dhcpserver/dhcpd.leases           /var/dhcplease
rm_tool -r     /apps/dhcpserver
mkdir         /apps/dhcpserver
cp           ./dhcpserver/dhcpserver              /apps/dhcpserver

#
# goahead
#
rm_tool -r     /apps/goahead
mkdir         /apps/goahead
cp           ./goahead/route.txt                     /apps/goahead
cp           ./goahead/goahead                    /apps/goahead
cp           ./goahead/gopass                      /apps/goahead
cp           ./goahead/webcomp                 /apps/goahead
cp           ./goahead/auth.txt                     /apps/goahead
rm           /lib/libgoahead.so
cp           ./goahead/libgoahead.so          /lib

#
# OpenRTCfgTool
#
rm_tool -r    /apps/OpenRTCfgTool/OpenRTCfgTool
mkdir        /apps/OpenRTCfgTool
cp          ./OpenRTCfgTool/OpenRTCfgTool       /apps/OpenRTCfgTool

#
# libcomm
#
rm            /lib/libcomm.so
cp            ./libcomm/libcomm.so             /lib

#
# libnethandle
#
rm            /lib/libnethandle.so
cp            ./libnethandle/libnethandle.so      /lib

#
# tmstat
#
rm            /lib/modules/trafficStats.ko
cp            ./tmstat/trafficStats.ko            /lib/modules

#
# web
#
untar         ./web.tar.gz                         /apps/goahead

#
# startup
#
rm            /etc/startup.sh
cp            ./startup.sh                           /etc/

#
# bsp
#
rm            /boot/grldr
rm            /boot/menu.lst
rm            /boot/OpenRT-bsp.elf
cp            ./bsp/grldr                             /boot
cp            ./bsp/menu.lst                      /boot
cp            ./bsp/OpenRT-bsp.elf          /boot

echo "update finish."

分享題目:OpenRT固件更新流程
本文URL:http://weahome.cn/article/gggioi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部