CN112783537A - 基于MTD存储设备的嵌入式linux操作系统升级方法及系统 - Google Patents

基于MTD存储设备的嵌入式linux操作系统升级方法及系统 Download PDF

Info

Publication number
CN112783537A
CN112783537A CN202011635583.7A CN202011635583A CN112783537A CN 112783537 A CN112783537 A CN 112783537A CN 202011635583 A CN202011635583 A CN 202011635583A CN 112783537 A CN112783537 A CN 112783537A
Authority
CN
China
Prior art keywords
partition
upgrading
operating system
mtd
partitions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011635583.7A
Other languages
English (en)
Other versions
CN112783537B (zh
Inventor
杨波
韩伟健
倪志伟
章为昆
陈德才
刘静
刘清俊
贾天有
职鑫杰
李兆刚
邬永强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Wellsun Intelligent Technology Co Ltd
Original Assignee
Zhejiang Wellsun Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Wellsun Intelligent Technology Co Ltd filed Critical Zhejiang Wellsun Intelligent Technology Co Ltd
Priority to CN202011635583.7A priority Critical patent/CN112783537B/zh
Publication of CN112783537A publication Critical patent/CN112783537A/zh
Application granted granted Critical
Publication of CN112783537B publication Critical patent/CN112783537B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种基于MTD存储设备的嵌入式linux操作系统升级方法及系统,将操作系统关键功能划分为五组分区,并进行对应的升级文件包制作,得到升级文件包集成包;然后,利用软件脚本对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对;当所述校验信息比对一致时,对uboot分区和kernel分区进行静态分区升级流程,对rootfs分区、app分区和data分区进行动态分区升级流程,然后重启目标板,完成升级,检测识别出校验失败的升级文件、伪装成升级文件的虚假文件,有效防护来自此类异常升级文件的攻击,保护系统安全,增强系统的稳定性。

Description

基于MTD存储设备的嵌入式linux操作系统升级方法及系统
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种基于MTD存储设备的嵌入式linux操作系统升级方法及系统。
背景技术
随着信息技术的不断发展,嵌入式产品已经广泛应用于工业和家庭的各个领域。基于arm-linux体系的嵌入式产品,在开发、生产及现场运行等各个阶段都不可避免的会遇到系统升级的需求。当前现有的升级方案可以分为增量升级和全量升级两种模式。
增量升级模式即将需求新增或修改的功能部分通过软件补丁等方式添加到操作系统中。这种模式往往要求操作系统拥有完整的读写操作权限,容易遭受升级过程中误操作导致的操作系统损伤,危害系统稳定和安全。全量升级模式则一般通过覆写原操作系统存储区域实现系统升级,通常采用各功能分区独立升级的方式,某一功能分区的升级过程不会影响其他功能分区。但是,该模式同样面临升级过程中数据损坏或丢失导致的系统稳定和安全方面的隐患。而且现有的一些升级方案只能实现部分功能分区的升级,容易导致操作系统环境的严重差异化、系统功能的零散化,不利于操作系统版本管理,降低操作系统的稳定性。
发明内容
本发明的目的在于提供一种基于MTD存储设备的嵌入式linux操作系统升级方法及系统,增强操作系统的稳定性。
为实现上述目的,第一方面,本发明提供了一种基于MTD存储设备的嵌入式linux操作系统升级方法,包括以下步骤:
将操作系统关键功能划分为五组分区,以及进行对应的升级文件包制作,得到升级文件包集成包,其中,所述五组分区包括uboot分区、kernel分区、rootfs分区、app分区和data分区,每组分区均拥有主分区及备份分区;
利用软件设计对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对;
若所述校验信息比对一致,则对划分出的所述五组分区分别进行静态分区升级流程以及动态分区升级流程,并重启目标板,完成升级。
其中,利用软件设计对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对,包括:
通过软件设计对外部存储设备的接入进行检测,并当检测到所述外部存储设备具有所述升级文件包集成包时,启动操作系统升级流程;
利用解压指令对所述升级文件包集成包进行解密解压缩,并提取解压得到的压缩文件内容,以及判断所述压缩文件是否提取成功;
若所述压缩文件提取成功,则对解压得到的升级文件进行版本确认和校验信息比对。
其中,若所述压缩文件提取成功,则对解压得到的升级文件进行版本确认和校验信息比对,包括:
采集所述升级文件的版本信息,并与设定版本信息进行比较;
若所述版本信息与所述设定版本信息不相同,则利用校验算法运算当前所述升级文件的校验信息,并将所述校验信息与所述升级文件包中存储的原始校验信息进行比对。
其中,若所述校验信息比对一致,则对划分出的所述五组分区分别进行静态分区升级流程以及动态分区升级流程,并重启目标板,完成升级,包括:
若所述校验信息比对一致,则对所述uboot分区和所述kernel分区进行静态分区升级流程,然后重启目标板,完成升级;
若所述校验信息比对一致,则对所述rootfs分区、所述app分区和所述data分区进行动态分区升级流程,然后重启目标板,完成升级。
其中,若所述校验信息比对一致,则对所述uboot分区和所述kernel分区进行静态分区升级流程,然后重启目标板,完成升级,包括:
当所述uboot分区和所述kernel分区的所述校验信息比对一致时,利用擦除指令擦除MTD存储设备中所述uboot分区和所述kernel分区对应的存储区域;
利用拷贝指令将有效的所述升级文件拷贝至设定的MTD分区,然后重启所述目标板,完成升级。
其中,若所述校验信息比对一致,则对所述rootfs分区、所述app分区和所述data分区进行动态分区升级流程,然后重启目标板,完成升级,包括:
利用进程管理指令,停止对应进程对所述rootfs分区、所述app分区和所述data分区挂载路径的数据读写访问;
利用擦除指令擦除MTD存储设备中所述rootfs分区、所述app分区和所述data分区对应的存储区域;
利用拷贝指令将有效的所述升级文件拷贝至设定的MTD分区,然后重启所述目标板,完成升级。
第二方面,本发明提供了一种基于MTD存储设备的嵌入式linux操作系统,如第一方面所述的一种基于MTD存储设备的嵌入式linux操作系统升级方法应用于一种基于MTD存储设备的嵌入式linux操作系统,
所述基于MTD存储设备的嵌入式linux操作系统包括功能分区划分模块、升级文件包制作模块和系统升级模块,所述功能分区划分模块、所述升级文件包制作模块和所述系统升级模块依次连接;
所述功能分区划分模块,用于将操作系统关键功能划分为五组分区,其中,所述五组分区包括uboot分区、kernel分区、rootfs分区、app分区和data分区,每组分区均拥有主分区及备份分区;
所述升级文件包制作模块,用于根据五组分区创建对应的升级文件,并利用组合指令,将包含校验信息的所述升级文件进行加密压缩、集成,得到对应的升级文件包集成包;
所述系统升级模块,用于利用软件设计对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对,并当所述校验信息比对一致,则对划分出的所述五组分区分别进行静态分区升级流程以及动态分区升级流程,并重启目标板,完成升级。
本发明的一种基于MTD存储设备的嵌入式linux操作系统升级方法及系统,首先,将操作系统关键功能划分为五组分区,并进行对应的升级文件包制作,得到升级文件包集成包,其中,所述五组分区包括uboot分区、kernel分区、rootfs分区、app分区和data分区;然后,利用软件设计对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对;当所述校验信息比对一致时,则对所述uboot分区和所述kernel分区进行静态分区升级流程,对所述rootfs分区、所述app分区和所述data分区进行动态分区升级流程,然后重启目标板,完成升级,检测识别出校验失败的升级文件、伪装成升级文件的虚假文件,有效防护来自此类异常升级文件的攻击,保护系统安全,每组分区中设计有主分区及其备份分区,主备分区版本同步,进一步提高操作系统升级过程的容错率,有效防护升级过程中发生意外停电等危险操作带来的系统安全风险,增强系统的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的一种基于MTD存储设备的嵌入式linux操作系统升级方法的步骤示意图。
图2是本发明提供的一种基于MTD存储设备的嵌入式linux操作系统关键分区设计。
图3是本发明提供的一种基于MTD存储设备的嵌入式linux操作系统升级文件包制作方法流程图。
图4是本发明提供的一种基于MTD存储设备的嵌入式linux操作系统升级流程设计流程图。
图5是本发明提供的一种基于MTD存储设备的嵌入式linux操作系统升级系统的结构示意图。
1-功能分区划分模块、2-升级文件包制作模块、3-系统升级模块。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
请参阅图1,本发明提供一种基于MTD存储设备的嵌入式linux操作系统升级方法,包括以下步骤:
S101、将操作系统关键功能划分为五组分区,以及进行对应的升级文件包制作,得到升级文件包集成包。
具体的,所述的嵌入式linux操作系统关键功能主分区及备份分区设计,主要包括五组分区,分别为uboot分区、kernel分区、rootfs分区、app分区和data分区,如图2所示,其中,所述uboot分区包括uboot引导程序主分区及备份分区设计、uboot引导程序的只读性设计,所述kernel分区包括kernel内核程序主分区及备份分区设计、kernel内核程序的只读性设计,所述rootfs分区包括rootfs根文件系统集成软件主分区及备份分区设计、rootfs根文件系统集成软件分区只读性设计,所述app分区具有app用户应用程序主分区及备份分区设计,所述data分区为data数据主分区及备份分区设计。
所述的嵌入式linux操作系统升级文件包制作方法,主要涉及目标升级文件的准备、目标升级文件校验码的运算及保存、加密压缩生成目标升级文件包的三个步骤,如图3所示,详细流程如下:
步骤1:创建uboot、kernel、rootfs、app、data主分区及备份分区升级信息存储文件夹。
步骤2:将uboot、kernel、rootfs、app、data主分区及备份分区目标升级文件,以及版本信息分别存储至各自相对应的目标升级文件,具体为:对于uboot、kernel分区,将新版本对应的启动程序及其版本信息文件拷贝到uboot、kernel文件夹;对于rootfs、app、data分区,将新版本对应的根文件系统UBIFS格式镜像及其版本信息文件拷贝到对应的rootfs、app、data文件夹。
步骤3:使用嵌入式linux指令md5sum生成各自目标升级文件校验码,并将该校验码保存至对应的目标文件夹中,具体为:对于uboot、kernel分区,使用md5sum指令生成新版本对应的启动程序MD5校验码,并保存到uboot、kernel文件夹;对于rootfs、app、data分区,使用md5sum指令生成新版本对应的根文件系统分区镜像MD5校验码,并保存到对应的rootfs、app、data文件夹。
步骤4:使用tar+openssl组合指令将目标文件夹进行加密压缩,加密压缩生成的文件包只有知道制作者设计的密码才能正常的解密解压缩,即可完成各个分区相对应的目标升级文件包制作。
步骤5:集成单个或多个所述升级文件包,生成升级文件包集成包,通过升级文件包监测及升级流程设计实现一次性完成单个或者多个分区功能升级的需求。
S102、利用软件设计对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对。
具体的,所述的嵌入式linux操作系统升级文件包的监测及升级流程设计,主要包括升级文件包的监测设计及升级流程的设计两个部分。如图4所示,升级软件包的监测设计,基于嵌入式linux操作系统集成的USB热拔插检测机制,通过软件设计,实时监测外部存储设备的接入,当检测到接入的外部存储设备中存在所述的升级文件集成包或升级文件包时,启动操作系统升级流程。
操作系统升级流程的设计:
步骤1:监测到各分区所述升级文件包集成包,使用tar+openssl解压指令进行对所述升级文件包集成包进行解密解压缩,提取压缩文件包内容。判断压缩文件是否提取成功,提取成功则继续后续升级流程,提取失败则退出本次升级流程。
步骤2:读取解压得到的升级文件包的版本信息,并与当前操作系统相关部分的设定版本信息进行比对。判断当前升级文件包是否为新版本,即判断所述版本信息与所述设定版本信息是否相同,如果所述版本信息与所述设定版本信息不相同,则判断所述版本信息是新版本,则继续后续升级流程,如果是相同版本则退出本次升级流程。
步骤3:调用md5sum指令(校验算法)运算当前所述升级文件MD5校验信息,并与升级文件包中存储的原始校验信息进行比对。判断校验信息是否一致,当校验信息比对结果一致时,继续后续升级流程,当校验信息比对结果不一致时,则认为该目标升级文件包已损坏,退出本次升级流程,有效防护升级文件在传输过程中发生异常变更或文件损坏时,对系统安全造成的损害。
S103、若所述校验信息比对一致,则对划分出的所述五组分区分别进行静态分区升级流程以及动态分区升级流程,并重启目标板,完成升级。
具体的,若所述校验信息比对一致,则对所述uboot分区和所述kernel分区进行静态分区升级流程,然后重启目标板,完成升级,包括:
一般地,在嵌入式linux操作系统进入运行态阶段后,uboot引导程序已完成引导启动的功能使命,kernel内核可执行代码已经由MTD存储设备读取到内存(RAM)区域,进入内核态运行,操作系统不再对MTD存储设备中uboot引导程序及kernel内核存储区域进行读写访问。故此,静态分区升级流程设计,在监测到某一分区及备份分区有效的目标升级文件后,直接使用flash_eraseall擦除指令擦除MTD存储设备中所述uboot分区和所述kernel分区对应的存储区域,然后使用flashcp拷贝指令将有效的目标升级文件拷贝至设定的MTD分区,完成MTD对应分区的擦写,重启目标板验证升级结果,即可完成相应分区的升级。
若所述校验信息比对一致,则对所述rootfs分区、所述app分区和所述data分区进行动态分区升级流程,然后重启目标板,完成升级,包括:
这些分区由于分区挂载、应用数据存储的因素,经常需要与内存(RAM)空间进行数据交换,需根据实际情况制定差异化的升级方案,不能直接擦除相应MTD存储区域并覆写。当监测到rootfs根文件系统、app应用程序分区、data数据分区相关目标升级文件时,需要首先根据获取的停止指令,停止操作系统有关进程对相应分区挂载路径的数据读写访问,再使用flash_eraseall擦除指令擦除对应分区:rootfs根文件系统分区升级,需要首先将可能使用到的系统指令(如shell控制台、flashcp、flash_eraseall等)拷贝到内存,卸载根文件系统,再通过相关指令擦写rootfs根文件系统分区存储区域;同理,app应用程序分区及data数据分区的升级,应首先停止有关进程对app应用程序分区挂载路径、data数据分区挂载路径的数据读写访问,卸载对应分区,再使用flash_eraseall、flashcp等MTD设备操作指令擦写对应分区存储区域。判断擦除操作结果,擦除操作成功则继续后续流程,擦除失败则重新擦除。
使用flashcp拷贝指令将目标升级文件及版本信息拷贝至相应的MTD存储分区,完成对应分区存储数据信息的更新,实现嵌入式linux操作系统对应分区功能升级目标。判断flashcp指令数据拷贝操作结果,操作成功则继续后续升级流程,操作失败则返回重新执行MTD存储设备分区擦写工作,重启目标板,验证升级结果。
请参阅图5,本发明提供一种基于MTD存储设备的嵌入式linux操作系统,所述的一种基于MTD存储设备的嵌入式linux操作系统升级方法应用于一种基于MTD存储设备的嵌入式linux操作系统,
所述基于MTD存储设备的嵌入式linux操作系统包括功能分区划分模块1、升级文件包制作模块2和系统升级模块3,所述功能分区划分模块1、所述升级文件包制作模块2和所述系统升级模块3依次连接;
所述功能分区划分模块1,用于将操作系统关键功能划分为五组分区,其中,所述五组分区包括uboot分区、kernel分区、rootfs分区、app分区和data分区;
所述升级文件包制作模块2,用于根据五组分区创建对应的升级文件,并利用组合指令,将包含校验信息的所述升级文件进行加密压缩、集成,得到对应的升级文件包集成包;
所述系统升级模块3,用于利用软件设计对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对,并当所述校验信息比对一致,则对划分出的所述五组分区分别进行静态分区升级流程以及动态分区升级流程,并重启目标板,完成升级。
在本实施方式中,关于一种基于MTD存储设备的嵌入式linux操作系统的具体限定可以参见上文中对于一种基于MTD存储设备的嵌入式linux操作系统升级方法的限定,在此不再赘述。上述一种基于MTD存储设备的嵌入式linux操作系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本发明的有益效果是:
提供一种基于MTD存储设备的嵌入式linux操作系统的升级方法及系统,并通过对升级过程的安全防护设计、以及对关键功能分区的只读性设计、备份分区设计实现操作系统的升级需求。在升级过程中,可以检测识别出校验失败的升级文件、伪装成升级文件的虚假文件,有效防护来自此类异常升级文件的攻击,保护系统安全。在系统关键功能分区部分,通过只读性设计、备份分区设计的方法,主/备分区版本同步,即使主分区在升级过程中发生不可预期的异常,操作系统仍然能够从备份分区加载新版本系统功能,极大地降低了由操作系统升级带来的系统稳定性风险,增强了嵌入式linux操作系统的稳定性及生命力。
本发明的一种基于MTD存储设备的嵌入式linux操作系统升级方法及系统,将操作系统关键功能划分为五组分区,并进行对应的升级文件包制作,得到升级文件包集成包,其中,所述五组分区包括uboot分区、kernel分区、rootfs分区、app分区和data分区;然后,利用软件设计对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对;当所述校验信息比对一致时,则对所述uboot分区和所述kernel分区进行静态分区升级流程,对所述rootfs分区、所述app分区和所述data分区进行动态分区升级流程,然后重启目标板,完成升级,检测识别出校验失败的升级文件、伪装成升级文件的虚假文件,有效防护来自此类异常升级文件的攻击,保护系统安全,每组分区中设计有主分区及其备份分区,主备分区版本同步,进一步提高操作系统升级过程的容错率,有效防护升级过程中发生意外停电等危险操作带来的系统安全风险,增强系统的稳定性。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (7)

1.一种基于MTD存储设备的嵌入式linux操作系统升级方法,其特征在于,包括以下步骤:
将操作系统关键功能划分为五组分区,以及进行对应的升级文件包制作,得到升级文件包集成包,其中,所述五组分区包括uboot分区、kernel分区、rootfs分区、app分区和data分区,每组分区均拥有主分区及备份分区;
利用软件设计对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对;
若所述校验信息比对一致,则对划分出的所述五组分区分别进行静态分区升级流程以及动态分区升级流程,并重启目标板,完成升级。
2.如权利要求1所述的一种基于MTD存储设备的嵌入式linux操作系统升级方法,其特征在于,利用软件设计对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对,包括:
通过软件设计对外部存储设备的接入进行检测,并当检测到所述外部存储设备具有所述升级文件包集成包时,启动操作系统升级流程;
利用解压指令对所述升级文件包集成包进行解密解压缩,并提取解压得到的压缩文件内容,以及判断所述压缩文件是否提取成功;
若所述压缩文件提取成功,则对解压得到的升级文件进行版本确认和校验信息比对。
3.如权利要求2所述的一种基于MTD存储设备的嵌入式linux操作系统升级方法,其特征在于,若所述压缩文件提取成功,则对解压得到的升级文件进行版本确认和校验信息比对,包括:
采集所述升级文件的版本信息,并与设定版本信息进行比较;
若所述版本信息与所述设定版本信息不相同,则利用校验算法运算当前所述升级文件的校验信息,并将所述校验信息与所述升级文件包中存储的原始校验信息进行比对。
4.如权利要求1所述的一种基于MTD存储设备的嵌入式linux操作系统升级方法,其特征在于,若所述校验信息比对一致,则对划分出的所述五组分区分别进行静态分区升级流程以及动态分区升级流程,并重启目标板,完成升级,包括:
若所述校验信息比对一致,则对所述uboot分区和所述kernel分区进行静态分区升级流程,然后重启目标板,完成升级;
若所述校验信息比对一致,则对所述rootfs分区、所述app分区和所述data分区进行动态分区升级流程,然后重启目标板,完成升级。
5.如权利要求4所述的一种基于MTD存储设备的嵌入式linux操作系统升级方法,其特征在于,若所述校验信息比对一致,则对所述uboot分区和所述kernel分区进行静态分区升级流程,然后重启目标板,完成升级,包括:
当所述uboot分区和所述kernel分区的所述校验信息比对一致时,利用擦除指令擦除MTD存储设备中所述uboot分区和所述kernel分区对应的存储区域;
利用拷贝指令将有效的所述升级文件拷贝至设定的MTD分区,然后重启所述目标板,完成升级。
6.如权利要求4所述的一种基于MTD存储设备的嵌入式linux操作系统升级方法,其特征在于,若所述校验信息比对一致,则对所述rootfs分区、所述app分区和所述data分区进行动态分区升级流程,然后重启目标板,完成升级,包括:
利用进程管理指令,停止对应进程对所述rootfs分区、所述app分区和所述data分区挂载路径的数据读写访问;
利用擦除指令擦除MTD存储设备中所述rootfs分区、所述app分区和所述data分区对应的存储区域;
利用拷贝指令将有效的所述升级文件拷贝至设定的MTD分区,然后重启所述目标板,完成升级。
7.一种基于MTD存储设备的嵌入式linux操作系统,如权利要求1至权利要求6任一项所述的一种基于MTD存储设备的嵌入式linux操作系统升级方法应用于一种基于MTD存储设备的嵌入式linux操作系统,其特征在于,
所述基于MTD存储设备的嵌入式linux操作系统包括功能分区划分模块、升级文件包制作模块和系统升级模块,所述功能分区划分模块、所述升级文件包制作模块和所述系统升级模块依次连接;
所述功能分区划分模块,用于将操作系统关键功能划分为五组分区,其中,所述五组分区包括uboot分区、kernel分区、rootfs分区、app分区和data分区,每组分区均拥有主分区及备份分区;
所述升级文件包制作模块,用于根据五组分区创建对应的升级文件,并利用组合指令,将包含校验信息的所述升级文件进行加密压缩、集成,得到对应的升级文件包集成包;
所述系统升级模块,用于利用软件设计对所述升级文件包集成包进行检测,并对所述升级文件包集成包进行内容提取、版本确认和校验信息比对,并当所述校验信息比对一致,则对划分出的所述五组分区分别进行静态分区升级流程以及动态分区升级流程,并重启目标板,完成升级。
CN202011635583.7A 2020-12-31 2020-12-31 基于MTD存储设备的嵌入式linux操作系统升级方法及系统 Active CN112783537B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011635583.7A CN112783537B (zh) 2020-12-31 2020-12-31 基于MTD存储设备的嵌入式linux操作系统升级方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011635583.7A CN112783537B (zh) 2020-12-31 2020-12-31 基于MTD存储设备的嵌入式linux操作系统升级方法及系统

Publications (2)

Publication Number Publication Date
CN112783537A true CN112783537A (zh) 2021-05-11
CN112783537B CN112783537B (zh) 2023-03-03

Family

ID=75753333

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011635583.7A Active CN112783537B (zh) 2020-12-31 2020-12-31 基于MTD存储设备的嵌入式linux操作系统升级方法及系统

Country Status (1)

Country Link
CN (1) CN112783537B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821235A (zh) * 2021-06-15 2021-12-21 荣耀终端有限公司 操作系统数据更新方法、设备、存储介质及程序产品
CN113868156A (zh) * 2021-12-01 2021-12-31 荣耀终端有限公司 系统升级掉电保护方法、电子设备及存储介质
CN114416133A (zh) * 2021-12-30 2022-04-29 武汉卓目科技有限公司 一种嵌入式文件数据更新方法及系统
CN114461257A (zh) * 2021-07-29 2022-05-10 荣耀终端有限公司 操作系统数据配置方法、设备、存储介质及程序产品
CN115480798A (zh) * 2021-06-15 2022-12-16 荣耀终端有限公司 操作系统升级方法、设备、存储介质及计算机程序产品
CN115686584A (zh) * 2021-07-30 2023-02-03 荣耀终端有限公司 一种操作系统升级方法、设备、存储介质及计算机程序产品
CN116361817A (zh) * 2023-06-02 2023-06-30 麒麟软件有限公司 一种Linux下ubi文件系统的保护方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750527A (zh) * 2015-03-27 2015-07-01 广州快飞计算机科技有限公司 一种嵌入式系统升级方法及系统
US20180088963A1 (en) * 2016-09-29 2018-03-29 Verizon Patent And Licensing Inc. Software upgrade and disaster recovery on a computing device
CN109460245A (zh) * 2018-10-31 2019-03-12 北京众谊越泰科技有限公司 一种嵌入式系统的远程升级方法
CN109960523A (zh) * 2017-12-22 2019-07-02 浙江宇视科技有限公司 一种嵌入式设备的固件升级方法及装置
CN110569059A (zh) * 2019-09-19 2019-12-13 天津英田视讯科技有限公司 一种基于USB的uboot下系统分区升级方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750527A (zh) * 2015-03-27 2015-07-01 广州快飞计算机科技有限公司 一种嵌入式系统升级方法及系统
US20180088963A1 (en) * 2016-09-29 2018-03-29 Verizon Patent And Licensing Inc. Software upgrade and disaster recovery on a computing device
CN109960523A (zh) * 2017-12-22 2019-07-02 浙江宇视科技有限公司 一种嵌入式设备的固件升级方法及装置
CN109460245A (zh) * 2018-10-31 2019-03-12 北京众谊越泰科技有限公司 一种嵌入式系统的远程升级方法
CN110569059A (zh) * 2019-09-19 2019-12-13 天津英田视讯科技有限公司 一种基于USB的uboot下系统分区升级方法

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113821235A (zh) * 2021-06-15 2021-12-21 荣耀终端有限公司 操作系统数据更新方法、设备、存储介质及程序产品
CN115480798A (zh) * 2021-06-15 2022-12-16 荣耀终端有限公司 操作系统升级方法、设备、存储介质及计算机程序产品
CN113821235B (zh) * 2021-06-15 2023-10-20 荣耀终端有限公司 操作系统数据更新方法、设备、存储介质及程序产品
CN114461257A (zh) * 2021-07-29 2022-05-10 荣耀终端有限公司 操作系统数据配置方法、设备、存储介质及程序产品
CN114461257B (zh) * 2021-07-29 2023-03-24 荣耀终端有限公司 操作系统数据配置方法、设备、存储介质及程序产品
CN115686584A (zh) * 2021-07-30 2023-02-03 荣耀终端有限公司 一种操作系统升级方法、设备、存储介质及计算机程序产品
CN115686584B (zh) * 2021-07-30 2023-11-17 荣耀终端有限公司 一种操作系统升级方法、设备、存储介质及计算机程序产品
CN113868156A (zh) * 2021-12-01 2021-12-31 荣耀终端有限公司 系统升级掉电保护方法、电子设备及存储介质
CN113868156B (zh) * 2021-12-01 2022-04-12 荣耀终端有限公司 系统升级掉电保护方法、电子设备及存储介质
CN114416133A (zh) * 2021-12-30 2022-04-29 武汉卓目科技有限公司 一种嵌入式文件数据更新方法及系统
CN116361817A (zh) * 2023-06-02 2023-06-30 麒麟软件有限公司 一种Linux下ubi文件系统的保护方法
CN116361817B (zh) * 2023-06-02 2023-08-22 麒麟软件有限公司 一种Linux下ubi文件系统的保护方法

Also Published As

Publication number Publication date
CN112783537B (zh) 2023-03-03

Similar Documents

Publication Publication Date Title
CN112783537B (zh) 基于MTD存储设备的嵌入式linux操作系统升级方法及系统
CN105205401B (zh) 基于安全密码芯片的可信计算机系统及其可信引导方法
US9720782B2 (en) Authenticating a backup image with bifurcated storage
US8972591B2 (en) Method for downloading software
CN104636171A (zh) 升级的方法、装置及移动终端
US9262631B2 (en) Embedded device and control method thereof
US7007195B2 (en) BIOS shadowed small-print hard disk drive as robust, always on, backup for hard disk image & software failure
CN101504704A (zh) 由星型信任链支持的嵌入式平台应用程序完整性验证方法
US11455115B2 (en) Storage device
WO2012031567A1 (zh) 文件系统的容错方法及其装置
CN105637521A (zh) 一种数据处理方法及智能终端
CN106033362A (zh) 一种闪存分区的处理方法和装置
CN114116305A (zh) 基于pfr的bios固件恢复方法、系统、终端及存储介质
US20210367781A1 (en) Method and system for accelerating verification procedure for image file
CN106933604B (zh) 一种系统升级方法及装置
CN117130672A (zh) 服务器启动流程控制方法、系统、终端及存储介质
CN115357908B (zh) 一种网络设备内核可信度量与自动修复方法
CN114444083B (zh) 一种基于bmc的服务器bios全生命周期安全保护系统
CN115827069A (zh) 服务器主板的启动控制方法、系统及装置
CN114356653A (zh) 一种工控防火墙掉电保护方法及装置
US20230129942A1 (en) Method for locking a rewritable non-volatile memory and electronic device implementing said method
CN116431189B (zh) 基于pcie链路的板卡升级方法、装置、设备及存储介质
CN112631626B (zh) 基于双系统的系统升级方法、装置及存储介质
CN116661811B (zh) 一种闭环式容器化可控服务集群搭建方法及服务集群装置
CN113805946B (zh) 用于安卓系统的非易失属性的处理方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant