999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于嵌入式Linux系統的一鍵安全升級方法

2023-11-07 11:36:04李龍杰李競擇李澤銀
電腦知識與技術 2023年26期
關鍵詞:嵌入式設備系統

李龍杰,李競擇,李澤銀

(中國兵器裝備集團自動化研究所有限公司,四川綿陽 621000)

傳統的嵌入式linux系統升級過程中,首次升級通常使用串口或者專用燒寫設備將bootloader 燒寫至目標板的flash中作為基礎程序,然后通過該基礎程序對內核以及文件系統升級,該過程均通過網絡下載至內存中,然后燒寫至flash 完成。在首次flash 成功燒寫映像后,后續對所有映像的升級均可在bootloader 或linux 系統下使用網絡下載命令結合flash 擦寫命令共同完成。

上述無論是在bootloader 還是linux 系統下,升級任何程序都會經歷網絡下載、擦除flash 分區、寫映像到flash 分區的過程。這種升級方式首先由于是手動單步完成,需要升級人員對操作命令以及對系統分區(擦寫固定地址及大小的)熟悉,這增加了升級難度,特別是有需求升級多映像多分區時,極易出錯。其次網絡下載映像后,沒有任何校驗檢查映像是否損壞就直接寫入分區,若映像下載過程中損壞或者出錯,則會直接導致升級后設備不可用的風險,特別是升級bootloader 出錯時,將導致設備無法啟動,風險極大。最后,在bootloader 和linux 系統下保留了這些升級必要的flash 擦寫命令,將給系統帶來極大的安全隱患,如系統維護人員誤操作擦除或寫入了flash某區塊,誤操作系統所在分區將導致系統無法啟動,誤操作文件系統所在分區將導致文件丟失,造成系統運行異常,更有甚者將遭到商務競爭對手進入設備后對設備的破壞或惡意升級。本文將結合某工程中使用的uboot 作為bootloader 以及linux2.6 內核作為參考,介紹了一種將手動升級過程進行整合且裁剪系統級相關升級命令的方法,成功解決了手動單步執行繁雜易出錯、升級映像可靠性不明確、安全性較低的問題。

1 嵌入式linux系統簡介

嵌入式linux 系統軟件部分主要包含bootloader、linux 內核、文件系統[1]。bootloader 是嵌入式板卡CPU上電后執行的第一段代碼,通常CPU會根據配置在啟動引腳上的電平組合方式決定從NAND FLASH、NOR FLASH 還是網絡等啟動。bootloader 的主要功能是完成基本硬件初始化(如內存、調試串口、網絡等外設)、鏡像的搬移(將bootloder、內核、文件系統拷貝至內存中),并跳轉到內核處執行。內核是操作系統核心,負責系統的進程管理、內存管理、文件系統、網絡功能、硬件驅動、安全機制等[2]。可根據自身需要定制編譯的內核運行更快具有更少更簡化的代碼[3]。文件系統定義了文件組成方式、存儲方式以及查找方式等。Linux常見的文件系統包括磁盤的文件系統,如ext2、ext3、ext4、XFS、JFS、NTFS 等,閃存文件系統,如JFFS2、YAFFS等,特殊用途的文件系統,如sysfs、tmpfs、squashfs 等。嵌入式linux系統啟動過程如圖1所示。

圖1 Linux啟動過程

2 方案設計與實現

2.1 總體方案設計

當前目標板提供了128MB的NAND FLASH,筆者將系統劃分為6個分區,分區名以及功能如表1。

表1 系統分區情況

該方案將系統設計為雙分區系統,mtd0存儲的是uboot 鏡像,mtd1存儲uboot 運行過程中使用的環境變量,其中,mtd2 和mtd3 兩個分區互為工作區和備份區,增強設備可靠性,一般升級過程中僅升級備份區,升級完成后,備份區切換為工作區,工作區切換為備份區。mtd5分區存儲設備硬件形態關鍵數據,軟件通過建立硬件抽象層識別和操作這些硬件,對上層軟件屏蔽了硬件形態差異,實現多形態硬件兼容。

