CN107967193A - Boot启动方法和嵌入式设备 - Google Patents

Boot启动方法和嵌入式设备 Download PDF

Info

Publication number
CN107967193A
CN107967193A CN201711422382.7A CN201711422382A CN107967193A CN 107967193 A CN107967193 A CN 107967193A CN 201711422382 A CN201711422382 A CN 201711422382A CN 107967193 A CN107967193 A CN 107967193A
Authority
CN
China
Prior art keywords
boot
level
embedded device
verification
backup
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.)
Pending
Application number
CN201711422382.7A
Other languages
English (en)
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.)
STAR SOFTWARE TECHNOLOGY CO LTD
Original Assignee
STAR SOFTWARE 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 STAR SOFTWARE TECHNOLOGY CO LTD filed Critical STAR SOFTWARE TECHNOLOGY CO LTD
Priority to CN201711422382.7A priority Critical patent/CN107967193A/zh
Publication of CN107967193A publication Critical patent/CN107967193A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了Boot启动方法和嵌入式设备,用于安全的Boot启动。本申请实施例方法包括:嵌入式设备运行中央处理器固件BootROM,BootROM用于对存储区中的一级Boot进行引导和校验;嵌入式设备判断一级Boot的校验是否通过;若一级Boot校验通过,则嵌入式设备引导一级Boot启动,一级Boot用于对存储区中的二级Boot进行引导和校验;嵌入式设备对所有二级Boot进行校验,二级Boot包含第一Boot和第二Boot;若第一Boot的校验通过,且第二Boot的校验未通过,则嵌入式设备根据第一Boot对第二Boot进行备份恢复;嵌入式设备根据校验通过的二级Boot引导应用软件启动。

Description

