本发明专利技术实施例公开了一种终端设备开机、升级方法和终端设备,涉及电子终端设备领域,用于提高终端设备开机的成功率。本发明专利技术中,终端设备中存储两套系统引导程序,在一套系统引导程序损坏时可以使用另一套系统引导程序进行开机,在进行程序升级时,若对其中一套系统引导程序的升级失败,则不再对另一套系统引导程序进行升级,从而保证终端设备中始终存有至少一套完整的系统引导程序,进而提高终端设备的开机成功率。
【技术实现步骤摘要】
本专利技术涉及无线通信领域,尤其涉及一种终端设备开机、升级方法和终端设备。
技术介绍
随着安卓(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分区中的系统引导程序进行升级,否则,停止升级并关机;可见,本方案中,若对存储的两套系统引导程序中的一套系统引导程序的升级失败,则不再对另一套系统引导程序进行升级,从而能够保证终端设备中始终存储有至少一套完整的系统引导程序,进而能够使用该完整的系统引导程序进行开机,提高了终端设备的开机成功率。附图说明图I为本专利技术实施例提供的方法流程示意图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分区中的系统引导程序执行开机流程。
【技术特征摘要】
【专利技术属性】
技术研发人员:王永清,
申请(专利权)人:青岛海信移动通信技术股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。