WO2022037014A1 - 一种arm服务器的启动修复方法及相关装置 - Google Patents
一种arm服务器的启动修复方法及相关装置 Download PDFInfo
- Publication number
- WO2022037014A1 WO2022037014A1 PCT/CN2021/073359 CN2021073359W WO2022037014A1 WO 2022037014 A1 WO2022037014 A1 WO 2022037014A1 CN 2021073359 W CN2021073359 W CN 2021073359W WO 2022037014 A1 WO2022037014 A1 WO 2022037014A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- value
- error counter
- startup
- boot
- preset threshold
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
- G06F11/0754—Error or fault detection not based on redundancy by exceeding limits
- G06F11/0757—Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1438—Restarting or rejuvenating
Definitions
- the present application relates to the technical field of servers, and in particular, to a startup repair method for an ARM server; and also to a startup repair device, device, and computer-readable storage medium for startup of an ARM server.
- the Quicksilver processor is a processor chip with 80 64-bit ARM (Advanced RISC Machines, advanced reduced instruction set machines) processor cores independently designed by Ampere using the V8 architecture authorized by ARM.
- SCP System Control Processor, system control processor
- firmware includes SMpro (System Management Program, system management program) and PMpro (Power Management Program, power management program) microcontroller management program, SMpro microcontroller provides the entire Management of the system, including the secure boot processing mechanism, managing processor clocks and restarts, system boot, power failure detection, and error handling.
- PMpro microcontrollers provide power management functions, including ACPI (Advanced Configuration and Power Interface) Pstate (Power state, power state) state control, dynamic regulation of voltage and frequency, dynamic power consumption evaluation and over temperature protection mechanisms, etc.
- ACPI Advanced Configuration and Power Interface
- Pstate Power state, power state
- the Quicksilver processor secure boot solution involves multiple modules such as SMpro, PMpro, ATF (ARM Trusted Firmware, ARM Trusted Firmware) and UEFI (Unified Extensible Firmware Interface, Unified Extensible Firmware Interface).
- the SMpro boot program follows the TBBR ( Transmission BufferBloat Request, buffer congestion demand transmission) standard protocol, carry out SLM (Source Library Maintenance, source library maintenance) header file security verification on the SEC phase and image files of SMpro, and only after the verification is successful, can continue to guide down to PMpro At the same time, PMpro will also follow the TBBR protocol specification of the ARM platform to perform the security verification of the SLM header file for the key and content of the PMpro. After the SCP firmware security boot verification is completed, the ATF program can be started.
- TBBR Transmission BufferBloat Request, buffer congestion demand transmission
- the ATF firmware includes BL1 (Boot Loader stage1 , Boot Loader stage 1), BL2 (Boot Loader stage2, Boot Loader stage 2), BL31 (Boot Loader stage3-1, Boot Loader stage 3-1), BL32 (Boot Loader stage3-2, Boot Loader stage 3-2), BL33 (Boot Loader stage 3-3, boot loader stage 3-3) and other stages, each stage also follows the ARM platform TBBR protocol for security verification, when the above security verification is completed, it can be in the BL33 stage Jump to UEFI (Unified Extensible Firmware Interface, Unified Extensible Firmware Interface) firmware to boot normally. Incorrect setting of processor core voltage, incorrect memory voltage setting, incorrect memory speed setting, and incorrect memory working mode setting will cause the system to fail to start normally, which will bring great difficulties to the batch deployment and application maintenance of ARM servers. big challenge.
- UEFI Unified Extensible Firmware Interface
- the purpose of this application is to provide a startup repair method for an ARM server, which can automatically repair the wrong settings of the ARM server and ensure that the server can be started normally.
- Another object of the present application is to provide an ARM server boot repair device, device and computer-readable storage medium, all of which have the above technical effects.
- the present application provides a startup repair method for an ARM server, including:
- the configuration information of the ARM processor is restored to the default setting, and after the configuration information of the ARM processor is restored to the default setting, the boot-up phase is restarted.
- the condition for triggering judgment as to whether the value of the error counter reaches the preset threshold is that any one of the startup boot phases in the startup process of the ARM server fails to execute and the corresponding watchdog timer exceeds the preset value.
- the boot-up phase includes:
- the changing the value of the error counter according to a preset rule includes:
- the value of the error counter is restored to the initial value.
- restoring the value of the error counter to an initial value including:
- the value of the error counter is restored to the initial value before the end of the UEFI phase.
- the present application also provides a device for repairing an ARM server, including:
- initialization module used to initialize the value of the error counter
- a judgment module used for judging whether the value of the error counter reaches a preset threshold whenever any one of the startup boot stages in the ARM server startup process fails to execute;
- a changing module configured to change the value of the error counter according to a preset rule and restart the boot-up phase if the preset threshold is not reached;
- a restoration module configured to restore the configuration information of the ARM processor to a default setting if the preset threshold is reached, and restart the bootstrap after restoring the configuration information of the ARM processor to a default setting stage.
- the present application also provides a boot repair device for an ARM server, including:
- the processor is configured to implement the steps of the ARM server startup repair method according to any one of the above when executing the computer program.
- the present application also provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the ARM described in any of the above is implemented. Steps for the Startup Repair method for the server.
- the startup repair method for an ARM server includes: initializing the value of an error counter; whenever any one of the startup boot phases in the startup process of the ARM server fails to execute, judging whether the value of the error counter reaches a preset threshold; If the preset threshold is not reached, the value of the error counter is changed according to the preset rule, and the boot-up phase is restarted; if the preset threshold is reached, the configuration information of the ARM processor is restored to Default settings, and after restoring the configuration information of the ARM processor to the default settings, restart the boot-up phase.
- the boot-repair apparatus, device and computer-readable storage medium for an ARM server provided by the present application all have the above technical effects.
- FIG. 1 is a schematic flowchart of a startup repair method for an ARM server provided by an embodiment of the present application
- FIG. 2 is a schematic diagram of a startup repair device for an ARM server provided by an embodiment of the present application
- FIG. 3 is a schematic diagram of a startup repair device for an ARM server provided by an embodiment of the present application.
- FIG. 4 is a schematic diagram of a computer-readable storage medium provided by an embodiment of the present application.
- the core of the present application is to provide a startup repair method for an ARM server, which can automatically repair the wrong settings of the ARM server and ensure that the server can be started normally.
- Another core of the present application is to provide a boot repair device, equipment and computer-readable storage medium for an ARM server, all of which have the above-mentioned technical effects.
- FIG. 1 is a schematic flowchart of an ARM server startup repair method provided by an embodiment of the present application. Referring to FIG. 1, the method mainly includes:
- the present application adds a counter, that is, an error counter, on the SMpro of the SCP firmware, and counts the number of restarts through the error counter.
- a counter that is, an error counter
- the SMpro of the SCP firmware initializes the value of the error counter, such as initializing the value of the error counter to zero.
- the booting phase includes a SMpro phase, a PMpro phase, an ATF phase, and a UEFI phase.
- the SMpro stage, the PMpro stage, the ATF stage, and the UEFI stage are executed sequentially. Specifically, if the execution of the SMpro stage is successful, it will lead down to the PMpro stage. Further, if the PMpro stage is successfully executed, the ATF stage is further executed, including BL1, BL2, BL31, BL32, BL33 and other stages. If the ATF stage is successfully executed, jump to the UEFI stage in the BL33 stage. Further, if the UEFI stage is successfully executed, the system is booted to the OS, that is, the operating system.
- the above startup and boot stages are executed normally in sequence, but after the configuration information is manually modified, one or more of the above boot and boot stages cannot be executed normally, thereby causing the ARM server to fail to start normally. Therefore, in the present application, whenever any one of the above startup and boot stages fails to execute, the SMpro firmware determines whether the value of the error counter reaches a preset threshold, and the preset threshold represents the maximum number of restarts, that is, the SMpro firmware determines whether the number of restarts reaches the threshold. Preset threshold.
- the preset threshold is 3.
- the above-mentioned condition for triggering judgment on whether the value of the error counter reaches the preset threshold is that any one of the startup boot phases in the startup process of the ARM server fails to execute and the corresponding watchdog timer exceeds the preset value. That is, whenever any one of the startup boot phases in the startup process of the ARM server fails and the corresponding watchdog timer exceeds the preset value, the SMpro firmware determines whether the value of the error timer reaches the preset threshold.
- the SMpro firmware determines whether the value of the error counter reaches the preset threshold.
- the SMpro firmware determines whether the value of the error counter reaches the preset threshold.
- the SMpro firmware determines whether the value of the error counter reaches the preset threshold.
- the UEFI stage fails to boot to the OS, the system cannot be booted normally, and the BMC's FRB-2 watchdog timer exceeds the preset value, the BMC informs the SMpro firmware that the UEFI stage fails to execute, and the SMpro firmware judges incorrectly. Whether the value of the counter reaches the preset threshold.
- the above-mentioned preset value can be set to any value greater than the power-on time.
- the value of the error counter is changed according to the preset rules, and the bootstrap stage is restarted, specifically restarting the first bootstrap stage, that is, restarting the SMpro stage. If the SMpro stage is successfully executed, Then, the PMpro stage is further automatically executed. If the PMpro stage is successfully executed, the ATF stage is further executed, and so on. After the restart, the operation of judging whether the value of the error counter reaches the preset threshold value will also be performed whenever any of the startup boot phases in the startup process of the ARM server fails and the corresponding watchdog timer exceeds the preset value.
- the above-mentioned changing the value of the error counter according to the preset rule includes: increasing the value of the error counter by one. Specifically, whenever any of the startup boot phases in the ARM server startup process fails, determine whether the value of the error counter reaches the preset threshold, if not, increment the value of the error counter by one, and restart the boot boot phase . In this way, the value of the error counter corresponds to the number of restarts, and when the number of restarts reaches the maximum value, the value of the error counter reaches the preset threshold.
- S104 If the preset threshold is reached, restore the configuration information of the ARM processor to the default setting, and restart the boot stage after restoring the configuration information of the ARM processor to the default setting.
- the backup NVRAM Non-Volatile Random Access Memory, non-volatile random access memory
- BIOS Basic Input/Output System
- the value of the error counter is incremented by one, and the preset threshold is equal to 3 as an example:
- the execution of the SMpro stage fails, judge whether the value of the error counter is 3. If the value of the error counter is 3, restore the configuration information of the ARM processor to the default setting; if the value of the error counter is not equal to 3, restart SMpro stage, and the value of the error counter is incremented by one; if the SMpro stage is successfully executed, the PMpro stage is further executed. If the execution of the PMpro stage fails, judge whether the value of the error counter is 3. If the value of the error counter is 3, restore the configuration information of the ARM processor to the default setting; if the value of the error counter is not equal to 3, restart SMpro stage, and the value of the error counter is incremented by one; if the PMpro stage is successfully executed, the ATF stage is further executed.
- the execution of the ATF stage fails, it is judged whether the value of the error counter is 3. If the value of the error counter is 3, the configuration information of the ARM processor is restored to the default setting; if the value of the error counter is not equal to 3, The SMpro stage is restarted, and the value of the error counter is incremented by one; if the ATF stage is successfully executed, the UEFI stage is further executed.
- the ARM server When the ARM server starts normally, restore the value of the error counter to the initial value. And it may specifically be restoring the value of the error counter to the initial value before the UEFI stage ends. That is, there is no problem in the UEFI stage, and before booting to the OS, restore the value of the error counter to the initial value, such as clearing the value of the error counter.
- the startup repair method for an ARM server includes: initializing the value of an error counter; whenever any one of the startup boot phases in the startup process of the ARM server fails to execute, judging whether the value of the error counter is not Reaching the preset threshold; if the preset threshold is not reached, the value of the error counter is changed according to the preset rule, and the startup boot stage is restarted; if the preset threshold is reached, the ARM processor The configuration information of the ARM processor is restored to the default setting, and after the configuration information of the ARM processor is restored to the default setting, the startup and booting stage is restarted.
- an error counter is added to count the number of restarts, and when the value of the error counter reaches a preset threshold, the configuration information of the ARM processor is restored to the default setting and restarted. Therefore, by restoring the configuration information of the ARM processor to the default settings, the ARM server can be guaranteed to start normally, and the problem that the ARM server cannot be started normally caused by artificial modification of the configuration information can be effectively solved.
- FIG. 2 is a schematic diagram of an apparatus for booting up an ARM server according to an embodiment of the present application.
- the apparatus includes:
- an initialization module 10 for initializing the value of the error counter
- the judgment module 20 is used for judging whether the value of the error counter reaches a preset threshold value whenever any one of the startup boot stages in the ARM server startup process fails to execute;
- the changing module 30 is used for changing the value of the error counter according to the preset rule and restarting the boot phase if the preset threshold is not reached;
- the restoring module 40 is configured to restore the configuration information of the ARM processor to the default setting if the preset threshold is reached, and restart the boot stage after restoring the configuration information of the ARM processor to the default setting.
- the booting phase includes: a SMpro phase, a PMpro phase, an ATF phase, and a UEFI phase.
- the condition for triggering the judgment of whether the value of the error counter reaches the preset threshold is that any one of the startup boot phases in the startup process of the ARM server fails to execute and the corresponding watchdog timer counts exceeds the preset value.
- the judging module 20 includes:
- the first judgment unit is used for judging whether the value of the error counter reaches the preset threshold when the execution of the SMpro stage fails and the timing of the watchdog timer of the SCP firmware exceeds the preset value;
- the second judgment unit is used to judge whether the value of the error counter reaches the preset threshold when the execution of the PMpro stage fails and the watchdog timer of the SCP firmware exceeds the preset value;
- the third judgment unit is used to judge whether the value of the error counter reaches the preset threshold when the execution of the ATF stage fails and the watchdog timer of the SCP firmware exceeds the preset value;
- the fourth judgment unit is configured to judge whether the value of the error counter reaches the preset threshold when the UEFI stage fails to execute and the FRB-2 watchdog timer of the BMC exceeds the preset value.
- the changing module 30 is specifically configured to increase the value of the error counter by one if the preset threshold is not reached, and restart the boot phase.
- the count value restoration module is used to restore the value of the error counter to the initial value after the ARM server starts normally.
- the count value restoration module is specifically configured to restore the value of the error counter to the initial value before the UEFI stage ends.
- the present application also provides a boot-repair device for an ARM server.
- the device includes a memory 1 and a processor 2 .
- the memory 1 is used to store the computer program;
- the processor 2 is used to execute the computer program to realize the following steps:
- the present application also provides a computer-readable storage medium 4. As shown in FIG. 4, a computer program 41 is stored on the computer-readable storage medium 4. When the computer program 41 is executed by the processor, the following steps can be implemented:
- the computer-readable storage medium may include: a USB flash drive, a removable hard disk, a read-only memory (Read-Only Memory, ROM), a random access memory (Random Access Memory, RAM), a magnetic disk or an optical disk, etc. that can store program codes medium.
- RAM random access memory
- ROM read only memory
- EEPROM electrically programmable ROM
- EEPly erasable programmable ROM registers
- hard disk hard disk
- removable disk CD-ROM (compact disk read only memory)
- CD-ROM compact disk read only memory
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
一种ARM服务器的启动修复方法,包括:初始化错误计数器的值(S101);每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断所述错误计数器的值是否达到预设阈值(S102);若没有达到所述预设阈值,则依据预设规则改变所述错误计数器的值,并重启所述启动引导阶段(S103);若达到所述预设阈值,则将所述ARM处理器的配置信息还原为默认设置,并在将所述ARM处理器的配置信息还原为默认设置后,重启所述启动引导阶段(S104)。该方法能够自动修复ARM服务器的错误设置,保证服务器能够正常启动。还公开了一种ARM服务器的启动修复装置、设备及计算机可读存储介质,均具有上述技术效果。
Description
本申请要求于2020年08月21日提交中国国家知识产权局,申请号为202010851698.3,发明名称为“一种ARM服务器的启动修复方法及相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及服务器技术领域,特别涉及一种ARM服务器的启动修复方法;还涉及一种ARM服务器启动的启动修复装置、设备以及计算机可读存储介质。
Quicksilver处理器是Ampere公司采用ARM公司授权V8架构自主设计的一款拥有80个64位ARM(Advanced RISC Machines,高级精简指令集机器)处理器内核的处理器芯片。其SCP(System Control Processor,***控制处理器)固件包含了SMpro(System Management Program,***管理程序)和PMpro(Power Management Program,电源管理程序)微控制器的管理程序,SMpro微控制器提供了整个***的管理,包括安全启动处理机制、管理处理器时钟和重启、***引导、电源失效侦测和错误处理。PMpro微控制器提供了电源管理功能,包括ACPI(Advanced Configuration and Power Interface,高级配置和电源接口)的Pstate(Power state,电源状态)状态控制、动态调节电压和频率、动态耗电评估及过温保护机制等。Quicksilver处理器安全启动方案涉及SMpro、PMpro、ATF(ARM Trusted Firmware,ARM受信任固件)及UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)等多个模块,SMpro引导程序遵循ARM平台的TBBR(Transmission BufferBloat Request,缓存拥塞需求传输)规范协议,对SMpro的SEC阶段及镜像文件进行SLM(Source Library Maintenance,源程序库维护)头文件安全校验,只有校验成功后方可继续向下引导到PMpro阶段,同时PMpro也会遵循ARM平台TBBR协议规范对 PMpro的密钥和内容进行SLM头文件安全校验,当SCP固件安全启动校验完毕后方可进行ATF程序启动,ATF固件包括BL1(Boot Loader stage1,引导装载程序阶段1)、BL2(Boot Loader stage2,引导装载程序阶段2)、BL31(Boot Loader stage3-1,引导装载程序阶段3-1)、BL32(Boot Loader stage3-2,引导装载程序阶段3-2)、BL33(Boot Loader stage3-3,引导装载程序阶段3-3)等阶段,每个阶段同样遵循ARM平台TBBR协议进行安全校验,当上述安全校验完成后即可在BL33阶段跳到UEFI(统一可扩展固件接口,Unified Extensible Firmware Interface)固件进行正常启动引导。当处理器核电压设置不正确、内存电压设置不正确、内存速率设置不正确及内存工作模式设置不正确等都会导致***无法正常启动,由此对ARM服务器的批量部署及应用维护带来了极大的挑战。
因此,如何自动修复ARM服务器的错误设置已成为本领域技术人员亟待解决的技术问题。
发明内容
本申请的目的是提供一种ARM服务器的启动修复方法,能够自动修复ARM服务器的错误设置,保证服务器能够正常启动。本申请的另一目的是提供一种ARM服务器的启动修复装置、设备以及计算机可读存储介质,均具有上述技术效果。
为解决上述技术问题,本申请提供了一种ARM服务器的启动修复方法,包括:
初始化错误计数器的值;
每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断所述错误计数器的值是否达到预设阈值;
若没有达到所述预设阈值,则依据预设规则改变所述错误计数器的值, 并重启所述启动引导阶段;
若达到所述预设阈值,则将所述ARM处理器的配置信息还原为默认设置,并在将所述ARM处理器的配置信息还原为默认设置后,重启所述启动引导阶段。
可选的,触发判断所述错误计数器的值是否达到预设阈值的条件为ARM服务器启动过程中的任意一个启动引导阶段执行失败且相应的看门狗计时器计时超出预设值。
可选的,所述启动引导阶段包括:
SMpro阶段、PMpro阶段、ATF阶段以及UEFI阶段。
可选的,每当ARM服务器启动过程中的任意一个启动引导阶段执行失败且相应的看门狗计时器计时超出预设值时,判断所述错误计数器的值是否达到预设阈值,包括:
当所述SMpro阶段执行失败且SCP固件的看门狗计时器计时超出所述预设值时,判断所述错误计数器的值是否达到所述预设阈值;
当所述PMpro阶段执行失败且所述SCP固件的看门狗计时器计时超出所述预设值时,判断所述错误计数器的值是否达到所述预设阈值;
当所述ATF阶段执行失败且所述SCP固件的看门狗计时器计时超出所述预设值时,判断所述错误计数器的值是否达到所述预设阈值;
当所述UEFI阶段执行失败且BMC(Baseboard Manager Controller,基板管理控制器)的FRB-2(fault-resilient booting,level 2,故障弹性引导,第2级)看门狗计时器计时超出所述预设值时,判断所述错误计数器的值是否达到所述预设阈值。
可选的,所述依据预设规则改变所述错误计数器的值,包括:
将所述错误计数器的值加一。
可选的,还包括:
当所述ARM服务器正常启动后,将所述错误计数器的值还原为初始值。
可选的,所述当所述ARM服务器正常启动后,将所述错误计数器的值还原为初始值,包括:
在所述UEFI阶段结束前将所述错误计数器的值还原为初始值。
为解决上述技术问题,本申请还提供了一种ARM服务器的修复装置,包括:
初始化模块,用于初始化错误计数器的值;
判断模块,用于每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断所述错误计数器的值是否达到预设阈值;
改变模块,用于若没有达到所述预设阈值,则依据预设规则改变所述错误计数器的值,并重启所述启动引导阶段;
还原模块,用于若达到所述预设阈值,则将所述ARM处理器的配置信息还原为默认设置,并在将所述ARM处理器的配置信息还原为默认设置后,重启所述启动引导阶段。
为解决上述技术问题,本申请还提供了一种ARM服务器的启动修复设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上任一项所述的ARM服务器的启动修复方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的ARM服务器的启动修复方法的步骤。
本申请所提供的ARM服务器的启动修复方法,包括:初始化错误计数器的值;每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断所述错误计数器的值是否达到预设阈值;若没有达到所述预设阈值,则依 据预设规则改变所述错误计数器的值,并重启所述启动引导阶段;若达到所述预设阈值,则将所述ARM处理器的配置信息还原为默认设置,并在将所述ARM处理器的配置信息还原为默认设置后,重启所述启动引导阶段。
可见,本申请所提供的ARM服务器的启动修复方法,增设错误计数器统计重启的次数,并当错误计数器的值达到预设阈值时,将ARM处理器的配置信息还原为默认设置,并重新启动。由此,通过将ARM处理器的配置信息还原为默认设置,可以保障ARM服务器正常启动,有效解决了人为修改配置信息而导致的ARM服务器无法正常启动的问题。
本申请所提供的ARM服务器的启动修复装置、设备以及计算机可读存储介质均具有上述技术效果。
为了更清楚地说明本申请实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种ARM服务器的启动修复方法的流程示意图;
图2为本申请实施例所提供的一种ARM服务器的启动修复装置的示意图;
图3为本申请实施例所提供的一种ARM服务器的启动修复设备的示意图;
图4为本申请实施例所提供的一种计算机可读存储介质的示意图。
本申请的核心是提供一种ARM服务器的启动修复方法,能够自动修复ARM服务器的错误设置,保证服务器能够正常启动。本申请的另一核心是提供一种ARM服务器的启动修复装置、设备以及计算机可读存储介质,均具有 上述技术效果。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种ARM服务器的启动修复方法的流程示意图,参考图1所示,该方法主要包括:
S101:初始化错误计数器的值;
具体的,本申请在SCP固件的SMpro上增设一个计数器,即错误计数器,并通过此错误计数器来统计重启次数。其中,ARM服务器在上电或冷重启时,SCP固件的SMpro将此错误计数器的值初始化,如将错误计数器的值初始化为零。
S102:每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断错误计数器的值是否达到预设阈值;
具体的,启动引导阶段包括SMpro阶段、PMpro阶段、ATF阶段以及UEFI阶段。SMpro阶段、PMpro阶段、ATF阶段以及UEFI阶段依次执行。具体而言,若SMpro阶段执行成功,则向下引导到PMpro阶段。进一步,若PMpro阶段执行成功,则进一步执行ATF阶段,包括BL1、BL2、BL31、BL32、BL33等阶段。若ATF阶段执行成功,则在其中的BL33阶段跳到UEFI阶段。进一步,若UEFI阶段执行成功,则引导至OS即操作***。
正常情况下,上述各启动引导阶段依次正常执行,而在人为修改配置信息后,上述各启动引导阶段中的一个或多个无法正常执行,进而导致ARM服务器无法正常启动。由此,本申请每当上述各启动引导阶段中的任意一个执 行失败时,SMpro固件判断错误计数器的值是否达到预设阈值,预设阈值表征最大重启次数,即SMpro固件判断重启的次数是否达到预设阈值。
其中,对于上述预设阈值的具体数值,本申请不做唯一限定,可以根据实际需要进行差异性设置。例如,预设阈值为3。
另外,上述触发判断所述错误计数器的值是否达到预设阈值的条件为ARM服务器启动过程中的任意一个启动引导阶段执行失败且相应的看门狗计时器计时超出预设值。即每当ARM服务器启动过程中的任意一个启动引导阶段执行失败且相应的看门狗计时器计时超出预设值时,SMpro固件判断错误计时器的值是否达到预设阈值。
进一步,上述每当ARM服务器启动过程中的任意一个启动引导阶段执行失败且相应的看门狗计时器计时超出预设值时,判断错误计数器的值是否达到预设阈值,包括:
当SMpro阶段执行失败且SCP固件的看门狗计时器计时超出预设值时,判断错误计数器的值是否达到预设阈值;
当PMpro阶段执行失败且SCP固件的看门狗计时器计时超出预设值时,判断错误计数器的值是否达到预设阈值;
当ATF阶段执行失败且SCP固件的看门狗计时器计时超出预设值时,判断错误计数器的值是否达到预设阈值;
当UEFI阶段执行失败且BMC的FRB-2看门狗计时器计时超出预设值时,判断错误计数器的值是否达到预设阈值。
具体而言,当SMpro阶段执行失败未能正常引导到PMpro阶段,导致无法正常开机,并且SCP固件的看门狗计时器计时超出预设值时,SMpro固件判断错误计数器的值是否达到预设阈值。当PMpro阶段执行失败未能正常引导到ATF阶段,导致无法正常开机,并且SCP固件的看门狗计时器计时超出预设值时,SMpro固件判断错误计数器的值是否达到预设阈值。当ATF阶段执行失败 未能正常引导到UEFI阶段,导致无法正常开机,并且SCP固件的看门狗计时器计时超出预设值时,SMpro固件判断错误计数器的值是否达到预设阈值。当UEFI阶段执行失败未能正常引导到OS,导致***无法正常开机,并且BMC的FRB-2看门狗计时器计时超出预设值时,BMC通知SMpro固件UEFI阶段执行失败,进而SMpro固件判断错误计数器的值是否达到预设阈值。其中,上述预设值可设置为大于开机时间的任意值。
S103:若未达到预设阈值,则依据预设规则改变所述错误计数器的值,并重启启动引导阶段;
具体的,若错误计数器的值没有达到预设阈值,则依据预设规则改变错误计数器的值,并重启启动引导阶段,具体重启首个启动引导阶段,即重启SMpro阶段,若SMpro阶段执行成功,则进一步自动执行PMpro阶段,若PMpro阶段执行成功,则进一步执行ATF阶段,依次类推。重启后,同样会执行每当ARM服务器启动过程中的任意一个启动引导阶段执行失败且相应的看门狗计时器计时超出预设值时,判断错误计数器的值是否达到预设阈值的操作。
其中,在一种具体的实施方式中,上述依据预设规则改变错误计数器的值,包括:将错误计数器的值加一。具体而言,每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断错误计数器的值是否达到预设阈值,若没有达到,则将错误计数器的值加一,并重启启动引导阶段。如此,错误计数器的值与重启的次数相对应,当重启的次数达到最大值时,错误计数器的值达到预设阈值。
S104:若达到预设阈值,则将ARM处理器的配置信息还原为默认设置,并在将ARM处理器的配置信息还原为默认设置后,重启启动引导阶段。
具体的,若达到预设阈值,则加载BIOS(Basic Input/Output System,基本输入/输出***)的备份NVRAM(Non-Volatile Random Access Memory,非易失随机存取存储器)参数,即将ARM处理器的配置信息还原为默认设置, 并在将ARM处理器的配置信息还原为默认设置后,重启启动引导阶段,以使ARM服务器能够正常启动。
以错误计数器的初始值为0,每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,将错误计数器的值加一,预设阈值等于3为例:
ARM服务器上电或冷启动后,将错误计数器的值初始化为零;
若SMpro阶段执行失败,则判断错误计数器的值是否为3,若错误计数器的值为3,则将ARM处理器的配置信息还原为默认设置;若错误记计数器的值不等于3,则重新启动SMpro阶段,并将错误计数器的值加一;若SMpro阶段执行成功,则进一步执行PMpro阶段。若PMpro阶段执行失败,则判断错误计数器的值是否为3,若错误计数器的值为3,则将ARM处理器的配置信息还原为默认设置;若错误记计数器的值不等于3,则重新启动SMpro阶段,并将错误计数器的值加一;若PMpro阶段执行成功,则进一步执行ATF阶段。同理,若ATF阶段执行失败,则判断错误计数器的值是否为3,若错误计数器的值为3,则将ARM处理器的配置信息还原为默认设置;若错误记计数器的值不等于3,则重新启动SMpro阶段,并将错误计数器的值加一;若ATF阶段执行成功,则进一步执行UEFI阶段。若ATF阶段执行失败,则判断错误计数器的值是否为3,若错误计数器的值为3,则将ARM处理器的配置信息还原为默认设置;若错误记计数器的值不等于3,则重新启动SMpro阶段,并将错误计数器的值加一;若UEFI阶段执行成功,则启动引导到OS。
进一步,在上述实施例的基础上,还包括:
当ARM服务器正常启动后,将错误计数器的值还原为初始值。且可具体为在UEFI阶段结束前将错误计数器的值还原为初始值。即在UEFI阶段执行无任何问题,并即将引导到OS前,将错误计数器的值还原为初始值,如将错误器的值清零。
综上所述,本申请所提供的ARM服务器的启动修复方法,包括:初始化错误计数器的值;每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断所述错误计数器的值是否达到预设阈值;若没有达到所述预设阈值,则依据预设规则改变所述错误计数器的值,并重启所述启动引导阶段;若达到所述预设阈值,则将所述ARM处理器的配置信息还原为默认设置,并在将所述ARM处理器的配置信息还原为默认设置后,重启所述启动引导阶段。该启动修复方法,增设错误计数器统计重启的次数,并当错误计数器的值达到预设阈值时,将ARM处理器的配置信息还原为默认设置,并重新启动。由此,通过将ARM处理器的配置信息还原为默认设置,可以保障ARM服务器正常启动,有效解决了人为修改配置信息而导致的ARM服务器无法正常启动的问题。
本申请还提供了一种ARM服务器的启动修复装置,下文描述的该装置可以与上文描述的方法相互对应参照。请参考图2,图2为本申请实施例所提供的一种ARM服务器的启动修复装置的示意图,结合图2所示,该装置包括:
初始化模块10,用于初始化错误计数器的值;
判断模块20,用于每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断错误计数器的值是否达到预设阈值;
改变模块30,用于若没有达到预设阈值,则依据预设规则改变错误计数器的值,并重启启动引导阶段;
还原模块40,用于若达到预设阈值,则将ARM处理器的配置信息还原为默认设置,并在将ARM处理器的配置信息还原为默认设置后,重启启动引导阶段。
在上述实施例的基础上,可选的,启动引导阶段包括:SMpro阶段、PMpro阶段、ATF阶段以及UEFI阶段。
在上述实施例的基础上,可选的,触发判断所述错误计数器的值是否达到预设阈值的条件为ARM服务器启动过程中的任意一个启动引导阶段执行失败且相应的看门狗计时器计时超出预设值。
在上述实施例的基础上,可选的,判断模块20包括:
第一判断单元,用于当SMpro阶段执行失败且SCP固件的看门狗计时器计时超出预设值时,判断错误计数器的值是否达到预设阈值;
第二判断单元,用于当PMpro阶段执行失败且SCP固件的看门狗计时器计时超出预设值时,判断错误计数器的值是否达到预设阈值;
第三判断单元,用于当ATF阶段执行失败且SCP固件的看门狗计时器计时超出预设值时,判断错误计数器的值是否达到预设阈值;
第四判断单元,用于当UEFI阶段执行失败且BMC的FRB-2看门狗计时器计时超出预设值时,判断错误计数器的值是否达到预设阈值。
在上述实施例的基础上,改变模块30具体用于若未达到预设阈值,则将错误计数器的值加一,并重启启动引导阶段。
在上述实施例的基础上,可选的,还包括:
计数值还原模块,用于当ARM服务器正常启动后,将错误计数器的值还原为初始值。
在上述实施例的基础上,可选的,计数值还原模块具体用于在UEFI阶段结束前将错误计数器的值还原为初始值。
本申请还提供了一种ARM服务器的启动修复设备,参考图3所示,该设备包括存储器1和处理器2。其中,存储器1,用于存储计算机程序;处理器2,用于执行计算机程序实现如下的步骤:
初始化错误计数器的值;每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断错误计数器的值是否达到预设阈值;若没有达到预 设阈值,则依据预设规则改变错误计数器的值,并重启启动引导阶段;若达到预设阈值,则将ARM处理器的配置信息还原为默认设置,并在将ARM处理器的配置信息还原为默认设置后,重启启动引导阶段。
对于本申请所提供的设备的介绍请参照上述方法实施例,本申请在此不做赘述。
本申请还提供了一种计算机可读存储介质4,如图4所示,该计算机可读存储介质4上存储有计算机程序41,计算机程序41被处理器执行时可实现如下的步骤:
初始化错误计数器的值;每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断错误计数器的值是否达到预设阈值;若没有达到预设阈值,则依据预设规则改变错误计数器的值,并重启启动引导阶段;若达到预设阈值,则将ARM处理器的配置信息还原为默认设置,并在将ARM处理器的配置信息还原为默认设置后,重启启动引导阶段。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本申请所提供的计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不做赘述。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备以及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示 例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM(光盘只读存储器)、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的技术方案进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围。
Claims (10)
- 一种ARM服务器的启动修复方法,其特征在于,包括:初始化错误计数器的值;每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断所述错误计数器的值是否达到预设阈值;若没有达到所述预设阈值,则依据预设规则改变所述错误计数器的值,并重启所述启动引导阶段;若达到所述预设阈值,则将所述ARM处理器的配置信息还原为默认设置,并在将所述ARM处理器的配置信息还原为默认设置后,重启所述启动引导阶段。
- 根据权利要求1所述的启动修复方法,其特征在于,所述启动引导阶段包括:SMpro阶段、PMpro阶段、ATF阶段以及UEFI阶段。
- 根据权利要求1所述的启动修复方法,其特征在于,触发判断所述错误计数器的值是否达到预设阈值的条件为:ARM服务器启动过程中的任意一个启动引导阶段执行失败且相应的看门狗计时器计时超出预设值。
- 根据权利要求2所述的启动修复方法,其特征在于,每当ARM服务器启动过程中的任意一个启动引导阶段执行失败且相应的看门狗计时器计时超出预设值时,判断所述错误计数器的值是否达到预设阈值,包括:当所述SMpro阶段执行失败且SCP固件的看门狗计时器计时超出所述预设值时,判断所述错误计数器的值是否达到所述预设阈值;当所述PMpro阶段执行失败且所述SCP固件的看门狗计时器计时超出所述预设值时,判断所述错误计数器的值是否达到所述预设阈值;当所述ATF阶段执行失败且所述SCP固件的看门狗计时器计时超出所述预设值时,判断所述错误计数器的值是否达到所述预设阈值;当所述UEFI阶段执行失败且BMC的FRB-2看门狗计时器计时超出所述预设值时,判断所述错误计数器的值是否达到所述预设阈值。
- 根据权利要求1所述的启动修复方法,其特征在于,所述依据预设规则改变所述错误计数器的值,包括:将所述错误计数器的值加一。
- 根据权利要求1所述的启动修复方法,其特征在于,还包括:当所述ARM服务器正常启动后,将所述错误计数器的值还原为初始值。
- 根据权利要求6所述的启动修复方法,其特征在于,所述当所述ARM服务器正常启动后,将所述错误计数器的值还原为初始值,包括:在所述UEFI阶段结束前将所述错误计数器的值还原为初始值。
- 一种ARM服务器的修复装置,其特征在于,包括:初始化模块,用于初始化错误计数器的值;判断模块,用于每当ARM服务器启动过程中的任意一个启动引导阶段执行失败时,判断所述错误计数器的值是否达到预设阈值;改变模块,用于若没有达到所述预设阈值,则依据预设规则改变所述错误计数器的值,并重启所述启动引导阶段;还原模块,用于若达到所述预设阈值,则将所述ARM处理器的配置信息还原为默认设置,并在将所述ARM处理器的配置信息还原为默认设置后,重启所述启动引导阶段。
- 一种ARM服务器的启动修复设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的ARM服务器的启动修复方法的步骤。
- 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的ARM服务器的启动修复方法的步骤。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010851698.3A CN112000508A (zh) | 2020-08-21 | 2020-08-21 | 一种arm服务器的启动修复方法及相关装置 |
CN202010851698.3 | 2020-08-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022037014A1 true WO2022037014A1 (zh) | 2022-02-24 |
Family
ID=73473974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/073359 WO2022037014A1 (zh) | 2020-08-21 | 2021-01-22 | 一种arm服务器的启动修复方法及相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112000508A (zh) |
WO (1) | WO2022037014A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000508A (zh) * | 2020-08-21 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种arm服务器的启动修复方法及相关装置 |
CN113032026A (zh) * | 2021-03-19 | 2021-06-25 | 山东英信计算机技术有限公司 | 一种服务器主板的固件管理方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100010390A (ko) * | 2008-07-22 | 2010-02-01 | 엘지전자 주식회사 | 마이크로컴퓨터와 마이크로컴퓨터의 제어방법 |
CN107038085A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种客户端应用的修复方法、装置及*** |
CN107844330A (zh) * | 2017-10-25 | 2018-03-27 | 郑州云海信息技术有限公司 | 一种增强arm服务器启动代码可靠性的方法与*** |
CN107894949A (zh) * | 2017-10-11 | 2018-04-10 | 五八有限公司 | 异常处理的方法、装置及设备 |
CN109783149A (zh) * | 2019-01-17 | 2019-05-21 | Oppo广东移动通信有限公司 | 开机控制方法、装置、移动终端以及存储介质 |
CN112000508A (zh) * | 2020-08-21 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种arm服务器的启动修复方法及相关装置 |
-
2020
- 2020-08-21 CN CN202010851698.3A patent/CN112000508A/zh not_active Withdrawn
-
2021
- 2021-01-22 WO PCT/CN2021/073359 patent/WO2022037014A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20100010390A (ko) * | 2008-07-22 | 2010-02-01 | 엘지전자 주식회사 | 마이크로컴퓨터와 마이크로컴퓨터의 제어방법 |
CN107038085A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种客户端应用的修复方法、装置及*** |
CN107894949A (zh) * | 2017-10-11 | 2018-04-10 | 五八有限公司 | 异常处理的方法、装置及设备 |
CN107844330A (zh) * | 2017-10-25 | 2018-03-27 | 郑州云海信息技术有限公司 | 一种增强arm服务器启动代码可靠性的方法与*** |
CN109783149A (zh) * | 2019-01-17 | 2019-05-21 | Oppo广东移动通信有限公司 | 开机控制方法、装置、移动终端以及存储介质 |
CN112000508A (zh) * | 2020-08-21 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种arm服务器的启动修复方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112000508A (zh) | 2020-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10534618B2 (en) | Auto bootloader recovery in BMC | |
US9946553B2 (en) | BMC firmware recovery | |
JP5575338B2 (ja) | 情報処理装置、情報処理方法、およびコンピュータプログラム | |
TWI754317B (zh) | 用於網路裝置之最佳啟動路徑之方法和系統 | |
TWI664574B (zh) | 唯讀記憶體之修補啟動碼的方法及系統單晶片 | |
US9880908B2 (en) | Recovering from compromised system boot code | |
US8918778B2 (en) | Method of fail safe flashing management device and application of the same | |
CN105917306B (zh) | 用于配置***固件配置数据的***和方法 | |
WO2022037014A1 (zh) | 一种arm服务器的启动修复方法及相关装置 | |
US20040158702A1 (en) | Redundancy architecture of computer system using a plurality of BIOS programs | |
WO2011075139A1 (en) | Methods and devices for updating firmware of a component using a firmware update application | |
WO2016206514A1 (zh) | 启动处理方法及装置 | |
BR112014014815B1 (pt) | Dispositivo de computação, método e meio de armazenamento para realização de cópia de segurança de firmware | |
CN103885847A (zh) | 一种基于嵌入式***的喂狗方法及装置 | |
US20090271660A1 (en) | Motherboard, a method for recovering the bios thereof and a method for booting a computer | |
TW201239759A (en) | BIOS update method and computer system for using the same | |
CN107766102B (zh) | 双基本输出入***(bios)的开机方法及具有其的电子装置 | |
US20220214945A1 (en) | System Booting Method and Apparatus, Node Device, and Computer-Readable Storage Medium | |
CN116932010A (zh) | ***固件升级方法、装置及服务器 | |
CN111090546A (zh) | 一种操作***重启方法、装置、设备及可读存储介质 | |
JP2005222366A (ja) | 自動復帰方法/プログラム/プログラム記録媒体、処理装置 | |
CN111078452A (zh) | 一种bmc固件镜像恢复方法与装置 | |
US9342392B2 (en) | Image forming apparatus, image forming apparatus control method, and recording medium | |
JP5585502B2 (ja) | 情報処理装置およびそのファームウェア更新方法 | |
TWI554876B (zh) | 節點置換處理方法與使用其之伺服器系統 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21857120 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21857120 Country of ref document: EP Kind code of ref document: A1 |