CN110908722A - 应用于操作系统启动的方法、装置、电子设备及存储介质 - Google Patents

应用于操作系统启动的方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110908722A
CN110908722A CN201911204971.7A CN201911204971A CN110908722A CN 110908722 A CN110908722 A CN 110908722A CN 201911204971 A CN201911204971 A CN 201911204971A CN 110908722 A CN110908722 A CN 110908722A
Authority
CN
China
Prior art keywords
starting
monitoring parameter
mode
kernel
recovery
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
CN201911204971.7A
Other languages
English (en)
Other versions
CN110908722B (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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN201911204971.7A priority Critical patent/CN110908722B/zh
Publication of CN110908722A publication Critical patent/CN110908722A/zh
Application granted granted Critical
Publication of CN110908722B publication Critical patent/CN110908722B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake

Landscapes

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

Abstract

本申请提供了一种应用于操作系统启动的方法、装置、电子设备及存储介质,其中,该方法包括:在确定当前次开机引导程序成功启动之后,从非易失性存储模块中读取第一监控参数;所述第一监控参数用于指示允许内核启动失败的次数;根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序;在确定内核引导程序成功启动之后,从所述非易失性存储模块中读取第二监控参数;所述第二监控参数用于指示允许系统启动失败的次数;根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序。上述方案能够通过非易失的第一监控参数和第二监控参数分别对内核启动和系统启动进行有效监控,避免系统升级后无法启动的问题,提升系统升级的可用性。

Description

应用于操作系统启动的方法、装置、电子设备及存储介质
技术领域
本申请涉及移动通信技术领域,具体而言,涉及一种应用于操作系统启动的方法、装置、电子设备及存储介质。
背景技术
随着通信技术的不断发展,电脑、智能手机、网络电视等终端设备越来越普及。在这些设备的使用过程中,为了优化设备的性能,需要不断地进行系统升级,即是对内置的操作系统,如安卓(Android)系统、IOS系统或其它操作系统,进行升级。
以Android系统为例,空中下载(Over the Air,OTA)作为一种通过无线网络进行升级包的下载以实现系统软件固定版本的升级方式被广泛应用于Android系统的升级中。在进行OTA升级的过程中,终端设备处于关机状态,成功完成升级之后,设备得以重启,其中需要依次经过开机引导过程、内核加载过程、以及Android系统启动过程。
然而,若在升级的过程中出现掉电或者升级包不完整的情况,往往会导致升级后的设备无法重启。
发明内容
有鉴于此,本申请的目的在于提供至少一种应用于操作系统启动的方案,能够通过非易失监控参数对内核启动和系统启动进行有效监控,避免系统升级后无法启动的问题,提升系统升级的可用性。
主要包括以下几个方面:
第一方面,本申请提供了一种应用于操作系统启动的方法,所述方法包括:
在确定当前次开机引导程序成功启动之后,从非易失性存储模块中读取第一监控参数;所述第一监控参数用于指示允许内核启动失败的次数;
根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序;
在确定内核引导程序成功启动之后,从所述非易失性存储模块中读取第二监控参数;所述第二监控参数用于指示允许系统启动失败的次数;
根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序。
在一种实施方式中,所述根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序,包括:
判断当前次启动模式是否为Recovery恢复模式;
若判断出所述当前次启动模式为Recovery恢复模式,则启动与所述Recovery恢复模式对应的恢复内核引导程序;
若判断出所述当前次启动模式为正常模式,则在对所述第一监控参数执行减1操作之后,判断所述第一监控参数的当前值是否为0;
若判断出所述第一监控参数的当前值非0,则启动与所述正常模式对应的正常内核引导程序。
在一种实施方式中,所述根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序,还包括:
若判断出所述第一监控参数的当前值为0,则将所述当前次启动模式设置为Recovery恢复模式,并启动与所述Recovery恢复模式对应的恢复内核引导程序。
在一种实施方式中,在启动与所述Recovery恢复模式对应的恢复内核引导程序之后,还包括:
根据启动所述恢复内核引导程序所采用的启动参数,对与所述正常模式对应的正常内核引导程序进行恢复,得到与所述正常模式对应的恢复后的正常内核引导程序;
将下一次启动模式设置为正常模式;
将所述第一监控参数和所述第二监控参数均恢复至初始值,并启动下一次开机引导程序;
在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式的步骤。
在一种实施方式中,在启动与所述正常模式对应的正常内核引导程序之后,还包括:
若确定内核引导程序启动失败,则启动下一次开机引导程序;
在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式。
在一种实施方式中,所述根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序,包括:
在对所述第二监控参数执行减1操作之后,判断所述第二监控参数的当前值是否为0;
若判断出所述第二监控参数的当前值不为0,则启动与所述正常模式对应的系统程序。
在一种实施方式中,所述根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序,还包括:
若判断出所述第二监控参数的当前值为0,则从非易失性存储模块中读取第三监控参数;所述第三监控参数用于指示Recovery恢复模式的降级类型;
根据所述第三监控参数,将下一次启动模式设置为与所述降级类型对应的Recovery恢复模式;
启动与所述Recovery恢复模式对应的下一次开机引导程序。
第二方面,本申请还提供了一种应用于操作系统启动的装置,所述装置包括:
第一读取模块,用于在确定当前次开机引导程序成功启动之后,从非易失性存储模块中读取第一监控参数;所述第一监控参数用于指示允许内核启动失败的次数;
内核启动模块,用于根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序;
第二读取模块,用于在确定内核引导程序成功启动之后,从所述非易失性存储模块中读取第二监控参数;所述第二监控参数用于指示允许系统启动失败的次数;
系统启动模块,用于根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序。
在一种实施方式中,所述内核启动模块,用于根据以下步骤启动与当前次启动模式对应的内核引导程序:
判断当前次启动模式是否为Recovery恢复模式;
若判断出所述当前次启动模式为Recovery恢复模式,则启动与所述Recovery恢复模式对应的恢复内核引导程序;
若判断出所述当前次启动模式为正常模式,则在对所述第一监控参数执行减1操作之后,判断所述第一监控参数的当前值是否为0;
若判断出所述第一监控参数的当前值非0,则启动与所述正常模式对应的正常内核引导程序。
在一种实施方式中,所述内核启动模块,还用于根据以下步骤启动与当前次启动模式对应的内核引导程序:
若判断出所述第一监控参数的当前值为0,则将所述当前次启动模式设置为Recovery恢复模式,并启动与所述Recovery恢复模式对应的恢复内核引导程序。
在一种实施方式中,所述装置还包括:
第一开机启动模块,用于在启动与所述Recovery恢复模式对应的恢复内核引导程序之后,根据启动所述恢复内核引导程序所采用的启动参数,对与所述正常模式对应的正常内核引导程序进行恢复,得到与所述正常模式对应的恢复后的正常内核引导程序;
将下一次启动模式设置为正常模式;
将所述第一监控参数和所述第二监控参数均恢复至初始值,并启动下一次开机引导程序;
在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式的步骤。
在一种实施方式中,所述装置还包括:
第二开机启动模块,用于在启动与所述正常模式对应的正常内核引导程序之后,若确定内核引导程序启动失败,则启动下一次开机引导程序;
在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式。
在一种实施方式中,所述系统启动模块,用于根据以下步骤启动与所述当前次启动模式对应的系统程序:
在对所述第二监控参数执行减1操作之后,判断所述第二监控参数的当前值是否为0;
若判断出所述第二监控参数的当前值不为0,则启动与所述正常模式对应的系统程序。
在一种实施方式中,所述系统启动模块,还用于根据以下步骤启动与所述当前次启动模式对应的系统程序:
若判断出所述第二监控参数的当前值为0,则从非易失性存储模块中读取第三监控参数;所述第三监控参数用于指示Recovery恢复模式的降级类型;
根据所述第三监控参数,将下一次启动模式设置为与所述降级类型对应的Recovery恢复模式;
启动与所述Recovery恢复模式对应的下一次开机引导程序。
第三方面,本申请还提供了一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如第一方面及其各种实施方式任一所述应用于操作系统启动的方法的步骤。
第三方面,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面及其各种实施方式任一所述应用于操作系统启动的方法的步骤。
采用上述方案,其在确定当前次开机引导程序成功启动之后,首先从非易失性存储模块中读取第一监控参数,以根据该第一监控参数,启动与当前次启动模式对应的内核引导程序;然后在确定内核引导程序成功启动之后,从所述非易失性存储模块中读取第二监控参数,以根据该第二监控参数,启动与当前次启动模式对应的系统程序,其中,第一监控参数和第二监控参数用于分别指示允许内核和系统启动失败的次数。上述方案能够通过非易失的第一监控参数和第二监控参数分别对内核启动和系统启动进行有效监控,避免系统升级后无法启动的问题,提升系统升级的可用性。
另外,即使是在达到失败次数之后,可以结合当前次启动模式来启动对应的恢复内核引导程序和恢复系统程序以实现降级方式下的启动,从而进一步提升了系统升级的可用性。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例一提供的一种应用于操作系统启动的方法流程图;
图2示出了本申请实施例一提供的一种应用于操作系统启动的方法中,内核引导程序启动具体方法的流程图;
图3示出了本申请实施例一提供的一种应用于操作系统启动的方法中,开机引导程序启动具体方法的流程图;
图4示出了本申请实施例一提供的一种应用于操作系统启动的方法中,系统程序启动具体方法的流程图;
图5示出了本申请实施例一提供的一种应用于操作系统启动的方法的工作流程图;
图6示出了本申请实施例二提供的一种应用于操作系统启动的装置的结构示意图;
图7示出了本申请实施例三提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在相关技术中,若在系统升级的过程中出现掉电或者升级包不完整等情况,往往会导致升级后的设备无法重启。基于上述研究,本申请提供了一种应用于操作系统启动的方法、装置、电子设备和存储介质,能够通过非易失监控参数对内核启动和系统启动进行有效监控,避免系统升级后无法启动的问题,提升系统升级的可用性。
针对以上方案所存在的缺陷,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本申请针对上述问题所提出的解决方案,都属于发明人在本申请过程中对本申请做出的贡献性内容。
下面将结合本申请中附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为了便于理解本申请所提供的应用于操作系统启动的方法、装置、电子设备及存储介质,接下来通过几个实施例进行具体描述。
实施例一
参见图1所示的本申请实施例一提供的一种应用于操作系统启动的方法的流程图,该应用于操作系统启动的方法的执行主体可以是安装有安卓(Android)操作系统的电子设备,该电子设备可以是终端设备等,例如,终端可以是移动电话、平板电脑等,终端还可以是便携式、手持式、袖珍式等,本申请实施例对此不做具体的限制。另外,上述应用于操作系统启动的方法可以应用于终端设备在进行空中下载(Over the Air,OTA)升级失败后无法启动的应用场景中。
如图1所示,上述应用于操作系统启动的方法具体包括如下步骤:
S101、在确定当前次开机引导程序成功启动之后,从非易失性存储模块中读取第一监控参数;所述第一监控参数用于指示允许内核启动失败的次数;
S102、根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序;
S103、在确定内核引导程序成功启动之后,从所述非易失性存储模块中读取第二监控参数;所述第二监控参数用于指示允许系统启动失败的次数;
S104、根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序。
这里,为了便于对本申请实施例提供的应用于操作系统启动的方法的理解,首先对Android系统的启动过程进行简单说明。有关Android系统的启动过程大致分为三个阶段,第一个阶段是开机引导过程,即上电开机,执行BootLoader引导装载程序(对应开机引导程序),第二个阶段是内核加载过程,即BootLoader加载Linux内核并启动内核引导程序,加载各种驱动和数据结构,第三个阶段即是Android主系统启动过程,即加载Android虚拟机并启动各种服务和应用。
考虑到系统升级失败后,将可能导致上述三个阶段中任意阶段的启动失败,也即是,不管是由于在升级过程中出现掉电或者升级包不完整,还是升级过程没有问题,但是升级包本身有缺陷,均可能导致升级后的系统无法启动,且可能是由于内核加载启动失败所导致的系统无法启动,也可能是内核正常启动而主系统无法正常启动所导致的系统无法启动。正是为了解决这一问题,本申请实施例才提供了一种基于各个监控参数进行各个启动阶段的监控以实现系统的正常启动。
值得说明的是,上述三个阶段可以是顺序执行的,前一个阶段的成功执行是执行下一个阶段的前提。在具体应用中,考虑到开机引导过程中,开机引导程序在出厂后几乎是不会发生更新的,因此,本申请实施例可以基于开机引导过程的执行者来观察内核加载过程的进行(即,利用第一监控参数来监测内核的启动),也可以基于内核加载过程的执行者来观察Android主系统启动过程的进行(即,利用第二监控参数来监测主系统的启动)。
其中,上述第一监控参数和第二监控参数可以是存储在非易失性存储模块中,这样,针对内核启动而言,可以根据第一监控参数来确定内核启动的失败次数,假设总共允许正常内核引导程序启动失败5次,达到这一失败次数后,则需要降级利用恢复内核引导程序来启动,其中,本申请实施例可以采用一次或多次降级来恢复;同理,针对主系统启动而言,可以根据第二监控参数来确定系统启动的失败次数,假设总共允许系统启动失败5次,达到这一失败次数后,则需要降级利用恢复系统程序来启动,其中,本申请实施例可以采用一次或多次降级来恢复。上述恢复内核引导程序与恢复系统程序可以是相互匹配的,也即采用第一次降级时所采用的恢复内核引导程序,其恢复系统程序匹配的将是第一次降级时所采用的恢复系统程序,也即,在降级的过程中,内核和主系统是同步降级的。
在具体应用中,可以选用两级回退策略,也即,可以选用差分方式进行第一次降级,回退到系统升级前所用系统,这时,可以确保降级后的系统是与当前的业务场景更为贴切的系统,提升系统升级的可用性,如果回退之后的系统依旧无法正常启动,此时可以选用全量包降级方法进行第二次降级,回退到更久之前的系统(如出厂时所采用的经过验证的出厂系统),这时可以确保降级后的系统一定是可以启动的,从而进一步提升系统升级的可用性。
除此之外,本申请实施例还可以选用三级回退策略、四级回退策略等,本申请实施例对此不做具体的限制,以满足不同应用场景的应用需求。
其中,上述非易失性存储模块可以是闪存(flash),还可以是其它在断电后,所存储的数据不会消失的存储模块,这样,可以利用该非易失性存储模块的存储特性记录内核启动失败的次数以及系统启动失败的次数,在达到预设失败次数之后,即可以启动系统降级,以实现系统升级的可用性。
另外,在具体应用中,本申请实施例中的上述第一监控参数可以是内核启动使用的看门狗(WatchDog),以用来监控内核是否正常启动,以及通过设置合适的初值决定可以容忍内核启动失败的次数,上述第二监控参数可以是Android启动使用的看门狗,用来监控Android是否正常启动,以及通过设置合适的初值决定可以容忍Android启动失败的次数。
本申请实施例中的当前次启动模块可以是正常模式,也可以是Recovery恢复模式,其中,Recovery恢复模式的降级类型可以利用第三监控参数来指示,该第三监控参数可以是Android启动完成的标志,如指示是第一次降级还是第二次降级。本申请实施例中,针对当前次启动模式的不同可以选用不同的系统启动方式。如图2所示,本申请实施例提供了一种内核引导程序的引导方法,该方法具体包括如下步骤:
S201、判断当前次启动模式是否为Recovery恢复模式;
若判断出所述当前次启动模式为Recovery恢复模式,则执行S202;
若判断出所述当前次启动模式为正常模式(即非Recovery恢复模式),则执行S203;
S202、启动与所述Recovery恢复模式对应的恢复内核引导程序;
S203、在对所述第一监控参数执行减1操作之后,判断所述第一监控参数的当前值是否为0。
这里,本申请实施例可以首先判断当前次启动模式是否为Recovery恢复模式,这里的Recovery恢复模式可以是第一次降级所对应的Recovery恢复模式,还可以是第二次降级所对应的Recovery恢复模式,不管是哪一次降级所对应的Recovery恢复模式,一旦开机引导程序的执行者确定当前次启动模式是Recovery恢复模式,则启动与该Recovery恢复模式对应的恢复内核引导程序,一旦开机引导程序的执行者确定当前次启动模式是正常模式,则在对所述第一监控参数执行减1操作之后,判断所述第一监控参数的当前值是否为0,这里的执行减1操作可以是开机引导程序启动之后执行的,这样,可以通过第一监控参数的当前值确定是否达到内核启动失败的次数,如果是,则需要在正常模式下进行模式重置,并基于Recovery恢复模式进行降级操作。
本申请实施例中的正常模式可以是从boot.img启动系统,而Recovery恢复模式则可以是从reovery.img启动系统,该Recovery恢复模式可以是对安卓设备内部的数据或系统进行修改的模式。
本申请实施例中,在判断出所述第一监控参数的当前值非0时,可以确定出尚未达到内核启动失败的次数,这时,可以按照正常模式对应的正常内核引导程序启动内核,这里的正常内核引导程序可以是指升级后的内核引导程序。随着内核启动次数的增加,若升级后的内核在第一监控参数递减到0时,一直无法启动升级后的内核引导程序,这时,可以将所述当前次启动模式设置为Recovery恢复模式,并启动与所述Recovery恢复模式对应的恢复内核引导程序。也即,本申请实施例可以先利用Recovery恢复模式对系统进行降级修改,以得到恢复后的正常内核引导程序,而后再将模式重置到正常模式,以通过恢复后的正常内核引导程序进行内核启动。
这里,如图3所示,可以按照如下步骤进行下一次开机引导程序的启动。
S301、根据启动恢复内核引导程序所采用的启动参数,对与正常模式对应的正常内核引导程序进行恢复,得到与所述正常模式对应的恢复后的正常内核引导程序;
S302、将下一次启动模式设置为正常模式;
S303、将所述第一监控参数和所述第二监控参数均恢复至初始值,并启动下一次开机引导程序;
S304、在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式的步骤。
这里,首先可以根据启动所述恢复内核引导程序所采用的启动参数,对与所述正常模式对应的正常内核引导程序进行恢复,得到与所述正常模式对应的恢复后的正常内核引导程序,上述恢复过程可以指的是利用已存降级包对升级后的正常内核引导程序进行恢复的过程,针对第一次降级时,可以采用差分降级方式(即利用两者的差异)来恢复,针对第二次降级则可以采用全量包降级方式(即利用文件覆盖方式)来恢复。
在得到与正常模式对应的恢复后的正常内核引导程序之后,可以将下一次启动模式设置为正常模式,并可以将第一监控参数和第二监控参数恢复至初始值以启动下一次开机引导程序,以再一次根据监控参数确定恢复后的正常内核引导程序能否成功启动,如历经5次失败后该恢复后的正常引导程序依旧无法启动,这时,即可以再一次降级,再次进行内核恢复,以达到在正常模式下启动恢复后的正常内核引导程序的目的。
这里,内核引导程序启动的成功是进入系统程序启动的前提,如果确定内核引导程序启动失败,则启动下一次开机引导程序;并在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式。
本申请实施例中,在确定内核引导程序成功启动之后,可以根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序,如图4所示,上述系统程序的启动过程具体包括如下步骤:
S401、在对第二监控参数执行减1操作之后,判断所述第二监控参数的当前值是否为0;
S402、若判断出所述第二监控参数的当前值不为0,则启动与正常模式对应的系统程序。
这里,可以在对所述第二监控参数执行减1操作之后,首先判断所述第二监控参数的当前值是否为0。本申请实施例中,在判断出所述第二监控参数的当前值非0时,可以确定出尚未达到系统启动失败的次数,这时,可以按照正常模式对应的正常系统程序启动系统,这里的正常系统程序可以是指升级后的正常系统程序。
本申请实施例中,可以通过检测启动器(Launcher)是否启动超时来判断Android系统是否正常启动,如果Launcher启动超时则重启系统。
随着系统启动次数的增加,若升级后的系统在第二监控参数递减到0时,一直无法启动升级后的正常系统程序,这时,可以将所述当前次启动模式设置为Recovery恢复模式,并启动与所述Recovery恢复模式对应的恢复系统程序。也即,本申请实施例可以先利用Recovery恢复模式对系统进行降级修改,以得到恢复后的正常系统程序,而后再将模式重置到正常模式,以通过恢复后的正常系统程序进行系统启动。
其中,在判断出第二监控参数的当前值为0时,可以从非易失性存储模块中读取第三监控参数,根据该第三监控参数,可以将下一次启动模式设置为与所述降级类型对应的Recovery恢复模式,以启动与所述Recovery恢复模式对应的下一次开机引导程序。也即,可以根据第三监控参数确定下一次降级的降级类型,如是第一次降级还是第二次降级,这样,在内核启动的过程中,如果在当前是运行在第一次降级的Recovery恢复模式,则可以启动与该第一次降级的Recovery恢复模式对应的恢复内核引导程序,若当前是运行在第二次降级的Recovery恢复模式,则可以启动与该第二次降级的Recovery恢复模式对应的恢复内核引导程序,从而能够确保及时升级后的内核或系统不可启动时,也可以根据多级回退策略成功的启动系统,以提升系统的可用性。
为了便于进一步理解上述内容,接下来结合图5所示的工作流程图对本申请实施例提供的应用于操作系统启动的方法进行描述。
1.BootLoader启动(即LK启动),对计数器BOOT_WD(即第一监控参数)执行减1操作,目的在于记录内核启动的状态;
2.判断当前启动模式是否为Recovery恢复模式,目的在于稍后内核启动时选择对应的内核启动;
3.如果当前启动模式是Recovery恢复模式,那么直接按照恢复内核引导程序进行启动;
4.如果当前启动模式不是Recovery恢复模式,即正常模式,那么继续判断BOOT_WD是否已经减到0。如果不为0,说明还可以容忍之前内核启动失败,继续以正常流程启动;反之,如果已经减到0,那么意味着之前的内核启动失败次数过多,需要设置为差分降级模式进行降级操作。
5.在BootLoader执行之后,开始引导内核启动,此时根据设置的启动模式选择合适的内核进行启动。
6.如果以Recovery恢复模式启动内核,那么不需要修改BOOT_WD/OS_WD(对应第二监控参数)的值,只需要根据进入Recovery恢复模式的内核参数来执行OTA升级操作。这里兼容正常的OTA升级过程,同时也扩展支持差分降级操作和全量包的降级操作。其中,在OTA完成后,需要恢复启动模式为正常模式并复位BOOT_WD/OS_WD的值,也就是恢复系统到初始状态。另外,需要根据Recovery恢复模式的参数(即降级类型)设置BOOT_SUCCESS(对应第三监控参数)为不同的值,为后面区分是普通的差分包降级还是全量包降级做准备,如在BOOT_SUCCESS为0时,对应第一级Recovery恢复模式(对应差分包降级),在BOOT_SUCCESS为1时,对应第二级Recovery恢复模式(对应全量包降级),在这些流程完成后重启系统。
7.如果是以正常模式启动内核,如果一直启动失败,则会持续对BOOT_WD减1,直到为0后执行降级操作。反之如果内核启动完成,那么首先需要复位BOOT_WD的值,表示内核启动过程已经正常完成。同时对OS_WD减1,表示开始对Android系统的启动过程开始进行监控。
8.如果OS_WD不为0,说明本次Android启动还可以继续。那么可以通过检测Launcher是否启动超时来判断Android是否正常启动。如果Launcher启动超时则重启系统,重复以上过程;如果Launcher正常启动,即在完整的Android系统启动后,需要将所有标志位都恢复到初始状态。
9.如果OS_WD为0,说明之前Android启动失败次数过多,必须进行降级操作。
10.如果当前的启动模式为正常模式,则需要根据BOOT_SUCCESS的值来判断使用差分降级还是全量包降级。最终返回到第6步进行实际的降级操作。
值得说明的是,为了兼容原有的OTA逻辑,BootLoader可以通过读取特定位置的幻数(magic number)来区分是否为升级后的系统,如果是,则可以按照上述应用于操作系统启动方法来依次启动内核和系统,如果否,则按照原有操作流程来执行系统启动。
实施例二
基于同一发明构思,本申请实施例还提供了与上述实施例提供的应用于操作系统启动的方法对应的应用于操作系统启动的装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述应用于操作系统启动的方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
参照图6所示,为本申请实施例提供的一种应用于操作系统启动的装置的示意图,上述装置包括:
第一读取模块601,用于在确定当前次开机引导程序成功启动之后,从非易失性存储模块中读取第一监控参数;所述第一监控参数用于指示允许内核启动失败的次数;
内核启动模块602,用于根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序;
第二读取模块603,用于在确定内核引导程序成功启动之后,从所述非易失性存储模块中读取第二监控参数;所述第二监控参数用于指示允许系统启动失败的次数;
系统启动模块604,用于根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序。
在一种实施方式中,所述内核启动模块602,用于根据以下步骤启动与当前次启动模式对应的内核引导程序:
判断当前次启动模式是否为Recovery恢复模式;
若判断出所述当前次启动模式为Recovery恢复模式,则启动与所述Recovery恢复模式对应的恢复内核引导程序;
若判断出所述当前次启动模式为正常模式,则在对所述第一监控参数执行减1操作之后,判断所述第一监控参数的当前值是否为0;
若判断出所述第一监控参数的当前值非0,则启动与所述正常模式对应的正常内核引导程序。
在一种实施方式中,所述内核启动模块602,还用于根据以下步骤启动与当前次启动模式对应的内核引导程序:
若判断出所述第一监控参数的当前值为0,则将所述当前次启动模式设置为Recovery恢复模式,并启动与所述Recovery恢复模式对应的恢复内核引导程序。
在一种实施方式中,所述装置还包括:
第一开机启动模块605,用于在启动与所述Recovery恢复模式对应的恢复内核引导程序之后,根据启动所述恢复内核引导程序所采用的启动参数,对与所述正常模式对应的正常内核引导程序进行恢复,得到与所述正常模式对应的恢复后的正常内核引导程序;
将下一次启动模式设置为正常模式;
将所述第一监控参数和所述第二监控参数均恢复至初始值,并启动下一次开机引导程序;
在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式的步骤。
在一种实施方式中,所述装置还包括:
第二开机启动模块606,用于在启动与所述正常模式对应的正常内核引导程序之后,若确定内核引导程序启动失败,则启动下一次开机引导程序;
在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式。
在一种实施方式中,所述系统启动模块604,用于根据以下步骤启动与所述当前次启动模式对应的系统程序:
在对所述第二监控参数执行减1操作之后,判断所述第二监控参数的当前值是否为0;
若判断出所述第二监控参数的当前值不为0,则启动与所述正常模式对应的系统程序。
在一种实施方式中,所述系统启动模块604,还用于根据以下步骤启动与所述当前次启动模式对应的系统程序:
若判断出所述第二监控参数的当前值为0,则从非易失性存储模块中读取第三监控参数;所述第三监控参数用于指示Recovery恢复模式的降级类型;
根据所述第三监控参数,将下一次启动模式设置为与所述降级类型对应的Recovery恢复模式;
启动与所述Recovery恢复模式对应的下一次开机引导程序。
实施例三
本申请实施例还提供了一种电子设备,如图7所示,为本申请实施例提供的电子设备的结构示意图,包括:处理器701、存储介质702和总线703。存储介质702存储有处理器701可执行的机器可读指令(比如,图6中的应用于操作系统启动的装置中第一读取模块601、内核启动模块602、第二读取模块603以及系统启动模块604对应的执行指令等),当电子设备运行时,处理器701与存储介质702之间通过总线703通信,机器可读指令被处理器701执行时执行以下指令:
在确定当前次开机引导程序成功启动之后,从非易失性存储模块中读取第一监控参数;所述第一监控参数用于指示允许内核启动失败的次数;
根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序;
在确定内核引导程序成功启动之后,从所述非易失性存储模块中读取第二监控参数;所述第二监控参数用于指示允许系统启动失败的次数;
根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序。
在一种实施方式中,上述处理器701执行的指令中,所述根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序,包括:
判断当前次启动模式是否为Recovery恢复模式;
若判断出所述当前次启动模式为Recovery恢复模式,则启动与所述Recovery恢复模式对应的恢复内核引导程序;
若判断出所述当前次启动模式为正常模式,则在对所述第一监控参数执行减1操作之后,判断所述第一监控参数的当前值是否为0;
若判断出所述第一监控参数的当前值非0,则启动与所述正常模式对应的正常内核引导程序。
在一种实施方式中,所述根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序,上述处理器701执行的指令还包括:
若判断出所述第一监控参数的当前值为0,则将所述当前次启动模式设置为Recovery恢复模式,并启动与所述Recovery恢复模式对应的恢复内核引导程序。
在一种实施方式中,在启动与所述Recovery恢复模式对应的恢复内核引导程序之后,上述处理器701执行的指令还包括:
根据启动所述恢复内核引导程序所采用的启动参数,对与所述正常模式对应的正常内核引导程序进行恢复,得到与所述正常模式对应的恢复后的正常内核引导程序;
将下一次启动模式设置为正常模式;
将所述第一监控参数和所述第二监控参数均恢复至初始值,并启动下一次开机引导程序;
在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式的步骤。
在一种实施方式中,在启动与所述正常模式对应的正常内核引导程序之后,上述处理器701执行的指令还包括:
若确定内核引导程序启动失败,则启动下一次开机引导程序;
在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式。
在一种实施方式中,上述处理器701执行的指令中,所述根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序,包括:
在对所述第二监控参数执行减1操作之后,判断所述第二监控参数的当前值是否为0;
若判断出所述第二监控参数的当前值不为0,则启动与所述正常模式对应的系统程序。
在一种实施方式中,所述根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序,上述处理器701执行的指令还包括:
若判断出所述第二监控参数的当前值为0,则从非易失性存储模块中读取第三监控参数;所述第三监控参数用于指示Recovery恢复模式的降级类型;
根据所述第三监控参数,将下一次启动模式设置为与所述降级类型对应的Recovery恢复模式;
启动与所述Recovery恢复模式对应的下一次开机引导程序。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器701运行时执行如实施例一所述的应用于操作系统启动的方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使响应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种应用于操作系统启动的方法,其特征在于,所述方法包括:
在确定当前次开机引导程序成功启动之后,从非易失性存储模块中读取第一监控参数;所述第一监控参数用于指示允许内核启动失败的次数;
根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序;
在确定内核引导程序成功启动之后,从所述非易失性存储模块中读取第二监控参数;所述第二监控参数用于指示允许系统启动失败的次数;
根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序,包括:
判断当前次启动模式是否为Recovery恢复模式;
若判断出所述当前次启动模式为Recovery恢复模式,则启动与所述Recovery恢复模式对应的恢复内核引导程序;
若判断出所述当前次启动模式为正常模式,则在对所述第一监控参数执行减1操作之后,判断所述第一监控参数的当前值是否为0;
若判断出所述第一监控参数的当前值非0,则启动与所述正常模式对应的正常内核引导程序。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序,还包括:
若判断出所述第一监控参数的当前值为0,则将所述当前次启动模式设置为Recovery恢复模式,并启动与所述Recovery恢复模式对应的恢复内核引导程序。
4.根据权利要求3所述的方法,其特征在于,在启动与所述Recovery恢复模式对应的恢复内核引导程序之后,还包括:
根据启动所述恢复内核引导程序所采用的启动参数,对与所述正常模式对应的正常内核引导程序进行恢复,得到与所述正常模式对应的恢复后的正常内核引导程序;
将下一次启动模式设置为正常模式;
将所述第一监控参数和所述第二监控参数均恢复至初始值,并启动下一次开机引导程序;
在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式的步骤。
5.根据权利要求2所述的方法,其特征在于,在启动与所述正常模式对应的正常内核引导程序之后,还包括:
若确定内核引导程序启动失败,则启动下一次开机引导程序;
在确定下一次开机引导程序成功启动之后,循环执行判断下一次启动模式是否为Recovery恢复模式。
6.根据权利要求1所述的方法,其特征在于,所述根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序,包括:
在对所述第二监控参数执行减1操作之后,判断所述第二监控参数的当前值是否为0;
若判断出所述第二监控参数的当前值不为0,则启动与所述正常模式对应的系统程序。
7.根据权利要求6所述的方法,其特征在于,所述根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序,还包括:
若判断出所述第二监控参数的当前值为0,则从非易失性存储模块中读取第三监控参数;所述第三监控参数用于指示Recovery恢复模式的降级类型;
根据所述第三监控参数,将下一次启动模式设置为与所述降级类型对应的Recovery恢复模式;
启动与所述Recovery恢复模式对应的下一次开机引导程序。
8.一种应用于操作系统启动的装置,其特征在于,所述装置包括:
第一读取模块,用于在确定当前次开机引导程序成功启动之后,从非易失性存储模块中读取第一监控参数;所述第一监控参数用于指示允许内核启动失败的次数;
内核启动模块,用于根据所述第一监控参数,启动与当前次启动模式对应的内核引导程序;
第二读取模块,用于在确定内核引导程序成功启动之后,从所述非易失性存储模块中读取第二监控参数;所述第二监控参数用于指示允许系统启动失败的次数;
系统启动模块,用于根据所述第二监控参数,启动与所述当前次启动模式对应的系统程序。
9.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1至7任一所述应用于操作系统启动的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述应用于操作系统启动的方法的步骤。
CN201911204971.7A 2019-11-29 2019-11-29 应用于操作系统启动的方法、装置、电子设备及存储介质 Active CN110908722B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911204971.7A CN110908722B (zh) 2019-11-29 2019-11-29 应用于操作系统启动的方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911204971.7A CN110908722B (zh) 2019-11-29 2019-11-29 应用于操作系统启动的方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110908722A true CN110908722A (zh) 2020-03-24
CN110908722B CN110908722B (zh) 2021-01-12

Family

ID=69820857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911204971.7A Active CN110908722B (zh) 2019-11-29 2019-11-29 应用于操作系统启动的方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN110908722B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814118A (zh) * 2020-07-08 2020-10-23 广东小天才科技有限公司 一种防破解方法及家教机
CN113626059A (zh) * 2021-10-13 2021-11-09 北京创米智汇物联科技有限公司 系统升级方法、摄像机及计算机可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101329631A (zh) * 2007-06-21 2008-12-24 大唐移动通信设备有限公司 一种嵌入式系统自动检测和恢复启动的方法及装置
US20090066837A1 (en) * 2007-09-10 2009-03-12 Samsung Electronics Co., Ltd. Video apparatus, video system and method for upgrading software thereof
US7822963B2 (en) * 2007-06-05 2010-10-26 Hewlett-Packard Development Company, L.P. Remote computer operating system upgrade
CN103902399A (zh) * 2012-12-28 2014-07-02 华为技术有限公司 软件系统修复处理方法及装置
CN104063477A (zh) * 2014-06-30 2014-09-24 广东威创视讯科技股份有限公司 嵌入式系统启动异常的处理方法及装置
CN109471670A (zh) * 2018-12-21 2019-03-15 迈普通信技术股份有限公司 设备启动方法及电子设备
CN109992453A (zh) * 2019-04-30 2019-07-09 Oppo广东移动通信有限公司 系统恢复方法及相关产品
US20190243637A1 (en) * 2019-03-29 2019-08-08 Intel Corporation Runtime firmware activation for memory devices

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822963B2 (en) * 2007-06-05 2010-10-26 Hewlett-Packard Development Company, L.P. Remote computer operating system upgrade
CN101329631A (zh) * 2007-06-21 2008-12-24 大唐移动通信设备有限公司 一种嵌入式系统自动检测和恢复启动的方法及装置
US20090066837A1 (en) * 2007-09-10 2009-03-12 Samsung Electronics Co., Ltd. Video apparatus, video system and method for upgrading software thereof
CN103902399A (zh) * 2012-12-28 2014-07-02 华为技术有限公司 软件系统修复处理方法及装置
CN104063477A (zh) * 2014-06-30 2014-09-24 广东威创视讯科技股份有限公司 嵌入式系统启动异常的处理方法及装置
CN109471670A (zh) * 2018-12-21 2019-03-15 迈普通信技术股份有限公司 设备启动方法及电子设备
US20190243637A1 (en) * 2019-03-29 2019-08-08 Intel Corporation Runtime firmware activation for memory devices
CN109992453A (zh) * 2019-04-30 2019-07-09 Oppo广东移动通信有限公司 系统恢复方法及相关产品

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111814118A (zh) * 2020-07-08 2020-10-23 广东小天才科技有限公司 一种防破解方法及家教机
CN113626059A (zh) * 2021-10-13 2021-11-09 北京创米智汇物联科技有限公司 系统升级方法、摄像机及计算机可读存储介质
CN113626059B (zh) * 2021-10-13 2022-02-08 北京创米智汇物联科技有限公司 系统升级方法、摄像机及计算机可读存储介质

Also Published As

Publication number Publication date
CN110908722B (zh) 2021-01-12

Similar Documents

Publication Publication Date Title
US9471435B2 (en) Information processing device, information processing method, and computer program
CN109634645B (zh) 固件升级方法及终端
CN109032632B (zh) 一种fota升级方法、无线通信终端及存储介质
CN106775610B (zh) 一种电子设备启动方法及一种电子设备
GB2466685A (en) Fault tolerant updating of firmware
CN110908722B (zh) 应用于操作系统启动的方法、装置、电子设备及存储介质
CN106775674B (zh) 一种基于通用引导加载程序的设备及其启动方法
CN109753299A (zh) 一种系统升级方法、装置以及计算机存储介质
CN113254048B (zh) 引导程序更新方法、装置、设备及计算机可读介质
CN108345464A (zh) 一种安卓系统的启动方法及安卓车机
CN109582332B (zh) 互联网摄像机的系统升级方法及装置
KR20080023841A (ko) 펌웨어 업그레이드와 손상된 펌웨어 자동 복구 시스템 및방법
WO2015184732A1 (zh) 引导程序的存储方法、故障恢复方法及设备、计算机存储介质
WO2018049798A1 (zh) 一种缓存分区重构的方法和装置
WO2021012170A1 (zh) 固件启动方法、设备及计算机可读存储介质
CN117130672A (zh) 服务器启动流程控制方法、系统、终端及存储介质
CN111273928A (zh) 一种自升级的bootloader设计方法
CN115951920A (zh) 移动设备升级方法、装置、存储单元和移动设备
CN114115958A (zh) 程序启动方法及终端设备
CN114995852A (zh) 一种设备升级方法、设备及计算机可读存储介质
CN113297010A (zh) 基于片上系统的固件恢复方法、装置、系统及存储介质
CN113778485A (zh) 电子芯片的系统运行方法、装置、电子芯片和存储介质
CN106611124A (zh) 计算机装置及其开机方法
CN112667444A (zh) 一种系统升级方法、存储介质及终端设备
CN111258617A (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