CN102981872A - 终端设备开机、升级方法和终端设备 - Google Patents
终端设备开机、升级方法和终端设备 Download PDFInfo
- Publication number
- CN102981872A CN102981872A CN2012104524685A CN201210452468A CN102981872A CN 102981872 A CN102981872 A CN 102981872A CN 2012104524685 A CN2012104524685 A CN 2012104524685A CN 201210452468 A CN201210452468 A CN 201210452468A CN 102981872 A CN102981872 A CN 102981872A
- Authority
- CN
- China
- Prior art keywords
- subregion
- system bootstrap
- bootstrap routine
- boot
- boot subregion
- 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
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种终端设备开机、升级方法和终端设备,涉及电子终端设备领域,用于提高终端设备开机的成功率。本发明中,终端设备中存储两套系统引导程序,在一套系统引导程序损坏时可以使用另一套系统引导程序进行开机,在进行程序升级时,若对其中一套系统引导程序的升级失败,则不再对另一套系统引导程序进行升级,从而保证终端设备中始终存有至少一套完整的系统引导程序,进而提高终端设备的开机成功率。
Description
技术领域
本发明涉及无线通信领域,尤其涉及一种终端设备开机、升级方法和终端设备。
背景技术
随着安卓(Android)系统的迅速发展和其市场份额的不断增大,其客户群也在迅猛增长。随之而来的就是系统在使用中问题的不断暴露。其中困扰各个厂家最大的问题就是系统的升级失败而导致产品返厂的问题。
Android的开放性造就了用户在使用上的最大灵活性。包括自主刷机,自主安装未授权的第三方软件等。其中,出现最严重的就是将系统的系统引导程序(bootloader)刷坏。直接导致产品无法升级,无法开机。唯一途径就是返厂,这样会对企业造成重大的损失。
目前防止bootloader被刷坏的技术主要包括禁止升级bootloader或者对bootloader升级进行严格的安全限制。这样做的有一个很大的缺陷:当整个系统确实需要升级bootloader时,若不能及时升级bootloader,会对系统带来很大的风险,并且灵活性很差。
发明内容
本发明实施例提供一种终端设备开机、升级方法和终端设备,用于提高终端设备开机的成功率。
一种终端设备开机方法,该终端设备的存储单元包含第一引导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分区中各存储有一份相同的系统引导程序,该终端设备还包括:
主处理器,用于在下载到系统引导程序的升级包后,根据该升级包对第一BOOT分区中的系统引导程序进行升级,若升级成功,则根据该升级包对第二BOOT分区中的系统引导程序进行升级,否则,
停止升级并关机。
本发明实施例提供的一种方案中,终端设备的存储单元包含第一引导(BOOT)分区和第二BOOT分区,第一BOOT分区和第二BOOT分区中各存储有一份相同的系统引导程序,并在第三分区中存储有第一BOOT分区中的系统引导程序的哈希值和第二BOOT分区中的系统引导程序的哈希值,在开机时,根据其中一个哈希值验证对应的系统引导程序的完整性,若验证成功,则根据该系统引导程序执行开机流程,否则,根据另外一个哈希值验证另一个系统引导程序的完整性,在验证成功后根据该系统引导程序执行开机流程。可见,本方案中存储两套系统引导程序,在一套系统引导程序损坏时还可以使用另一套系统引导程序进行开机,从而提高了终端设备的开机成功率。
本发明实施例提供的另一种方案中,在下载到系统引导程序的升级包后,根据该升级包对第一BOOT分区中的系统引导程序进行升级,若升级成功,则根据该升级包对第二BOOT分区中的系统引导程序进行升级,否则,停止升级并关机;可见,本方案中,若对存储的两套系统引导程序中的一套系统引导程序的升级失败,则不再对另一套系统引导程序进行升级,从而能够保证终端设备中始终存储有至少一套完整的系统引导程序,进而能够使用该完整的系统引导程序进行开机,提高了终端设备的开机成功率。
附图说明
图1为本发明实施例提供的方法流程示意图;
图2为本发明实施例提供的另一方法流程示意图;
图3a为本发明实施例一的流程示意图;
图3b为本发明实施例二的流程示意图;
图4为本发明实施例提供的终端设备结构示意图。
具体实施方式
为了提高终端设备的开机成功率,本发明实施例提供一种终端设备开机方法,终端设备的存储单元包含第一引导(BOOT)分区和第二BOOT分区,第一BOOT分区和第二BOOT分区中各存储有一份相同的系统引导程序,并在第三分区中存储有第一BOOT分区中的系统引导程序的哈希值和第二BOOT分区中的系统引导程序的哈希值,在开机时,根据其中一个哈希值验证对应的系统引导程序的完整性,若验证成功,则根据该系统引导程序执行开机流程,否则,根据另外一个哈希值验证另一个系统引导程序的完整性,在验证成功后根据该系统引导程序执行开机流程。系统引导程序的哈希值,是采用哈希算法计算得到的该系统引导程序哈希值。
参见图1,本发明实施例提供的终端设备开机方法,包括以下步骤:
步骤10:在接收到开机指令后,从第三分区中读取第一BOOT分区中的系统引导程序的哈希值;根据读取到的哈希值对第一BOOT分区中的系统引导程序进行完整性验证;若验证成功,则到步骤11,否则,到步骤12;
这里,对第一BOOT分区中的系统引导程序进行完整性验证的方法为:根据哈希算法计算第一BOOT分区中的系统引导程序的哈希值,将计算得到的哈希值与从第三分区中读取到的第一BOOT分区中的系统引导程序的哈希值进行比较,若两者一致,则确定验证成功,否则,验证失败。
步骤11:若验证成功,则根据第一BOOT分区中的系统引导程序执行开机流程;
步骤12:从第三分区中读取第二BOOT分区中的系统引导程序的哈希值;根据读取到的哈希值对第二BOOT分区中的系统引导程序进行完整性验证,在验证成功后,根据第二BOOT分区中的系统引导程序执行开机流程。
这里,对第二BOOT分区中的系统引导程序进行完整性验证的方法为:根据哈希算法计算第二BOOT分区中的系统引导程序的哈希值,将计算得到的哈希值与从第三分区中读取到的第二BOOT分区中的系统引导程序的哈希值进行比较,若两者一致,则确定验证成功,否则,验证失败。
较佳的,在根据第二BOOT分区中的系统引导程序执行开机流程之后,可以将第一BOOT分区进行格式化,并将第二BOOT分区中的系统引导程序拷贝到第一BOOT分区中,从而实现了对第一BOOT分区的自修复。
较佳的,在下载到系统引导程序的升级包后,根据该升级包对第一BOOT分区中的系统引导程序进行升级,若升级成功,则根据该升级包对第二BOOT分区中的系统引导程序进行升级,否则,停止升级并关机,从而能够保证终端设备中始终存储有至少一套完整的系统引导程序,进而能够使用该完整的系统引导程序进行开机,提高了终端设备的开机成功率。
较佳的,存储单元中还存储有有效系统引导程序的特征信息;在下载到系统引导程序的升级包后、且根据该升级包对第一BOOT分区中的系统引导程序进行升级之前,根据该特征信息验证下载到的升级包的有效性;并在验证下载到的升级包为有效的系统引导程序时,根据该升级包对第一BOOT分区中的系统引导程序进行升级;若验证下载到的升级包为无效的系统引导程序,则停止升级流程,从而提高了系统引导程序升级时的容错能力。这里,在验证下载到的升级包的有效性时,具体可以是判断下载到的升级包中是否包含该特征信息,若是,则确定升级包为有效的系统引导程序,否则,确定升级包为无效的系统引导程序。
较佳的,在根据该升级包对第一BOOT分区中的系统引导程序进行升级成功后,计算升级后的第一BOOT分区中的系统引导程序的新的哈希值,并使用该新的哈希值更新(即替换)第三分区中存储的第一BOOT分区中的系统引导程序的哈希值,从而使得下次开机时能够对第一BOOT分区进行正确的完整性验证,为下次的开机流程做好准备。
在根据该升级包对第二BOOT分区中的系统引导程序进行升级成功后,进一步包括:计算升级后的第二BOOT分区中的系统引导程序的新的哈希值,并使用该新的哈希值更新(即替换)第三分区中存储的第二BOOT分区中的系统引导程序的哈希值,从而使得下次开机时能够对第二BOOT分区进行正确的完整性验证,为下次的开机流程做好准备。
本方法的执行主体具体可以是终端设备的主CPU即AP,本方法可以应用在Nvidia等平台上。
参见图2,本发明实施例提供一种终端设备升级方法,该终端设备的存储单元包含第一引导BOOT分区和第二BOOT分区,第一BOOT分区和第二BOOT分区中各存储有一份相同的系统引导程序,包括以下步骤:
步骤20:在下载到系统引导程序的升级包后,根据该升级包对第一BOOT分区中的系统引导程序进行升级,若升级成功,则到步骤21,否则,到步骤22;
步骤21:根据该升级包对第二BOOT分区中的系统引导程序进行升级;
步骤22:停止升级并关机。
较佳的,终端设备的存储单元中还存储有有效系统引导程序的特征信息;
在下载到系统引导程序的升级包后、且根据该升级包对第一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分区的自修复。
下面结合具体实施例对本申请进行具体说明:
实施例一:
本实施例执行终端设备的开机流程,如图3a所示:
步骤1:终端设备的主处理器在接收到开机指令后,读取第一BOOT分区即BOOT1中的系统引导程序的哈希值;根据读取到的哈希值对BOOT1中的系统引导程序进行完整性验证,判断验证是否成功,若是,则到步骤2,否则,到步骤3;
步骤2:开始执行BOOT1中的系统引导程序,到步骤7;
步骤3:读取第二BOOT分区即BOOT2中的系统引导程序的哈希值;根据读取到的哈希值对BOOT2中的系统引导程序进行完整性验证,判断验证是否成功,若是,则到步骤5,否则,到步骤4;
步骤4:开机失败,本流程结束;
步骤5:开始执行BOOT2中的系统引导程序;
步骤6:将BOOT1进行格式化,并将BOOT2中的系统引导程序拷贝到BOOT1中;
步骤7:系统启动。
实施例二:如图3b所示:
步骤1:终端设备的主处理器从TF卡读取下载到的系统引导程序的升级包;
步骤2:根据存储的有效系统引导程序的特征信息,验证升级包的有效性;
步骤3:判断升级包是否有效,若是,则到步骤5,否则,到步骤4;
步骤4:停止升级,本流程结束;
步骤5:根据升级包对BOOT1中的系统引导程序进行升级;
步骤6:判断对BOOT1的升级是否成功,若是,则到步骤7,否则,到步骤4;
步骤7:根据升级包对BOOT2中的系统引导程序进行升级;
步骤8:判断对BOOT2的升级是否成功,若是,则到步骤9,否则,到步骤4;
步骤9:更新其他镜像。
实施例三:
步骤一:执行实施例一中的步骤1-步骤7;
步骤二:若终端设备成功开机,则执行实施例二中的步骤1-步骤9。
实施例四:
步骤一:执行实施例二中的步骤1-步骤9;
步骤二:执行实施例一中的步骤1-步骤7。
参见图4,本发明实施例提供一种终端设备,该终端设备的存储单元40包含第一引导BOOT分区401和第二BOOT分区402,第一BOOT分区401和第二BOOT分区402中各存储有一份相同的系统引导程序,并在第三分区403中存储有第一BOOT分区401中的系统引导程序的哈希值和第二BOOT分区402中的系统引导程序的哈希值,该终端设备还包括:
主处理器41,用于在接收到开机指令后,从第三分区中读取第一BOOT分区401中的系统引导程序的哈希值;根据读取到的哈希值对第一BOOT分区401中的系统引导程序进行完整性验证,若验证成功,则根据第一BOOT分区401中的系统引导程序执行开机流程;否则,
从第三分区403中读取第二BOOT分区402中的系统引导程序的哈希值;根据读取到的哈希值对第二BOOT分区402中的系统引导程序进行完整性验证,在验证成功后,根据第二BOOT分区402中的系统引导程序执行开机流程。
进一步的,所述主处理器41还用于:
在根据第二BOOT分区402中的系统引导程序执行开机流程之后,将第一BOOT分区401进行格式化,并将第二BOOT分区402中的系统引导程序拷贝到第一BOOT分区401中。
进一步的,所述主处理器41还用于:
在接收到开机指令之前或执行开机流程之后,在下载到系统引导程序的升级包时,根据该升级包对第一BOOT分区401中的系统引导程序进行升级,若升级成功,则根据该升级包对第二BOOT分区402中的系统引导程序进行升级,否则,停止升级并关机。
进一步的,所述存储单元40中还存储有有效系统引导程序的特征信息;
所述主处理器41还用于:
在下载到系统引导程序的升级包后、且根据该升级包对第一BOOT分区401中的系统引导程序进行升级之前,根据所述特征信息验证下载到的升级包的有效性;在验证下载到的升级包为有效的系统引导程序时,根据该升级包对第一BOOT分区401中的系统引导程序进行升级。
进一步的,所述主处理器41还用于:
在根据该升级包对第一BOOT分区401中的系统引导程序进行升级成功后,计算升级后的第一BOOT分区401中的系统引导程序的新的哈希值,并使用该新的哈希值更新第三分区403中存储的第一BOOT分区401中的系统引导程序的哈希值;
在根据该升级包对第二BOOT分区402中的系统引导程序进行升级成功后,计算升级后的第二BOOT分区402中的系统引导程序的新的哈希值,并使用该新的哈希值更新第三分区403中存储的第二BOOT分区402中的系统引导程序的哈希值。
仍参见图4,本发明实施例提供一种终端设备,该终端设备的存储单元40包含第一引导BOOT分区401和第二BOOT分区402,第一BOOT分区401和第二BOOT分区402中各存储有一份相同的系统引导程序,该终端设备还包括:
主处理器41,用于在下载到系统引导程序的升级包后,根据该升级包对第一BOOT分区401中的系统引导程序进行升级,若升级成功,则根据该升级包对第二BOOT分区402中的系统引导程序进行升级,否则,
停止升级并关机。
进一步的,所述存储单元40中还存储有有效系统引导程序的特征信息;
所述主处理器41还用于:
在下载到系统引导程序的升级包后、且根据该升级包对第一BOOT分区401中的系统引导程序进行升级之前,根据所述特征信息验证下载到的升级包的有效性;在验证下载到的升级包为有效的系统引导程序时,根据该升级包对第一BOOT分区401中的系统引导程序进行升级。
进一步的,在所述存储单元的第三分区403中存储有第一BOOT分区401中的系统引导程序的哈希值和第二BOOT分区402中的系统引导程序的哈希值;
所述主处理器41还用于:
在接收到开机指令后,从第三分区403中读取第一BOOT分区401中的系统引导程序的哈希值;根据读取到的哈希值对第一BOOT分区401中的系统引导程序进行完整性验证,若验证成功,则根据第一BOOT分区401中的系统引导程序执行开机流程;否则,
从第三分区中读取第二BOOT分区402中的系统引导程序的哈希值;根据读取到的哈希值对第二BOOT分区402中的系统引导程序进行完整性验证,在验证成功后,根据第二BOOT分区402中的系统引导程序执行开机流程。
进一步的,所述主处理器41还用于:
在根据该升级包对第一BOOT分区401中的系统引导程序进行升级成功后,计算升级后的第一BOOT分区401中的系统引导程序的新的哈希值,并使用该新的哈希值更新第三分区403中存储的第一BOOT分区401中的系统引导程序的哈希值;
在根据该升级包对第二BOOT分区402中的系统引导程序进行升级成功后,计算升级后的第二BOOT分区402中的系统引导程序的新的哈希值,并使用该新的哈希值更新第三分区403中存储的第二BOOT分区402中的系统引导程序的哈希值。
进一步的,所述主处理器41还用于:
在根据第二BOOT分区402中的系统引导程序执行开机流程之后,将第一BOOT分区401进行格式化,并将第二BOOT分区402中的系统引导程序拷贝到第一BOOT分区401中。
本发明中的终端设备具体可以是平板电脑、手机终端等。
综上,本发明的有益效果包括:
本发明实施例提供的一种方案中,终端设备的存储单元包含第一引导(BOOT)分区和第二BOOT分区,第一BOOT分区和第二BOOT分区中各存储有一份相同的系统引导程序,并在第三分区中存储有第一BOOT分区中的系统引导程序的哈希值和第二BOOT分区中的系统引导程序的哈希值,在开机时,根据其中一个哈希值验证对应的系统引导程序的完整性,若验证成功,则根据该系统引导程序执行开机流程,否则,根据另外一个哈希值验证另一个系统引导程序的完整性,在验证成功后根据该系统引导程序执行开机流程。可见,本方案中存储两套系统引导程序,在一套系统引导程序损坏时还可以使用另一套系统引导程序进行开机,从而提高了终端设备的开机成功率。
本发明实施例提供的另一种方案中,在下载到系统引导程序的升级包后,根据该升级包对第一BOOT分区中的系统引导程序进行升级,若升级成功,则根据该升级包对第二BOOT分区中的系统引导程序进行升级,否则,停止升级并关机;可见,本方案中,若对存储的两套系统引导程序中的一套系统引导程序的升级失败,则不再对另一套系统引导程序进行升级,从而能够保证终端设备中始终存储有至少一套完整的系统引导程序,进而能够使用该完整的系统引导程序进行开机,提高了终端设备的开机成功率。
本发明是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种终端设备开机方法,其特征在于,该终端设备的存储单元包含第一引导BOOT分区和第二BOOT分区,第一BOOT分区和第二BOOT分区中各存储有一份相同的系统引导程序,并在第三分区中存储有第一BOOT分区中的系统引导程序的哈希值和第二BOOT分区中的系统引导程序的哈希值,该方法包括:
在接收到开机指令后,从第三分区中读取第一BOOT分区中的系统引导程序的哈希值;根据读取到的哈希值对第一BOOT分区中的系统引导程序进行完整性验证,若验证成功,则根据第一BOOT分区中的系统引导程序执行开机流程;否则,
从第三分区中读取第二BOOT分区中的系统引导程序的哈希值;根据读取到的哈希值对第二BOOT分区中的系统引导程序进行完整性验证,在验证成功后,根据第二BOOT分区中的系统引导程序执行开机流程。
2.如权利要求1所述的方法,其特征在于,在根据第二BOOT分区中的系统引导程序执行开机流程之后,进一步包括:
将第一BOOT分区进行格式化,并将第二BOOT分区中的系统引导程序拷贝到第一BOOT分区中。
3.如权利要求1所述的方法,其特征在于,进一步包括:
在下载到系统引导程序的升级包后,根据该升级包对第一BOOT分区中的系统引导程序进行升级,若升级成功,则根据该升级包对第二BOOT分区中的系统引导程序进行升级,否则,停止升级并关机。
4.如权利要求3所述的方法,其特征在于,所述存储单元中还存储有有效系统引导程序的特征信息;
在下载到系统引导程序的升级包后、且根据该升级包对第一BOOT分区中的系统引导程序进行升级之前,进一步包括:根据所述特征信息验证下载到的升级包的有效性;
所述根据该升级包对第一BOOT分区中的系统引导程序进行升级,具体包括:在验证下载到的升级包为有效的系统引导程序时,根据该升级包对第一BOOT分区中的系统引导程序进行升级。
5.如权利要求3所述的方法,其特征在于,在根据该升级包对第一BOOT分区中的系统引导程序进行升级成功后,进一步包括:计算升级后的第一BOOT分区中的系统引导程序的新的哈希值,并使用该新的哈希值更新第三分区中存储的第一BOOT分区中的系统引导程序的哈希值;
在根据该升级包对第二BOOT分区中的系统引导程序进行升级成功后,进一步包括:计算升级后的第二BOOT分区中的系统引导程序的新的哈希值,并使用该新的哈希值更新第三分区中存储的第二BOOT分区中的系统引导程序的哈希值。
6.一种终端设备升级方法,其特征在于,该终端设备的存储单元包含第一引导BOOT分区和第二BOOT分区,第一BOOT分区和第二BOOT分区中各存储有一份相同的系统引导程序,该方法包括:
在下载到系统引导程序的升级包后,根据该升级包对第一BOOT分区中的系统引导程序进行升级,若升级成功,则根据该升级包对第二BOOT分区中的系统引导程序进行升级,否则,
停止升级并关机。
7.如权利要求6所述的方法,其特征在于,所述存储单元中还存储有有效系统引导程序的特征信息;
在下载到系统引导程序的升级包后、且根据该升级包对第一BOOT分区中的系统引导程序进行升级之前,进一步包括:根据所述特征信息验证下载到的升级包的有效性;
所述根据该升级包对第一BOOT分区中的系统引导程序进行升级,具体包括:在验证下载到的升级包为有效的系统引导程序时,根据该升级包对第一BOOT分区中的系统引导程序进行升级。
8.如权利要求6所述的方法,其特征在于,在所述存储单元的第三分区中存储有第一BOOT分区中的系统引导程序的哈希值和第二BOOT分区中的系统引导程序的哈希值;进一步包括:
在接收到开机指令后,从第三分区中读取第一BOOT分区中的系统引导程序的哈希值;根据读取到的哈希值对第一BOOT分区中的系统引导程序进行完整性验证,若验证成功,则根据第一BOOT分区中的系统引导程序执行开机流程;否则,
从第三分区中读取第二BOOT分区中的系统引导程序的哈希值;根据读取到的哈希值对第二BOOT分区中的系统引导程序进行完整性验证,在验证成功后,根据第二BOOT分区中的系统引导程序执行开机流程。
9.如权利要求8所述的方法,其特征在于,在根据该升级包对第一BOOT分区中的系统引导程序进行升级成功后,进一步包括:计算升级后的第一BOOT分区中的系统引导程序的新的哈希值,并使用该新的哈希值更新第三分区中存储的第一BOOT分区中的系统引导程序的哈希值;
在根据该升级包对第二BOOT分区中的系统引导程序进行升级成功后,进一步包括:计算升级后的第二BOOT分区中的系统引导程序的新的哈希值,并使用该新的哈希值更新第三分区中存储的第二BOOT分区中的系统引导程序的哈希值。
10.如权利要求8所述的方法,其特征在于,在根据第二BOOT分区中的系统引导程序执行开机流程之后,进一步包括:
将第一BOOT分区进行格式化,并将第二BOOT分区中的系统引导程序拷贝到第一BOOT分区中。
11.一种终端设备,其特征在于,该终端设备的存储单元包含第一引导BOOT分区和第二BOOT分区,第一BOOT分区和第二BOOT分区中各存储有一份相同的系统引导程序,并在第三分区中存储有第一BOOT分区中的系统引导程序的哈希值和第二BOOT分区中的系统引导程序的哈希值,该终端设备还包括:
主处理器,用于在接收到开机指令后,从第三分区中读取第一BOOT分区中的系统引导程序的哈希值;根据读取到的哈希值对第一BOOT分区中的系统引导程序进行完整性验证,若验证成功,则根据第一BOOT分区中的系统引导程序执行开机流程;否则,
从第三分区中读取第二BOOT分区中的系统引导程序的哈希值;根据读取到的哈希值对第二BOOT分区中的系统引导程序进行完整性验证,在验证成功后,根据第二BOOT分区中的系统引导程序执行开机流程。
12.如权利要求11所述的终端设备,其特征在于,所述主处理器还用于:
在根据第二BOOT分区中的系统引导程序执行开机流程之后,将第一BOOT分区进行格式化,并将第二BOOT分区中的系统引导程序拷贝到第一BOOT分区中。
13.如权利要求11所述的终端设备,其特征在于,所述主处理器还用于:
在接收到开机指令之前或执行开机流程之后,在下载到系统引导程序的升级包时,根据该升级包对第一BOOT分区中的系统引导程序进行升级,若升级成功,则根据该升级包对第二BOOT分区中的系统引导程序进行升级,否则,停止升级并关机。
14.一种终端设备,其特征在于,该终端设备的存储单元包含第一引导BOOT分区和第二BOOT分区,第一BOOT分区和第二BOOT分区中各存储有一份相同的系统引导程序,该终端设备还包括:
主处理器,用于在下载到系统引导程序的升级包后,根据该升级包对第一BOOT分区中的系统引导程序进行升级,若升级成功,则根据该升级包对第二BOOT分区中的系统引导程序进行升级,否则,
停止升级并关机。
15.如权利要求14所述的终端设备,其特征在于,在所述存储单元的第三分区中存储有第一BOOT分区中的系统引导程序的哈希值和第二BOOT分区中的系统引导程序的哈希值;
所述主处理器还用于:
在接收到开机指令后,从第三分区中读取第一BOOT分区中的系统引导程序的哈希值;根据读取到的哈希值对第一BOOT分区中的系统引导程序进行完整性验证,若验证成功,则根据第一BOOT分区中的系统引导程序执行开机流程;否则,
从第三分区中读取第二BOOT分区中的系统引导程序的哈希值;根据读取到的哈希值对第二BOOT分区中的系统引导程序进行完整性验证,在验证成功后,根据第二BOOT分区中的系统引导程序执行开机流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104524685A CN102981872A (zh) | 2012-11-09 | 2012-11-09 | 终端设备开机、升级方法和终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104524685A CN102981872A (zh) | 2012-11-09 | 2012-11-09 | 终端设备开机、升级方法和终端设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102981872A true CN102981872A (zh) | 2013-03-20 |
Family
ID=47855934
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104524685A Pending CN102981872A (zh) | 2012-11-09 | 2012-11-09 | 终端设备开机、升级方法和终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102981872A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164296A (zh) * | 2013-03-28 | 2013-06-19 | 青岛海信移动通信技术股份有限公司 | 一种处理产品生产数据的方法及装置 |
CN103744702A (zh) * | 2014-01-07 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 一种交换、路由设备的双系统启动方法 |
CN104239095A (zh) * | 2014-09-01 | 2014-12-24 | 小米科技有限责任公司 | 操作系统启动方法、装置及终端设备 |
CN104750574A (zh) * | 2015-03-03 | 2015-07-01 | 普联技术有限公司 | 一种网络设备的固件恢复方法及装置 |
CN104899524A (zh) * | 2015-05-25 | 2015-09-09 | 上海兆芯集成电路有限公司 | 中央处理器和验证主机板数据的方法 |
CN106325911A (zh) * | 2015-07-02 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现bootrom升级的方法及装置 |
CN112579338A (zh) * | 2020-12-30 | 2021-03-30 | 浪潮电子信息产业股份有限公司 | 一种设备的启动方法、系统及存储介质 |
CN117743008A (zh) * | 2023-12-13 | 2024-03-22 | 国家电网有限公司直流技术中心 | 多核处理器故障诊断与异常处理方法、主控板卡及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050193189A1 (en) * | 2004-02-17 | 2005-09-01 | Han-Gyoo Kim | Device and method for booting an operating system for a computer from a passive directly attached network device |
CN101329632A (zh) * | 2008-04-30 | 2008-12-24 | 中兴通讯股份有限公司 | 一种使用boot启动cpu的方法与装置 |
CN101650662A (zh) * | 2009-08-26 | 2010-02-17 | 中兴通讯股份有限公司 | 一种嵌入式系统的存储器件、固件启动及升级方法 |
CN101714093A (zh) * | 2009-12-01 | 2010-05-26 | 福建新大陆通信科技有限公司 | 机顶盒的三段式双备份Loader升级方法 |
-
2012
- 2012-11-09 CN CN2012104524685A patent/CN102981872A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050193189A1 (en) * | 2004-02-17 | 2005-09-01 | Han-Gyoo Kim | Device and method for booting an operating system for a computer from a passive directly attached network device |
CN101329632A (zh) * | 2008-04-30 | 2008-12-24 | 中兴通讯股份有限公司 | 一种使用boot启动cpu的方法与装置 |
CN101650662A (zh) * | 2009-08-26 | 2010-02-17 | 中兴通讯股份有限公司 | 一种嵌入式系统的存储器件、固件启动及升级方法 |
CN101714093A (zh) * | 2009-12-01 | 2010-05-26 | 福建新大陆通信科技有限公司 | 机顶盒的三段式双备份Loader升级方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164296A (zh) * | 2013-03-28 | 2013-06-19 | 青岛海信移动通信技术股份有限公司 | 一种处理产品生产数据的方法及装置 |
CN103164296B (zh) * | 2013-03-28 | 2016-11-23 | 青岛海信移动通信技术股份有限公司 | 一种处理产品生产数据的方法及装置 |
CN103744702A (zh) * | 2014-01-07 | 2014-04-23 | 上海斐讯数据通信技术有限公司 | 一种交换、路由设备的双系统启动方法 |
CN104239095A (zh) * | 2014-09-01 | 2014-12-24 | 小米科技有限责任公司 | 操作系统启动方法、装置及终端设备 |
CN104750574A (zh) * | 2015-03-03 | 2015-07-01 | 普联技术有限公司 | 一种网络设备的固件恢复方法及装置 |
CN104750574B (zh) * | 2015-03-03 | 2018-06-19 | 普联技术有限公司 | 一种网络设备的固件恢复方法及装置 |
CN104899524A (zh) * | 2015-05-25 | 2015-09-09 | 上海兆芯集成电路有限公司 | 中央处理器和验证主机板数据的方法 |
CN104899524B (zh) * | 2015-05-25 | 2018-11-27 | 上海兆芯集成电路有限公司 | 中央处理器和验证主机板数据的方法 |
CN106325911A (zh) * | 2015-07-02 | 2017-01-11 | 中兴通讯股份有限公司 | 一种实现bootrom升级的方法及装置 |
CN112579338A (zh) * | 2020-12-30 | 2021-03-30 | 浪潮电子信息产业股份有限公司 | 一种设备的启动方法、系统及存储介质 |
CN112579338B (zh) * | 2020-12-30 | 2023-03-24 | 浪潮电子信息产业股份有限公司 | 一种设备的启动方法、系统及存储介质 |
CN117743008A (zh) * | 2023-12-13 | 2024-03-22 | 国家电网有限公司直流技术中心 | 多核处理器故障诊断与异常处理方法、主控板卡及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102981872A (zh) | 终端设备开机、升级方法和终端设备 | |
CN102945176A (zh) | 终端设备开机、升级方法和设备 | |
CN102650947B (zh) | 一种Android手持设备连续增量的空中升级方法 | |
WO2019062635A1 (zh) | 升级方法和装置 | |
CN103176824A (zh) | 一种系统升级的方法及装置 | |
CN108121554A (zh) | 一种户外嵌入式设备系统的升级方法及升级系统 | |
CN109062598A (zh) | 一种安全的ota升级方法及系统 | |
WO2016179957A1 (zh) | 一种应用程序的修复方法、装置和存储介质 | |
CN102508686A (zh) | 一种系统安全升级的实现方法及其系统 | |
CN104636171A (zh) | 升级的方法、装置及移动终端 | |
CN105446772A (zh) | 一种系统升级的方法和装置 | |
CN107908417B (zh) | 固件升级方法及电子设备 | |
CN102646043A (zh) | 移动终端软件升级方法、升级装置及移动终端 | |
CN104850427B (zh) | 一种代码升级方法及装置 | |
CN102163155A (zh) | 存储设备的升级方法及升级控制装置 | |
CN102004657A (zh) | 一种电子设备及其升级方法 | |
CN105095767A (zh) | 基于文件数据块校验的安全启动系统与方法 | |
CN106033362A (zh) | 一种闪存分区的处理方法和装置 | |
CN106897090A (zh) | 一种嵌入式设备程序升级方法及系统 | |
CN102902530A (zh) | 一种基于linux嵌入式操作系统的程序校验装置 | |
CN103984574A (zh) | 一种网站升级方法及系统 | |
CN105700918A (zh) | 一种系统升级方法及装置 | |
CN112650518A (zh) | Dsp程序在线升级方法 | |
CN103309713A (zh) | 系统升级的方法、装置及设备 | |
CN108322540A (zh) | 客制化数据导入方法、终端及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130320 |