Boot启动方法和嵌入式设备
技术领域
本申请涉及电子通信领域,特别涉及Boot启动方法和嵌入式设备。
背景技术
随着嵌入式设备的种类越来越多,人们对系统启动的安全性、可靠性要求越来越高。由于嵌入式设备经常由一种类型衍生成多个型号,会涉及到Boot的修改,需要进行Boot升级,如果升级过程中出现断电等情况会导致Boot被破坏,嵌入式设备将不能启动。
现有技术方案中,存储区Boot分成两级Boot,其中,一级Boot用于对二级Boot进行引导,二级Boot用于应用软件等的引导。嵌入式设备的启动过程主要由中央处理器固件中的BootROM引导存储区上的一级Boot并校验一级Boot,若一级Boot校验通过,则一级Boot引导存储区上的二级Boot并校验二级Boot,若二级Boot校验通过,则二级Boot启动并引导应用软件或升级软件等。
由于现有技术方案中,当发生升级过程中断电或其他意外情况,导致二级Boot被破坏时,系统将无法正常启动,系统安全性低。
发明内容
本申请实施例提供了一种Boot启动方法和嵌入式设备,用于安全的Boot启动。
本申请实施例提供了Boot启动方法,包括:首先,嵌入式设备运行中央处理器固件BootROM,该BootROM用于对存储区中的一级Boot进行引导和校验;该嵌入式设备判断该一级Boot的校验是否通过;若该一级Boot校验通过,则该嵌入式设备引导该一级Boot启动,该一级Boot用于对存储区中的二级Boot进行引导和校验;该嵌入式设备对所有该二级Boot进行校验,该二级Boot包含第一Boot和第二Boot;若该第一Boot的校验通过,且该第二Boot的校验未通过,则该嵌入式设备根据该第一Boot对该第二Boot进行备份恢复;该嵌入式设备根据校验通过的二级Boot引导应用软件启动。
可选地,该嵌入式设备根据该第一Boot对该第二Boot进行备份恢复包括:
该嵌入式设备根据该一级Boot中的备份恢复控制信息复制该第一Boot,得到第一Boot备份;
该嵌入式设备根据该第一Boot备份更新该第二Boot。
可选地,该二级Boot为密文形式。
可选地,该嵌入式设备根据该第一Boot对该第二Boot进行备份恢复包括:
该嵌入式设备根据加密的第一Boot对该第二Boot进行备份恢复。
可选地,在该嵌入式设备根据该第一Boot对该第二Boot进行备份恢复之后,该方法还包括:
该嵌入式设备重新启动。
可选地,该嵌入式设备判断该一级Boot校验是否通过之后,该方法还包括:
若该一级Boot校验未通过,或者,若所有该二级Boot校验未通过,则该嵌入式设备终止启动或重启;
若所有该二级Boot校验通过,则触发该嵌入式设备根据校验通过的Boot引导应用软件启动。
本申请实施例提供了嵌入式设备,包括:
运行单元,用于运行中央处理器固件BootROM,该BootROM用于对存储区中的一级Boot进行引导和校验;
判断单元,用于判断该一级Boot的校验是否通过;
第一启动单元,用于若该一级Boot校验通过,则该嵌入式设备引导该一级Boot启动,该一级Boot用于对存储区中的二级Boot进行引导和校验;
校验单元,用于对所有该二级Boot进行校验,该二级Boot包含第一Boot和第二Boot;
备份单元,用于若该第一Boot的校验通过,且该第二Boot的校验未通过,则该嵌入式设备根据该第一Boot对该第二Boot进行备份恢复;
第二启动单元,用于根据校验通过的二级Boot引导应用软件启动。
可选地,该备份单元具体用于:
根据该一级Boot中的备份恢复控制信息复制该第一Boot,得到第一Boot备份;
根据该第一Boot备份更新该第二Boot。
可选地,该备份单元具体用于:
根据加密的第一Boot对该第二Boot进行备份恢复。
可选地,该嵌入式设备还包括:
终止单元,用于若该一级Boot校验未通过;或者,若所有该二级Boot校验未通过,则终止启动或重新启动;
触发单元,若所有该二级Boot的校验通过,则触发该启动单元根据校验通过的Boot引导应用软件启动。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,嵌入式设备运行中央处理器固件BootROM,判断该一级Boot校验是否通过;若通过,则该嵌入式设备引导该一级Boot启动,然后,该嵌入式设备判断所有该二级Boot的校验是否通过;若该第一Boot的校验通过,且该第二Boot的校验未通过,则该嵌入式设备根据该第一Boot对该第二Boot进行备份恢复;该嵌入式设备根据校验通过的Boot引导应用软件启动。本方案将存储区二级Boot划分为两个Boot区,通过对二级Boot中的所有Boot进行校验,可以利用校验通过的Boot对校验未通过的Boot进行备份恢复。这样,当二级Boot中有部分Boot区被破坏时,可以通过备份恢复,因此二级Boot的安全性不会因部分Boot被破坏而降低。
附图说明
图1为本申请实施例中Boot启动方法一个实施例示意图;
图2为本申请实施例中Boot启动方法另一个实施例示意图;
图3为本申请实施例中嵌入式设备一个实施例示意图;
图4为本申请实施例中嵌入式设备另一个实施例示意图。
具体实施方式
本申请实施例提供了Boot启动方法和嵌入式设备,用于安全地启动Boot。
随着技术更新和新业务的不断增加,常需要对嵌入式设备进行升级,嵌入式设备经常由一种类型衍生成多个型号,升级也会涉及到Boot的修改,如果升级过程中出现断电等情况会导致Boot被破坏,嵌入式设备将不能启动。安全的Boot启动尤为重要。
嵌入式设备主要由嵌入式处理器、相关支撑硬件和嵌入式软件系统组成,是集软硬件于一体的可独立工作的设备,本申请实施例中介绍的嵌入式设备,包括但不限于机顶盒、电视、手机、PAD等。
本申请实施例中介绍的Boot启动方法和嵌入式设备适用于不同的平台/操作系统,包括但不限于Android、Linux等。
本申请实施例所提到的校验可以是签名校验,也可以是校验值校验,校验算法可以RSA、ECC等非对称加密算法,或哈希算法等,具体校验方式和校验算法此处不做限定。
请参阅图1,本申请实施例中Boot启动方法的一个实施例示意图。
101、嵌入式设备运行中央处理器固件BootROM;
BootROM是集成在芯片中固化的一段代码,是芯片的关键启动代码,可用于创建最基本的软硬件环境,还用于解密、校验一级Boot并引导其启动。首先,嵌入式设备运行BootROM。
102、嵌入式设备判断一级Boot的校验是否通过;
嵌入式设备运行BootROM后,BootROM将一级Boot加载到内存中,由BootROM引导对一级Boot的校验,然后嵌入式设备将判断一级Boot的校验是否通过。
103、若一级Boot的校验通过,则嵌入式设备引导一级Boot启动;
若一级Boot的校验通过,则嵌入式设备引导一级Boot启动,一级Boot将二级Boot加载到内存中,该一级Boot用于对二级Boot进行引导和校验。
104、嵌入式设备对所有该二级Boot进行校验,二级Boot包含第一Boot和第二Boot;
二级Boot包含至少两个Boot区:第一Boot和第二Boot,二级Boot可以分为2个Boot区,也可以分为3个Boot区,具体Boot区的数量此处不做限定。嵌入式设备对所有该二级Boot进行校验,即分别对二级Boot的各个Boot区进行校验并记录校验结果。
105、若第一Boot的校验通过,且第二Boot的校验未通过,则嵌入式设备根据第一Boot对第二Boot进行备份恢复;
若第一Boot的校验通过,且第二Boot的校验未通过,则嵌入式设备可以根据第一Boot中的相关控制信息,对第二Boot进行备份恢复。
106、嵌入式设备根据校验通过的二级Boot引导应用软件启动;
校验通过的二级Boot可以是步骤105中通过校验的第一Boot,也可以是通过备份恢复的第二Boot,具体此处不做限定,由二级Boot引导应用软件启动,具体可以是,初始化软硬件设备,然后将应用软件加载到内存中并校验,若校验通过则启动应用软件,还可以是判断是否存在软件升级标记,若存在则由二级Boot将升级软件加载到内存中并校验,若校验通过,则执行升级软件对相应的软件模块进行升级。
107、若一级Boot的校验未通过,则执行其他操作;
若一级Boot的校验未通过,则嵌入式设备执行其他操作,可以是终止软件执行或者终止软件执行后重启设备,具体此处不做限定。
本实施例存储区二级Boot划分为至少两个Boot区,通过对二级Boot中的所有Boot进行校验,可以利用校验通过的Boot对校验未通过的Boot进行备份恢复。这样,当二级Boot中有部分Boot区被破坏时,可以通过备份恢复,因此二级Boot的安全性不会因部分Boot被破坏而降低。
请参阅图2,本申请实施例中Boot启动方法的另一个实施例示意图。
本申请实施例所提到的校验可以是签名校验,也可以是校验值校验,校验算法可以RSA、ECC等非对称加密算法,或哈希算法等,具体校验方式和校验算法此处不做限定。以下实施例中,以签名校验为例进行介绍。
201、嵌入式设备运行中央处理器固件BootROM;
BootROM是集成在芯片中固化的一段代码,是芯片的关键启动代码,可用于创建最基本的软硬件环境,还用于解密、校验一级Boot签名并引导其启动。首先,嵌入式设备运行BootROM,BootROM将一级Boot加载到内存中。
需要说明的是,若该一级Boot为密文形式,则执行步骤202至步骤212;若该一级Boot为明文形式,则执行步骤203至步骤212。
202、嵌入式设备对加密的一级Boot进行解密;
嵌入式设备运行BootROM后,BootROM将一级Boot加载到内存中,对加密的一级Boot进行解密。
203、嵌入式设备判断一级Boot的签名校验是否通过;
嵌入式设备判断一级Boot的签名校验是否通过。
需要说明的是,步骤202和步骤203的执行顺序,可以是先执行步骤202,再执行步骤203,也可以是先执行步骤203再执行步骤,202,具体执行顺序此处不做限定。
204、若是,则嵌入式设备引导一级Boot启动;
若一级Boot的签名校通过,则嵌入式设备引导一级Boot启动,一级Boot将二级Boot加载到内存中,该一级Boot用于对二级Boot进行引导和签名校验。
需要说明的是,若该二级Boot为密文形式,则执行步骤205至步骤212;若该二级Boot为明文形式,则执行步骤206至步骤212。
205、嵌入式设备对加密的二级Boot进行解密;
一级Boot将二级Boot加载到内存中之后,若该二级Boot为密文形式,则一级Boot引导嵌入式设备对二级Boot进行解密。
206、嵌入式设备对所有二级Boot进行签名校验,二级Boot包含第一Boot和第二Boot;
二级Boot包含至少两个Boot区,具体Boot区的数量此处不做限定,本实施例中以二级Boot包含三个Boot区:第一Boot、第二Boot、第三Boot为例进行介绍。嵌入式设备对所有该二级Boot进行签名校验,即分别对第一Boot、第二Boot、第三Boot进行签名校验并记录校验结果。
需要说明的是,步骤205和步骤206的执行顺序可以是先执行步骤205,再执行步骤206,也可以是先执行步骤206再执行步骤205,具体执行顺序此处不做限定。
207、嵌入式设备判断是否所有二级Boot的都通过签名校验或都未通过签名校验;
嵌入式设备根据校验结果判断是否所有二级Boot的都通过签名校验或都未通过签名校验。
208、若第一Boot的签名校验通过,且第二Boot的签名校验未通过,嵌入式设备根据该一级Boot中的备份恢复控制信息复制该第一Boot,得到第一Boot备份;
若并非所有二级Boot的都通过签名校验或都未通过签名校验,则嵌入式设备执行备份恢复机制。若第一Boot的签名校验通过,且第二Boot的签名校验未通过。例如:第一Boot签名校验通过,第二Boot和第三Boot的签名校验未通过,则嵌入式设备根据一级Boot中的备份恢复控制信息复制该通过签名校验的第一Boot,得到第一Boot备份。需要说明的是通过签名校验的第一Boot可以是密文也可以是明文,具体此处不做限定。
209、嵌入式设备根据该第一Boot备份更新该第二Boot;
嵌入式设备执行备份恢复机制,根据该第一Boot备份更新该第二Boot。可以理解的是,签名校验通过的第二Boot备份可以用于对所有未通过签名校验的二级Boot进行数据恢复。例如,若第三Boot签名校验未通过,也可以通过该第一Boot备份更新该第三Boot。
210、嵌入式设备重新启动;
嵌入式设备对未通过签名校验的第二Boot进行更新后可以重新启动,即在本步骤之后重新执行步骤201至步骤212。
需要说明的是,步骤210可以执行,也可以不执行,具体此处不做限定,步骤208至步骤210可以在步骤211之前执行,也可以在步骤211之后执行。
211、嵌入式设备根据签名校验通过的二级Boot引导应用软件启动;
嵌入式设备根据签名校验通过的二级Boot引导应用软件启动,具体可以包括:初始化软硬件设备,然后将应用软件加载到内存中并校验签名,还可以是判断是否存在软件升级标记,若存在则由二级Boot将升级软件加载到内存中并校验签名,若校验通过,则执行升级软件对相应的软件模块进行升级。
本实施例中,应用软件或升级软件可以是经过加密的,也可以是未加密的,具体此处不做限定。若应用软件或升级软件可以是经过加密的,则二级Boot可以在将应用软件或升级软件加载到内存中之后对其进行解密。应用软件或升级软件可以是具有数字签名的,也可以是未经数字签名的,具体此处不做限定。若应用软件或升级软件可以是具有数字签名的,则二级Boot可以在将应用软件或升级软件解密后进行签名校验。
需要说明的是,若在本步骤之后执行步骤208至步骤210,则嵌入式设备可以根据通过签名校验的二级Boot,例如第一Boot引导应用软件启动。若在本步骤之前执行步骤208至步骤210,则嵌入式设备可以重启后再次对二级Boot进行签名校验,根据任一通过签名校验的二级Boot引导应用软件启动,可以是第一Boot,也可以是执行备份恢复,经过更新且通过数据签名校验的第二Boot,具体此处不做限定。
212、若一级Boot的签名校验未通过、所有二级Boot的签名校验都通过或所有的二级Boot的签名校验都未通过,则执行其他操作;
若一级Boot的签名校验未通过,则执行其他操作,可以是终止软件执行或者终止软件执行后重启设备,具体此处不做限定。
若所有二级Boot的签名校验都通过,则执行其他操作,可以是触发执行步骤211,具体此处不做限定。
若所有的二级Boot的签名校验都未通过,则执行其他操作,可以是终止软件执行或者终止软件执行后重启设备,具体此处不做限定。
本实施例将存储区二级Boot划分为至少两个Boot区,通过对二级Boot中的所有Boot进行签名校验,可以根据备份恢复机制对校验通过的二级Boot进行备份,进而对校验未通过的Boot进行数据恢复。这样,当二级Boot中有部分Boot区被破坏时,可以通过备份恢复,嵌入式设备再次启动时,由于二级Boot的各区数据已被恢复,因此,二级Boot的安全性不会因部分Boot被破坏而降低。当各级Boot和应用软件为加密镜像时,嵌入式设备启动时会校验相关软件的签名并对加密镜像进行解密,嵌入式设备还将对各级Boot和应用软件进行校验,如果校验成功,嵌入式设备才能够继续执行软件,增加了系统的安全性。二级Boot区的备份恢复步骤可以该二级Boot校验未通过之后立即执行,还可以在启动应用软件之后,重启设备之前进行,因此,提升了方案实现的灵活性。
上述实施例对Boot启动方法进行了介绍,下面将介绍嵌入式设备。
请参阅图3,本申请实施例中嵌入式设备一个实施例示意图。
运行单元301,BootROM是是集成在芯片中固化的一段代码,是芯片的关键启动代码,可用于创建最基本的软硬件环境,还用于解密、校验一级Boot签名并引导其启动。首先,运行单元301运行BootROM。
判断单元302,BootROM将一级Boot加载到内存中,由BootROM引导对一级Boot的签名校验,然后判断单元302判断一级Boot的签名校验是否通过。
第一启动单元303,用于若该一级Boot签名校验通过,则启动单元303引导该一级Boot启动,该一级Boot用于对存储区中的二级Boot进行引导和签名校验;
校验单元304,二级Boot包含至少两个Boot区:第一Boot和第二Boot,二级Boot可以分为2个Boot区,也可以分为3个Boot区,具体Boot区的数量此处不做限定。校验单元304对所有该二级Boot进行签名校验,即分别对二级Boot的各个Boot区进行签名校验并记录校验结果。需要说明的是,若二级Boot签名为密文,则在签名校验前将对二级Boot的签名进行解密。
备份单元305,用于若该第一Boot的签名校验通过,且该第二Boot的签名校验未通过,则备份单元305根据该第一Boot中的相关控制信息对该第二Boot进行备份恢复;
第二启动单元306,用于根据签名校验通过的二级Boot引导应用软件启动。具体可以是,初始化软硬件设备,然后将应用软件加载到内存中并校验签名,还可以是判断是否存在软件升级标记,若存在则由二级Boot将升级软件加载到内存中并校验签名,若校验通过,则执行升级软件对相应的软件模块进行升级。
该备份单元305具体用于:若第一Boot的签名校验通过,且第二Boot的签名校验未通过,即并非所有二级Boot的都通过签名校验或都未通过签名校验,则备份单元305根据一级Boot中的备份恢复控制信息复制该通过签名校验的第一Boot,得到第一Boot备份,再根据该第一Boot备份更新该第二Boot。需要说明的是,若该第一Boot可以是密文,也可以是明文,具体此处不做限定。
该嵌入式设备还包括:
第二启动单元306,嵌入式设备对未通过签名校验的第二Boot进行更新后,第二启动单元306可以重新启动嵌入式设备。
该嵌入式设备还包括:
终止单元307,用于若该一级Boot签名校验未通过;或者,若所有二级Boot签名校验均未通过,则终止启动;
触发单元308,若该第一Boot签名校验通过,且该第二Boot签名校验通过,则触发第二启动单元306根据签名校验通过的Boot引导应用软件启动。
本实施例存储区二级Boot划分为至少两个Boot区,通过校验单元304对二级Boot中的所有Boot进行签名校验,备份单元305可以利用校验通过的Boot对校验未通过的Boot进行备份恢复。这样,当二级Boot中有部分Boot区被破坏时,可以通过备份恢复,因此二级Boot的安全性不会因部分Boot被破坏而降低,嵌入式设备可以安全地启动。
请参阅图4,为本申请实施例中嵌入式设备的另一个实施例示意图:
该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)401(例如,一个或一个以上处理器)和存储器405,该存储器405中存储有一个或一个以上的应用程序或数据。
其中,存储器405可以是易失性存储或持久存储。存储在存储器405的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器401可以设置为与存储器405通信,在服务器400上执行存储器405中的一系列指令操作。
服务器400还可以包括一个或一个以上电源402,一个或一个以上有线或无线网络接口403,一个或一个以上输入输出接口404,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
本实施例中服务器400中的中央处理器401所执行的流程与前述图1至图2所示的实施例中描述的方法流程类似,此处不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上该,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种Boot启动方法,其特征在于,包括:
嵌入式设备运行中央处理器固件BootROM,所述BootROM用于对存储区中的一级Boot进行引导和校验;
所述嵌入式设备判断所述一级Boot的校验是否通过;
若所述一级Boot校验通过,则所述嵌入式设备引导所述一级Boot启动,所述一级Boot用于对存储区中的二级Boot进行引导和校验;
所述嵌入式设备对所有所述二级Boot进行校验,所述二级Boot包含第一Boot和第二Boot;
若所述第一Boot的校验通过,且所述第二Boot的校验未通过,则所述嵌入式设备根据所述第一Boot对所述第二Boot进行备份恢复;
所述嵌入式设备根据校验通过的二级Boot引导应用软件启动。
2.根据权利要求1所述的方法,其特征在于,所述嵌入式设备根据所述第一Boot对所述第二Boot进行备份恢复包括:
所述嵌入式设备根据所述一级Boot中的备份恢复控制信息复制所述第一Boot,得到第一Boot备份;
所述嵌入式设备根据所述第一Boot备份更新所述第二Boot。
3.根据权利要求1或2中任一项所述的方法,其特征在于,所述二级Boot为密文形式。
4.根据权利要求3所述的方法,其特征在于,所述嵌入式设备根据所述第一Boot对所述第二Boot进行备份恢复包括:
所述嵌入式设备根据加密的第一Boot对所述第二Boot进行备份恢复。
5.根据权利要求1所述的方法,其特征在于,在所述嵌入式设备根据所述第一Boot对所述第二Boot进行备份恢复之后,所述方法还包括:
所述嵌入式设备重新启动。
6.根据权利要求1所述的方法,其特征在于,所述嵌入式设备判断所述一级Boot校验是否通过之后,所述方法还包括:
若所述一级Boot校验未通过,或者,若所有所述二级Boot校验未通过,则所述嵌入式设备终止启动或重启;
若所有所述二级Boot校验通过,则触发所述嵌入式设备根据校验通过的Boot引导应用软件启动。
7.一种嵌入式设备,其特征在于,包括:
运行单元,用于运行中央处理器固件BootROM,所述BootROM用于对存储区中的一级Boot进行引导和校验;
判断单元,用于判断所述一级Boot的校验是否通过;
第一启动单元,用于若所述一级Boot校验通过,则所述嵌入式设备引导所述一级Boot启动,所述一级Boot用于对存储区中的二级Boot进行引导和校验;
校验单元,用于对所有所述二级Boot进行校验,所述二级Boot包含第一Boot和第二Boot;
备份单元,用于若所述第一Boot的校验通过,且所述第二Boot的校验未通过,则所述嵌入式设备根据所述第一Boot对所述第二Boot进行备份恢复;
第二启动单元,用于根据校验通过的二级Boot引导应用软件启动。
8.根据权利要求7所述的嵌入式设备,其特征在于,所述备份单元具体用于:
根据所述一级Boot中的备份恢复控制信息复制所述第一Boot,得到第一Boot备份;
根据所述第一Boot备份更新所述第二Boot。
9.根据权利要求7或8中任一项所述的嵌入式设备,其特征在于,所述备份单元具体用于:
根据加密的第一Boot对所述第二Boot进行备份恢复。
10.根据权利要求7所述的嵌入式设备,其特征在于,所述嵌入式设备还包括:
终止单元,用于若所述一级Boot校验未通过;或者,若所有所述二级Boot校验未通过,则终止启动或重新启动;
触发单元,若所有所述二级Boot的校验通过,则触发所述启动单元根据校验通过的Boot引导应用软件启动。
CN201711422382.7A 2017-12-25 2017-12-25 Boot启动方法和嵌入式设备 Pending CN107967193A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711422382.7A CN107967193A (zh) 2017-12-25 2017-12-25 Boot启动方法和嵌入式设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711422382.7A CN107967193A (zh) 2017-12-25 2017-12-25 Boot启动方法和嵌入式设备