針對上述分區設計情況,筆者首先實現了一個自編寫命令行打包工具,該工具將所有需要升級的映像打包為一個映像,該映像奠定了一鍵安全升級的基礎。映像包含一個頭,記錄了文件所包含的固件類型、大小、位置、校驗和、廠商信息、版本信息等內容,如下所示:

在uboot 和linux 系統下分別實現一個升級命令,該升級命令實現了映像的下載、校驗、識別、flash 擦除、flash寫入、分區切換功能,可實現映像的一鍵下載及升級。同時,筆者裁剪掉了uboot 和linux 系統下的flash相關操作命令以及ftp、tftp下載命令,所有的升級映像下載均在自編寫升級命令中用代碼實現。

2.2 映像打包

自編寫程序打包工具是一個在linux虛擬機上運行的命令行工具,名稱為”fw_pack”,使用方法如圖2所示。

該工具根據傳入的命令參數將升級固件uboot、uImage、rootfs 等打包為一個大的映像文件,該文件包含如前面描述的一個文件頭。打包并發布固件時,僅支持五類文件,如表2所示。

圖2 打包工具用法

表2 文件類型

根據需要升級的內容添加或裁減命令行參數,可打包成不同的映像。如需打包fw_all.bin,首先將uboot、uImage、rootfs 拷貝至打包工具所在目錄,然后執行命令“fw_pack-t 4-u uboot.bin-k uImage-r rootfs.bin”,命令執行后,將根據傳入的參數把所有文件信息填充到映像頭對應域,然后將合并成一個bin文件,合并后的文件計算MD5校驗和并填充在映像頭的ucMd5Sum域。最后在命令行工具所在目錄輸出對應的fw_all.bin。打包后,fw_all.bin文件映像結構如表3所示(這里假定所有文件大小均為1Mbytes):

表3 映像結構說明

2.3 升級過程

在uboot 和linux 系統下分別實現一個升級命令,名稱為upgrade,使用用法如圖3所示。

圖3 升級命令

執行升級命令后,升級程序根據傳入參數從對應的ftp 服務器上下載指定文件名的映像,下載成功后將對映像的廠商以及校驗和進行合法性檢查,通過后寫入映像包含的內容到參數指定分區。升級成功后根據傳入參數決定是否重啟設備,若需重啟,則立即重啟設備。升級過程如圖4所示。

由上述過程可以看出,無論需要升級系統哪些內容,只有一個升級文件,且升級過程全由程序代碼邏輯控制,無任何人為干擾因素,提高了升級過程的自動化水平。并且在升級時對升級映像進行廠商合法性校驗以及對整個影響進行校驗和檢驗,當且僅當兩層校驗通過時才開始升級操作,提高了升級過程的安全性,防止設備開發或維護人員的誤操作或來自競爭對手的惡意升級。實現升級程序后,將uboot 下和系統下關于flash 的所有操作命令以及程序下載命令全部刪除,即該升級工具是實現升級功能的唯一通道。

2.4 uboot引導

如表1所示,系統采用雙分區系統,且兩個分區互為工作區和備份區,uboot 默認情況下將引導啟動工作區系統,如果工作區系統損壞,則引導啟動備份區系統。那么uboot 如何檢測到工作區系統損壞?通常情況下,uboot 在將flash中的linux 內核和根文件系統加載到內存后,跳轉執行內核前,將計算一次內核校驗和,校驗通過則啟動內核,校驗不通過則放棄啟動[4]。這就為雙分區系統設計提供了可能,但這樣的設計顯然有問題,當存儲根文件系統的flash區域存在壞塊或根文件系統遭遇破壞時,系統啟動時無法成功掛載根文件系統,導致設備無法啟動。在使用本方案設置的系統中,將增加對根文件系統的校驗,內核的校驗和可由mkimage生成,但根文件系統的校驗則沒有對應工具可生成。因此,通過自編寫根文件生成工具在根文件系統文件前加上固定幀頭,幀頭中就存儲了根文件系統的校驗和,當且僅當內核和根文件系統均校驗通過后,啟動內核,uboot 引導啟動過程如圖5所示。

圖4 升級過程

圖5 uboot引導過程

3 測試驗證

筆者根據使用場景以及本升級方法重點解決的問題設計了以下幾種測試案例,案例中均使用fw_all.bin同時升級雙分區的方式進行:

1)升級映像不做任何修改,觀察是否成功升級。

2)更改升級映像廠商名為0x12345678,觀察是否成功升級

3) 更改升級映像校驗和為0xFFFFFFFF,觀察是否成功升級。

測試結果見表4。

表4 測試結果

4 結束語

本文介紹了一種在uboot 以及linux 系統下,將所有系統升級內容、升級過程進行整合,并結合裁剪系統級相關升級命令的方式,達到一鍵升級、安全升級的目的[5]。該方法增加了升級過程的自動化程度及安全性,可大大提高設備維護人員對設備的升級效率,更能防止競爭對手對設備的惡意升級。同時本系統設計為雙分區系統,增加了設備的使用壽命以及遠程升級的安全性。該方法具有普遍適用性,可供其他嵌入式開發者參考使用。

猜你喜歡
嵌入式設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
原來他們都是可穿戴設備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 国产91在线|日本| 69精品在线观看| www.99精品视频在线播放| 色婷婷色丁香| 日本91视频| 日韩不卡高清视频| 2022精品国偷自产免费观看| 亚洲精品国产综合99久久夜夜嗨| 一级一级特黄女人精品毛片| 99久久性生片| 尤物精品视频一区二区三区| 国产免费羞羞视频| 国产男人的天堂| 伊大人香蕉久久网欧美| 免费女人18毛片a级毛片视频| 国产免费羞羞视频| 久久久久亚洲av成人网人人软件| 国产欧美精品一区二区| 影音先锋亚洲无码| 国产va在线| av在线无码浏览| 精品国产一区91在线| 嫩草国产在线| 91无码人妻精品一区| 亚洲天堂视频网站| 午夜激情福利视频| 欧美日韩激情| 欧美一区二区精品久久久| 亚洲av无码人妻| 天天躁狠狠躁| 中文字幕永久在线观看| 呦视频在线一区二区三区| 国产麻豆精品久久一二三| 99久久99视频| 亚洲av中文无码乱人伦在线r| 欧美日韩福利| 亚洲视频免费在线| 午夜国产精品视频| 婷五月综合| 在线永久免费观看的毛片| 亚洲男人天堂网址| 中文字幕欧美日韩| 青青青国产在线播放| 欧美成一级| 91成人在线免费视频| 日韩大片免费观看视频播放| 91亚瑟视频| 丰满的少妇人妻无码区| 国产欧美一区二区三区视频在线观看| 日韩无码黄色网站| 亚洲视频在线青青| 中文字幕首页系列人妻| 国产一级视频久久| 成人免费黄色小视频| 日韩精品无码免费专网站| 性69交片免费看| 色综合久久88色综合天天提莫| 久久久久久久久18禁秘| 26uuu国产精品视频| 在线中文字幕日韩| 一级毛片免费的| 日韩高清成人| 国产三级视频网站| 四虎AV麻豆| 亚洲一区二区三区国产精品| 五月六月伊人狠狠丁香网| 91精品国产自产在线老师啪l| 亚洲人成影院在线观看| 亚洲日本中文综合在线| 毛片最新网址| 91色综合综合热五月激情| 无码一区中文字幕| 九色在线视频导航91| 亚洲综合一区国产精品| 久久精品国产精品一区二区| 亚洲天堂在线视频| 欧美在线三级| 婷婷伊人五月| 国内精品久久九九国产精品 | 亚洲成人精品在线| 国产伦片中文免费观看| 国产凹凸一区在线观看视频|