Publications (1)

Publication Number Publication Date
CN107967193A true CN107967193A (zh) 2018-04-27

Family

ID=61994790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711422382.7A Pending CN107967193A (zh) 2017-12-25 2017-12-25 Boot启动方法和嵌入式设备

Country Status (1)

Country Link
CN (1) CN107967193A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491716A (zh) * 2018-10-19 2019-03-19 北京行易道科技有限公司 启动方法及装置、程序存储方法及装置
CN109542480A (zh) * 2018-11-16 2019-03-29 深圳市邻友通科技发展有限公司 美甲打印装置的操作系统升级方法、装置和介质
CN111045739A (zh) * 2019-12-03 2020-04-21 福州瑞芯微电子股份有限公司 基于启动程序的固件引导方法、介质及设备
CN115017517A (zh) * 2022-06-07 2022-09-06 Oppo广东移动通信有限公司 芯片及校验方法
CN116775145A (zh) * 2023-05-04 2023-09-19 合芯科技(苏州)有限公司 一种服务器的启动恢复方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490722B1 (en) * 1999-03-30 2002-12-03 Tivo Inc. Software installation and recovery system
US20080086629A1 (en) * 2006-10-06 2008-04-10 Andrew Dellow Method and system for enhanced boot protection
CN101281469A (zh) * 2008-04-11 2008-10-08 青岛海信电器股份有限公司 嵌入式系统及其启动加载的方法
CN101751273A (zh) * 2008-12-15 2010-06-23 中国科学院声学研究所 用于嵌入式系统的安全引导装置及方法
CN101794248A (zh) * 2010-04-02 2010-08-04 福州思迈特数码科技有限公司 构建多重引导存储结构与备份的方法
CN102289397A (zh) * 2011-09-13 2011-12-21 全星科技(珠海)有限公司 一种机顶盒的嵌入式系统自动恢复方法及装置
US20140136826A1 (en) * 2012-11-13 2014-05-15 Electronics & Telecommunications Research Institute Method and apparatus for updating boot loader

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6490722B1 (en) * 1999-03-30 2002-12-03 Tivo Inc. Software installation and recovery system
US20080086629A1 (en) * 2006-10-06 2008-04-10 Andrew Dellow Method and system for enhanced boot protection
CN101281469A (zh) * 2008-04-11 2008-10-08 青岛海信电器股份有限公司 嵌入式系统及其启动加载的方法
CN101751273A (zh) * 2008-12-15 2010-06-23 中国科学院声学研究所 用于嵌入式系统的安全引导装置及方法
CN101794248A (zh) * 2010-04-02 2010-08-04 福州思迈特数码科技有限公司 构建多重引导存储结构与备份的方法
CN102289397A (zh) * 2011-09-13 2011-12-21 全星科技(珠海)有限公司 一种机顶盒的嵌入式系统自动恢复方法及装置
US20140136826A1 (en) * 2012-11-13 2014-05-15 Electronics & Telecommunications Research Institute Method and apparatus for updating boot loader

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
周立功: "《嵌入式Linux开发教程 下》", 31 October 2016, 北京航空航天大学出版社 *
邵子扬: "《AVR单片机应用专题精讲》", 31 March 2013, 北京航空航天大学出版社 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491716A (zh) * 2018-10-19 2019-03-19 北京行易道科技有限公司 启动方法及装置、程序存储方法及装置
CN109491716B (zh) * 2018-10-19 2021-11-16 北京行易道科技有限公司 启动方法及装置、程序存储方法及装置
CN109542480A (zh) * 2018-11-16 2019-03-29 深圳市邻友通科技发展有限公司 美甲打印装置的操作系统升级方法、装置和介质
CN111045739A (zh) * 2019-12-03 2020-04-21 福州瑞芯微电子股份有限公司 基于启动程序的固件引导方法、介质及设备
CN111045739B (zh) * 2019-12-03 2022-06-07 福州瑞芯微电子股份有限公司 基于启动程序的固件引导方法、介质及设备
CN115017517A (zh) * 2022-06-07 2022-09-06 Oppo广东移动通信有限公司 芯片及校验方法
CN116775145A (zh) * 2023-05-04 2023-09-19 合芯科技(苏州)有限公司 一种服务器的启动恢复方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN107967193A (zh) Boot启动方法和嵌入式设备
US9720782B2 (en) Authenticating a backup image with bifurcated storage
US9703635B2 (en) Method, computer program, and computer for restoring set of variables
KR101856284B1 (ko) 장치의 초기화 동안 펌웨어의 백업
AU2010353673B2 (en) Managing method, device and terminal for application program
CN102262574B (zh) 操作系统启动保护方法和装置
US9582262B2 (en) Systems and methods for installing upgraded software on electronic devices
CN104956374A (zh) 用于软件防回滚恢复的方法
CN105117246A (zh) 电子设备快速启动的方法
CN107783776B (zh) 固件升级包的处理方法及装置、电子设备
CN104951701B (zh) 一种基于usb控制器的终端设备操作系统引导的方法
CN104572168A (zh) 一种bios自更新保护系统及方法
CN104866768B (zh) 自动柜员机操作系统启动控制方法及装置
US20130227262A1 (en) Authentication device and authentication method
CN107111717A (zh) 升级虚拟机上的安全引导策略
EP3851989B1 (en) Electronic device for updating firmware based on user authentication and an operating method thereof
CN112099855B (zh) 一种信息处理方法、电子设备和计算机存储介质
CN104572354A (zh) 基于恢复服务的操作系统备份和恢复的方法及其设备
CN105677409B (zh) 一种系统升级方法及装置
US20120191965A1 (en) Boot systems and methods, and related devices
CN102880478B (zh) 软件更新方法
CN115543694A (zh) Flash器件切换方法、装置、计算机设备和存储介质
CN111338889A (zh) 支持多种操作系统的取证方法、装置、设备及存储介质
CN109271181A (zh) 应用兼容性修复方法、终端设备及计算机可读存储介质
CN102831031A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180427

RJ01 Rejection of invention patent application after publication