Firmware upgrading method and electronic device

By detecting the network connection status and PFR function status of the BMC and operating system, an adaptive upgrade process is adopted to solve the problem of low security in traditional BMC firmware upgrades, realizing safe and reliable firmware upgrades under different PFR states, and ensuring the stability and security of the server.

CN121561928BActive Publication Date: 2026-04-28INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
INSPUR SUZHOU INTELLIGENT TECH CO LTD
Filing Date
2026-01-22
Publication Date
2026-04-28

AI Technical Summary

Technical Problem

Traditional BMC firmware upgrades suffer from low security and reliability, lack encryption, and are vulnerable to attacks that could lead to server crashes.

Method used

By detecting the network connection status between the operating system and the control motherboard, the system determines the enabled status of the platform firmware elasticity function and performs firmware upgrades using the corresponding upgrade process in different states. This includes calling the corresponding upgrade process to refresh the image file when the PFR function is enabled, or directly refreshing the image file of the control motherboard when it is disabled.

Benefits of technology

It provides secure and reliable firmware upgrade scenarios under different PFR functional states, improving the security and reliability of firmware upgrades, preventing unauthorized intrusion and erroneous behavior, and ensuring the stable operation of the server.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121561928B_ABST
    Figure CN121561928B_ABST
Patent Text Reader

Abstract

The application discloses a firmware upgrading method and an electronic device. Configuration data is acquired. Based on the configuration data, network parameters of an operating system in a server and a control mainboard are configured, and a network connection state between the operating system and the control mainboard is detected. When the network connection state between the operating system and the control mainboard is in a connected state, an enabling state of a platform firmware elasticity function of the control mainboard is detected. When the enabling state indicates that the platform firmware elasticity function is in an open state, based on a firmware type of firmware to be upgraded, an upgrading process corresponding to the firmware type is called to refresh an image file corresponding to the firmware to be upgraded, so that firmware upgrading of the firmware to be upgraded is realized. When the enabling state indicates that the platform firmware elasticity function is in a non-open state, based on an image file of the control mainboard, a version of the control mainboard is refreshed, so that firmware upgrading of the control mainboard is realized.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of firmware upgrade technology, and in particular to firmware upgrade methods and electronic devices. Background Technology

[0002] In the information age, with the rapid development of artificial intelligence technology, the maturity of IoT technology and the breakthrough growth of AI technology are profoundly changing the development path of data center and server technologies. Traditional Baseboard Management Controller (BMC) firmware packaging simply adds header and tail checksums to the data in 64MB flash memory, ultimately forming an hpm format image. Therefore, during upgrades to the BMC or even other firmware within the server, the image file lacks any encryption, resulting in low security. Thus, improving the security and reliability of firmware upgrades has become a pressing issue. Summary of the Invention

[0003] This application provides a firmware upgrade method and electronic device to at least address the issue of how to improve the security and reliability of firmware upgrades.

[0004] This application provides a firmware upgrade method, including:

[0005] Obtain configuration data, which is used to configure network parameters;

[0006] Based on the configuration data, configure the network parameters of the operating system and the control motherboard in the server, and detect the network connection status between the operating system and the control motherboard;

[0007] When the network connection between the operating system and the control motherboard is detected to be in a connected state, the enabled state of the platform firmware elastic function of the control motherboard is detected.

[0008] When the enabled state indicates that the platform firmware elasticity function is enabled, based on the firmware type of the firmware to be upgraded, the upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded.

[0009] When the enabled state indicates that the platform firmware elasticity function is not enabled, the control motherboard version is refreshed based on the control motherboard image file to achieve firmware upgrade of the control motherboard.

[0010] This application also provides a firmware upgrade device, including:

[0011] The acquisition module is used to acquire configuration data, which is used to configure network parameters;

[0012] The processing module is used to configure the network parameters of the operating system and the control motherboard in the server based on the configuration data, and to detect the network connection status between the operating system and the control motherboard.

[0013] The processing module is also used to detect the enabled state of the platform firmware elastic function of the control motherboard when it is detected that the network connection between the operating system and the control motherboard is in a connected state.

[0014] The processing module is further configured to, when the enabled state indicates that the platform firmware elasticity function is enabled, call the upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded based on the firmware type of the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded.

[0015] The processing module is further configured to, when the enabled state indicates that the platform firmware elasticity function is not enabled, perform a refresh operation on the version of the control motherboard based on the image file of the control motherboard, so as to realize the firmware upgrade of the control motherboard.

[0016] This application also provides an electronic device, including: a memory for storing a computer program; and a processor for executing the computer program to implement the steps of any of the above firmware upgrade methods.

[0017] This application also provides a computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, implements the steps of any of the above-described firmware upgrade methods.

[0018] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of any of the above-described firmware upgrade methods.

[0019] This application obtains configuration data, which is used to configure network parameters. Based on the configuration data, the network parameters of the operating system and control motherboard in the server are configured, and the network connection status between the operating system and control motherboard is detected. When the network connection status between the operating system and control motherboard is detected to be connected, the enabled status of the platform firmware elasticity function of the control motherboard is detected. When the enabled status indicates that the platform firmware elasticity function is enabled, based on the firmware type of the firmware to be upgraded, the upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade. When the enabled status indicates that the platform firmware elasticity function is disabled, based on the image file of the control motherboard, the version of the control motherboard is refreshed to realize the firmware upgrade of the control motherboard. In this solution, methods for firmware upgrades when the PFR function is enabled and disabled are provided respectively, providing a safe and reliable upgrade scenario for firmware upgrades through the PFR function. Attached Figure Description

[0020] To more clearly illustrate the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0021] Figure 1 A flowchart of a firmware upgrade method provided in this application embodiment Figure 1 ;

[0022] Figure 2 A flowchart of a firmware upgrade method provided in this application embodiment Figure 2 ;

[0023] Figure 3 A structural diagram of a firmware upgrade device provided in an embodiment of this application;

[0024] Figure 4 This is a structural diagram of an electronic device provided in an embodiment of this application. Detailed Implementation

[0025] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of this application.

[0026] It should be noted that, in the description of this application, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., in this application are used to distinguish similar objects and are not used to describe a specific order or sequence.

[0027] It should be noted that in the embodiments of this application, the words "exemplary" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the words "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0028] In the information age, with the rapid development of artificial intelligence technology, the maturity of IoT technology and the breakthrough growth of AI technology are profoundly changing the development path of data center and server technology. With the widespread adoption of rack-mount server delivery models and the expansion of data center scale, server technology is facing unprecedented opportunities and challenges.

[0029] From early single-core processors to today's servers with hundreds of cores, computing density has increased exponentially—this is the evolution of multi-core architectures. Dedicated computing accelerators such as GPUs, FPGAs, and ASICs work in conjunction with traditional CPUs to optimize different workloads—this is the evolution of heterogeneous computing acceleration. New technologies such as liquid cooling and immersion cooling address high heat density—this is the innovative development of cooling technology.

[0030] The deployment model of rack-mount servers has gone through three stages: integrated design, modular management, and rapid deployment capability. The shift from a single-machine design to a rack-mount approach enabled unified planning of power, cooling, and network; to unified scheduling of rack resources through advanced Board Management Controllers (BMCs) and management software (such as OpenBMCs); and finally, to supporting the rapid deployment and business migration of large-scale servers.

[0031] OpenAI's ChatGPT, DALL-E, and text-based video technologies, along with the rise of domestic companies like DeepSeek, are leading a new wave of AI enthusiasm, which places entirely new demands on servers. As these technologies evolve rapidly, the importance of server security, especially infrastructure security, is becoming increasingly prominent.

[0032] There have been instances where viruses have bricked the firmware on IoT devices by flashing them over the network. This attack method is known as PDoS (Permanent denial-of-service attacks / phlashing). Compared to DDoS attacks that temporarily paralyze servers, this is a permanent hardware failure that requires a firmware update to recover. Therefore, security protection is of paramount importance.

[0033] The Server Management Console (BMC) is the core control unit of a server, a motherboard processor on an ARM architecture used to manage the server. OpenBMC is an open-source software architecture used to build a dedicated Linux system image for a complete BMC. OpenBMC employs a new type of boost ASIO technology, offering advantages over traditional BMC development such as modular programming, modular debugging, and asynchronous scheme management. In the server field, the BMC plays a crucial role as a core component in monitoring overall server performance, sensor monitoring (threshold sensors, discrete sensors), fault alarms, power consumption, logging (SEL / IDL logs, etc.), thermal management, component monitoring, BIOS interaction, KVM decoding, network configuration, and fault diagnosis. The BMC is the core component for users to deploy, diagnose, and manage servers, responsible for the interface between system management software and platform management hardware, providing functions such as autonomous monitoring, event logging, and recovery control. While the BMC is often narrowly understood as a separate management chip on the server motherboard, in a broader sense, it is a System-on-a-Chip (SoC) system. BMC does not depend on other system hardware, such as CPU, memory, hard drive, etc.; nor does it depend on other system software, such as BIOS, OS, CPLD, etc.

[0034] Before the introduction of PFR technology, traditional general-purpose BMC firmware simply packaged the entire BMC firmware by adding header and footer checksums to the 64MB flash data, ultimately forming an hpm format image. This image did not undergo any encryption processing and had a low level of security.

[0035] To enhance server infrastructure security, the industry has proposed a new approach to BMC firmware security: Platform Firmware Resilience (PFR) technology. This technology represents a BMC management mechanism that moves from passive protection to proactive detection and automatic recovery of BMC firmware security. Simultaneously, technological innovations driven by AI giants like OpenAI and DeepSeek are reshaping computing power demands, presenting both opportunities for server technology innovation and higher requirements for security protection. Against this backdrop, the deepening application of firmware security technologies such as PFR, the continued development of open-source management software (such as OpenBMC), and the application of AI technologies like neural networks to security protection will become crucial forces driving server technology advancement. The secure and reliable operation of servers is inseparable from the development and application of PFR technology.

[0036] The evolution of PFR technology has progressed from PFR3.0 in seventh-generation servers to PFR4.0 in eighth-generation servers. PFR 4.0 aims to protect platform assets, prevent unauthorized intrusion, detect malicious and erroneous behaviors that damage firmware, and restore the firmware to a healthy state. It protects the integrity of platform code and critical data from damage; it has mechanisms to detect when platform code and critical data are corrupted; and it can recover firmware code and critical data if critical data loss is detected.

[0037] PFR 4.0 is an upgrade from PFR 3.0: it uses SPDM 1.0 for CPU authentication on the I3C and removes ME WDT; it uses the I3C protocol for communication with the HOST MAILBOX; PFR supports SPDM 1.1 / 1.2; PFR uses AES-GCM-256 encryption; and the BMC, as the MCTP BRIDGE, enhances communication between the CPU and PFR.

[0038] Traditional BMC server in-band upgrade methods use the yafuflash tool, which is an in-band upgrade tool based on the amibmc platform and is not compatible with OpenBMC. Furthermore, the main upgrade steps of the yafuflash tool include firmware transfer. The yafuflash tool uploads the firmware to be upgraded to a specified path on the BMC via the USB 2.0 link layer. The BMC then executes the in-band upgrade command and triggers the upgrade action via IPMI commands. It can be seen that the transmission rate is relatively slow due to the USB 2.0 physical link. In addition, the traditional amibmc in-band upgrade tool yafuflash is not compatible with the OpenBMC platform; the traditional amibmc in-band upgrade tool yafuflash does not support in-band upgrade of PFR images on the OpenBMC platform.

[0039] In summary, to address all or part of the aforementioned technical problems, this application provides a firmware upgrade method and electronic device. The method involves acquiring configuration data for configuring network parameters; configuring the network parameters of the operating system and control motherboard in the server based on the configuration data, and detecting the network connection status between the operating system and the control motherboard; when the network connection status between the operating system and the control motherboard is detected as connected, detecting the enabled status of the platform firmware elasticity function (PFR) of the control motherboard; when the enabled status indicates that the PFR is enabled, based on the firmware type of the firmware to be upgraded, calling the upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded, thereby achieving firmware upgrade; when the enabled status indicates that the platform firmware elasticity function is disabled, based on the image file of the control motherboard, performing a refresh operation on the version of the control motherboard, thereby achieving firmware upgrade. This solution provides firmware upgrade methods for both enabled and disabled PFR functions, providing a safe and reliable upgrade scenario for firmware upgrades.

[0040] To enable those skilled in the art to better understand the present application, the present application will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0041] like Figure 1 As shown, Figure 1 A flowchart of a firmware upgrade method provided for embodiments of this application, the method may include the following steps:

[0042] 101. Obtain configuration data.

[0043] In this embodiment of the application, configuration data can be obtained, which can be used to configure network parameters.

[0044] It's important to note that firmware upgrades in a server require establishing a communication connection between the operating system and the control motherboard. The operating system can be an OS (Operating System), such as Windows or Linux. It's a computer program that manages computer hardware and software resources, providing users with an interface to interact with the computer hardware and managing various computer tasks and resource allocation. The control motherboard can be a BMC, an independent embedded system used to monitor and manage the server's hardware status, such as temperature, voltage, and fan speed, and can be remotely managed and controlled via a network.

[0045] 102. Based on the configuration data, configure the network parameters of the operating system and control motherboard in the server, and detect the network connection status between the operating system and control motherboard.

[0046] In this embodiment of the application, after obtaining the configuration data, the network parameters of the operating system and the control motherboard can be configured according to the configuration data, and a communication connection can be established between the operating system and the control motherboard after the network parameters are configured. In order to determine whether the communication connection between the operating system and the control motherboard has been successfully established, the network connection status between the operating system and the control motherboard can be detected.

[0047] It should be noted that the network parameters may include: IP address, idvendor and idproduct values, etc. Among them, idvendor represents the manufacturer ID of the device, which is managed and applied for by the USB device manufacturer from the USB-IF official. idproduct represents the product number produced by the manufacturer. Different idproducts under the same manufacturer represent different product series of the company.

[0048] 103. When the network connection between the operating system and the control motherboard is detected to be in a connected state, check the enabled status of the platform firmware elasticity function of the control motherboard.

[0049] In this embodiment of the application, when the network connection between the operating system and the control motherboard is detected to be in a connected state, it indicates that the communication connection between the operating system and the control motherboard has been established and data interaction and information transmission can be performed. Therefore, the enabled state of the platform firmware elastic function of the control motherboard can be detected.

[0050] It should be noted that the platform firmware elasticity function is the PFR function. The current control motherboard already has the PFR function. However, the PFR function can be enabled or disabled. The firmware upgrade steps may be different depending on the enabled state. Therefore, it is necessary to check the enabled state of the platform firmware elasticity function of the control motherboard.

[0051] 104. When the enabled status indicates that the platform firmware elasticity function is enabled, based on the firmware type of the firmware to be upgraded, the upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded.

[0052] In this embodiment of the application, when the enabled state indicates that the platform firmware elasticity function is in the enabled state, it means that the current PFR function is enabled. At this time, multiple firmwares can be upgraded. The firmware to be upgraded may include BMC, BIOS and CPLD. For different firmwares to be upgraded, different upgrade processes can be used to refresh the image file, thereby realizing the firmware upgrade of the firmware to be upgraded.

[0053] It should be noted that this upgrade process can be implemented through the underlying upgrade management service (commer update mgrservice).

[0054] 105. When the enabled status indicator platform firmware elasticity function is not enabled, the control motherboard version is refreshed based on the control motherboard image file to upgrade the control motherboard firmware.

[0055] In this embodiment of the application, when the enabled status indicates that the platform firmware elasticity function is not enabled, it means that the current PFR function is turned off. At this time, the BMC can be upgraded. Specifically, the firmware upgrade of the BMC can be achieved by directly refreshing the image file of the BMC.

[0056] In this embodiment, configuration data is acquired and used to configure network parameters. Based on the configuration data, the network parameters of the operating system and control motherboard in the server are configured, and the network connection status between the operating system and the control motherboard is detected. When the network connection status between the operating system and the control motherboard is detected to be connected, the enabled status of the platform firmware elastic function of the control motherboard is detected. When the enabled status indicates that the platform firmware elastic function is enabled, based on the firmware type of the firmware to be upgraded, the upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade. When the enabled status indicates that the platform firmware elastic function is disabled, based on the image file of the control motherboard, the version of the control motherboard is refreshed to realize the firmware upgrade of the control motherboard. In this solution, methods for upgrading firmware in the enabled and disabled states of the PFR function are provided respectively, providing a safe and reliable upgrade scenario for firmware upgrade through the PFR function.

[0057] like Figure 2 As shown, Figure 2 Another flowchart of a firmware upgrade method provided for embodiments of this application, the method may include the following steps:

[0058] 201. Obtain configuration data.

[0059] In this embodiment, the description of step 201 is the same as the detailed description of step 101 in the above embodiments, and will not be repeated in this embodiment.

[0060] 202. Write the configuration data to the server's default directory and load the configuration data.

[0061] In this embodiment of the application, during the process of configuring the network parameters of the operating system and the control motherboard according to the configuration data, the configuration data can be written into a preset directory of the server first. The preset directory can be the / sys / class / net directory, and the configuration data can be loaded in the preset directory.

[0062] In some embodiments, before writing the configuration data into a preset directory on the server, the method may further include: constructing a virtual network port corresponding to the control motherboard based on the control motherboard, and storing the virtual network port.

[0063] It should be noted that the BMC can be virtualized as a USB virtual network port. This virtual network can be stored in a preset directory. The BMC main control chip acts as a USB host, and the rndis_host driver module and USB Gadget driver can be configured directly in the embedded kernel system.

[0064] In some embodiments, writing configuration data into a preset directory of the server may specifically include: when a virtual network port corresponding to the control motherboard is detected in the preset directory of the server, writing configuration data into the preset directory of the server.

[0065] It should be noted that you can first check if there is a corresponding USB virtual network port under / sys / class / net, that is, check if the driver node of the BMC virtual network port has been loaded successfully. If the virtual network port corresponding to the control motherboard exists in the preset directory, it means that the driver node has been loaded successfully, and then the configuration data can be written to the preset directory of the server.

[0066] 203. Responding to the interface management commands of the control motherboard, the attribute data in the configuration data is read by controlling the motherboard.

[0067] In this embodiment, the interface management command can be an IPMI command action. This command can set attribute data through the BMC, and thus can respond to the interface management command of the BMC by reading the attribute data in the configuration data through the BMC. The attribute data can be a dbus attribute value, which is a specific representation of the dbus object status information and is used to describe the current state or configuration of the object. It can be read or modified, supports multiple data types, and is accessed and managed through a standardized interface.

[0068] 204. Configure the network parameters of the operating system and control motherboard in the server based on the attribute data.

[0069] In this embodiment of the application, after determining the attribute data, the network parameters of the operating system and control motherboard in the server can be configured according to the attribute data.

[0070] In some embodiments, configuring the network parameters of the operating system and the control motherboard in the server based on attribute data may specifically include: determining the attribute configuration signal of the control motherboard in response to the interface management command of the control motherboard; executing the driver node file on the control motherboard based on the attribute configuration signal; configuring the network address of the control motherboard based on the driver node file when the control motherboard is detected to be in an enabled state; configuring the network address of the operating system according to the network address of the control motherboard, wherein the network address of the control motherboard and the network address of the operating system are in the same network segment.

[0071] It's important to note that the OS provides an in-band upgrade script tool. First, the network configuration script is executed to obtain the BMC IP address. It first checks if a corresponding USB virtual network port exists under ` / sys / class / net`, essentially determining if the BMC virtual network port driver node has been successfully loaded. If the driver node is successfully loaded, the network rule configuration file for the BMC main control chip is copied to a fixed directory on the device. This configuration file includes the `idvendor` and `idproduct` values. These two attributes represent important descriptive members in the 18-byte USB device descriptor. `idvendor` represents the device's manufacturer ID, managed and applied for by the USB device manufacturer from the USB-IF. `idproduct` represents the product number produced by that manufacturer; different `idproduct` values ​​from the same manufacturer represent different product series from that company. Then, the rule file is re-entered.

[0072] After the USB rules file is reloaded, the IPMI command to enable the network device is executed on the BMC. This action sets the DBus attribute value on the BMC and manipulates the DBus attributes on the BMC side. These DBus attributes reside in the `phosphor-setting` service, a process under `OPENBMC`, whose main function is power-loss protection, ensuring that some parameters and attributes of the BMC do not change after a power outage and subsequent power-on. When the `Usb_network.service` receives a signal indicating a change in the DBus property set by the IPMI command to enable the network, it directly manipulates the corresponding USB port's driver node file, thereby enabling the virtual network device. After enabling the USB network adapter's node function, an IP address is set for the BMC. The BMC is then directly manipulated in the OS system using the `nmcli` tool, with the BMC IP address set to 192.168.1.10. Simultaneously, the OS also assigns an IP address to the BMC, within the same network segment.

[0073] In this embodiment of the application, when configuring network parameters based on configuration data, it can be ensured that the IP addresses of the control motherboard and the operating system are in the same network segment. This enables the communication connection between the control motherboard and the operating system to be successfully established and to transmit data accurately.

[0074] In some embodiments, this application can develop basic functions based on a bridge between the BMC system and the OS system. The BMC system virtualizes itself as a USB network port through the driver layer and actively assigns an IP address, such as 192.168.1.10. The OS provides a development tool to assign the OS's IP address to the same network segment as the BMC. This USB over Ethernet bridging method establishes a communication bridge between the BMC and the OS. Based on this, the BMC can provide tools for in-band upgrades of the BMCPFR under the OS.

[0075] The OPENBMC host chip acts as a USB host, and the rndis_host driver module and USB Gadget driver are directly configured in the embedded kernel system. The Gadget driver is the software framework for USB devices, used to configure devices as USB slaves and simulate specific USB functions, such as USB flash drives, simulated USB network adapters, simulated serial ports, mice, keyboards, etc. The underlying UDC driver controls the hardware operation of the USB controller, providing an interface for direct operation of the USB hardware. Through the SDK provided by the OPENBMC host chip, the core lies in the kernel driver USB 2.0 Virtual HubController Driver configuring the device tree. The host chip hardware provides a USB HUB virtual controller, which can peripherally expand multiple USB devices. Each assigned device has its own independent register address space, and the hardware supports multiple (21) programmable endpoints that can be allocated and used by each device. Each endpoint can be configured in the interrupt input / output control register.

[0076] The device tree configuration can include: device node name, register start and offset addresses, interrupt register address configuration, clock configuration, number of nodes configuration, and number of endpoints. After the kernel configuration is complete, a USB0 symbolic link node will be generated in the / sys / class / net / path under the BMC system. At this point, using the ifconfig command on the BMC system side will reveal the USB0 device on the network.

[0077] 205. Detect the network connection status between the operating system and the control motherboard.

[0078] 206. When the network connection between the operating system and the control motherboard is detected to be in a connected state, the register data in the server is read through the preset management bus protocol.

[0079] 207. Based on the register data, determine the enabled status of the platform firmware elastic function controlling the motherboard.

[0080] In this embodiment of the application, when the network connection between the operating system and the control motherboard is detected to be in a connected state, it is necessary to determine the enabled state of the platform firmware elastic function of the control motherboard. The enabled state can be determined from the register data. Therefore, the register data in the server can be read through a preset management bus protocol, which can be the SMBus protocol. The enabled state of the current platform firmware elastic function is determined based on the register data.

[0081] 208. When the enabled status indicator shows that the platform firmware elasticity function is enabled, obtain the upgrade configuration parameters.

[0082] In this embodiment of the application, when the enabled state indicates that the platform firmware elastic function is in the enabled state, the upgrade configuration parameters required for firmware upgrade can be obtained first. Since the upgrade process is different for different firmware, the upgrade configuration parameters can at least include the firmware type of the firmware to be upgraded, and can also include: the absolute path of the image file, whether to retain the configuration, whether to refresh asynchronously, the area to be refreshed for PFR upgrade (the PFR upgrade area includes active / recovery or all, all means that both areas are PFR upgraded), etc.

[0083] 209. When the control motherboard is determined to be of platform firmware elastic type according to the upgrade configuration parameters, the upgrade process corresponding to the firmware type is called to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded.

[0084] In this embodiment of the application, the upgrade configuration parameters can also indicate the type of the control motherboard. When the control motherboard is a platform firmware elastic type, that is, when the BMC has PFR function, the image file corresponding to the firmware to be upgraded can be refreshed according to the firmware type of the firmware to be upgraded and the upgrade process corresponding to the firmware type. After the refresh is completed, the firmware upgrade of the firmware to be upgraded can be realized.

[0085] In some embodiments, a security check is required on the image file before refreshing it. That is, when the control motherboard is determined to be a platform firmware elastic type according to the upgrade configuration parameters, the upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade. Specifically, this may include: when the control motherboard is determined to be a platform firmware elastic type according to the upgrade configuration parameters, performing key detection on the image file corresponding to the firmware to be upgraded and obtaining the detection result; when the detection result indicates that the image file corresponding to the firmware to be upgraded is secure, the upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade.

[0086] It should be noted that the key can be the key carried in the image file. If the detection result indicates that the image file is secure, it means that the image file has not been tampered with. Then, the upgrade process corresponding to the firmware type can be called to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade. If the detection result indicates that the image file is insecure, it means that the image file has been tampered with or is incomplete, then no further operations will be performed.

[0087] In some embodiments, PFRCPLD uses a key to verify various types of data in the SPI FLASH, and a separate CSK is reserved before PFM and CAPSULE. In the event of key theft, key cancellation indicates that the key has been compromised and is no longer valid for signing data, generating a temporary key to resolve the issue. The root key is used to sign the CSK, and conversely, the CSK is used for updates. Its core principle is to encrypt the UFM area data using the root key, ensuring data security and reliability.

[0088] In some embodiments, the firmware to be upgraded may include at least: BMC, BIOS and CPLD. The upgrade methods for the three firmware will be described below.

[0089] In some embodiments, based on the firmware type of the firmware to be upgraded, an upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded. Specifically, it may include: when the firmware type of the firmware to be upgraded is a control motherboard, invoking the upgrade interface corresponding to the control motherboard according to preset response header parameters; uploading the image file of the control motherboard through the upgrade interface; and refreshing the image file through the upgrade process of the control motherboard, so as to realize the firmware upgrade of the control motherboard.

[0090] When the upgrade type is BMC, FIPS is disabled, triggering RedfishPatch commands for both configuration retention and non-configuration retention. Configuration retention is achieved by passing the data to the underlying dBus interface via the Redfish API. A GET REDFISH request is sent to retrieve the ETAG parameter of the upgrade service URL, and this ETAG parameter is then sent to the upgrade patch URL to ensure successful upgrade API calls. Next, the corresponding REDFISH URL interface is called to upload the image. Once the image upload is complete, the upgrade URL is called to initiate PFR image upgrade, passing the PFR upgrade parameters to the underlying upgrade service. The underlying upgrade management service (commer-update-mgr.service) calls the appropriate upgrade script based on the passed parameters, launching different upgrade processes to execute the upgrade method.

[0091] In some embodiments, based on the firmware type of the firmware to be upgraded, an upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded. Specifically, it may include: when the firmware type of the firmware to be upgraded is an input / output system, invoking the upgrade interface corresponding to the input / output system according to preset response header parameters; uploading the image file of the input / output system through the upgrade interface; and refreshing the image file through the upgrade process of the input / output system to realize the firmware upgrade of the input / output system.

[0092] When the upgrade type is BIOS, the calls to the REDFISH interface are the same, except that the parameters for setting the BIOS retained configuration are different from those of the BMC. When the PFR upgrade parameters are passed to the underlying upgrade service, the underlying upgrade service, based on the passed upgrade type being BIOS, will initiate the specific BIOS upgrade process to refresh the upgrade partition and trigger the PFR CPLD to perform the PFR BIOS upgrade.

[0093] In some embodiments, based on the firmware type of the firmware to be upgraded, an upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded. Specifically, it may include: when the firmware type of the firmware to be upgraded is a logic chip, refreshing the image file of the logic chip through the logic chip upgrade process, so as to realize the firmware upgrade of the logic chip.

[0094] When the upgrade type is PFRCPLD, the configuration upgrade parameters are not retained. First, the PFRCPLD image is uploaded, then the image update is triggered to refresh the image to the corresponding FLASH partition, and the upgrade command is issued to PFRCPLD. The specific upgrade actions are then handled by PFRCPLD.

[0095] In this embodiment, when the PFR function is enabled, firmware upgrades can be performed on the BMC, BIOS, and CPLD. Therefore, different upgrade methods can be used for different firmware to be upgraded. However, the common point is that the image file of the firmware to be upgraded is refreshed. This can improve the personalization of firmware upgrades and ensure that all types of firmware can be effectively and accurately upgraded in an appropriate manner.

[0096] In some embodiments, during the process of refreshing the image file, the firmware upgrade progress can be indicated based on the refresh progress. Therefore, based on the firmware type of the firmware to be upgraded, the upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded. Specifically, this may include: during the process of invoking the upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded, the refresh progress is monitored in real time; when the refresh progress reaches a preset progress value, the firmware upgrade of the firmware to be upgraded is confirmed to be complete.

[0097] It should be noted that the process of refreshing the image file is equivalent to the firmware upgrade process. Therefore, when the image file refresh progress is 100%, the firmware upgrade can be considered complete, and the preset progress value can be 100%.

[0098] In some embodiments, the upgrade process for the firmware to be upgraded needs to check the accuracy of the number of upgrade configuration parameters. If the number of parameters is incorrect, the subsequent operations are not performed, and the upgrade action is exited directly. If the number and parameter attributes are correct, the BMC network status is checked to ensure it is normal, specifically by determining if a virtual network interface exists under the ` / sys / class / net / ` path. If the network is abnormal, the corresponding configuration file is copied, and then the virtual network interface is reassigned an IP address and gateway. The number of parameters passed is checked. If the number is the number of parameters required for PFR upgrade, it is determined whether the current management board is a PFR management board. This is done by directly obtaining the PFRTYPE parameter type on the Redfish interface. The underlying mechanism for this type is reading the management board's SKU ID, which is essentially reading the PCA9555 I / O type of the SKU on the management board. This distinguishes whether the management board is PFR or non-PFR type. If it is a PFR upgrade type management board, the PFR upgrade script tool is called to upgrade the firmware.

[0099] 210. When the enabled status indicates that the platform firmware elasticity function is not enabled, write the preset environment variables into the preset directory of the server.

[0100] 211. Write the image file of the control motherboard to the corresponding directory of the control motherboard and refresh the image file to realize the firmware upgrade of the control motherboard.

[0101] In this embodiment, when the enabled status indicates that the platform firmware elasticity function is not enabled, the BMC firmware can be upgraded. First, it is determined whether the BMC has started normally and is running. Then, the necessary environment variables can be set, the SSH file can be copied to the / usr / local / bin / directory, and then the corresponding SSH file can be deleted. Next, the BMC image file can be copied to the directory / run / initramfs / image-bmc corresponding to OPENBMC, and the image file can be refreshed. After the execution is completed, the BMC can be restarted, and if the BMC runs normally after a period of time, the BMC upgrade is considered to be complete.

[0102] In some embodiments, the BMC upgrade result can also be verified. Specifically, after writing the image file of the control motherboard into the directory corresponding to the control motherboard and refreshing the image file, the process can also include: obtaining the target version of the refreshed control motherboard; when the target version is consistent with the preset expected version, confirming that the firmware upgrade of the control motherboard is complete.

[0103] It should be noted that the success of the upgrade can be verified by checking the specific BMC version. If the upgraded BMC version matches the expected version, it means that the current BMC version has been upgraded to the expected version, and the firmware upgrade is considered complete. If the upgraded BMC version does not match the expected version, the firmware upgrade is considered to have failed, and you should try to upgrade again or stop the upgrade.

[0104] In this embodiment, when the PFR function is not enabled, the BMC can be upgraded, and the version detection verifies whether the BMC upgrade is complete. This demonstrates the firmware upgrade method in multiple scenarios and improves the generalization capability of server firmware upgrade.

[0105] In some embodiments, to meet customer needs and ensure that the PFR management board can randomly switch between the enabled and disabled states of the PFR function, the BMC provides a random state switching tool, provider.py (which enables the PFR function through the BMC) and unprovison.py (which disables the PFR function through the BMC).

[0106] Communication between the BMC and PFR is via the SMBus protocol. The specific bridging address is address 0x38 on the I2C6 link, which is the communication mailbox address between the BMC and the PFR CPLD. This address primarily facilitates communication between the CPLD PFR and any entity on the platform that wishes to interact with the PFR CPLD (such as the BMC BIOS). The BMC and any entity wanting to communicate with the PFR CPLD can use this address to access the PFR operation registers and the NVRAM data cache area.

[0107] In some embodiments, when the enabled state indicates that the platform firmware elasticity function is in the enabled state, in response to a state switching command, the protected state of the platform firmware elasticity function is erased in the user flash partition of the server; the command triggering mode of the user flash partition is restored; and a power-down operation is performed on the control motherboard to adjust the platform firmware elasticity function to the disabled state.

[0108] It should be noted that, firstly, the UFM partition is directly operated through the i2c command to erase the current protection state; then, the command trigger mode of the UFM area is restored; finally, the BMC is powered down.

[0109] In some embodiments, when the enabled state indicates that the platform firmware elasticity function is disabled, in response to a state switching instruction, the protection state of the platform firmware elasticity function is erased in the user flash partition of the server; a preset root key is written to the user flash partition; and an execution command is executed on the user flash partition to enable the platform firmware elasticity function.

[0110] It should be noted that, firstly, the UFM partition is directly operated through the i2c command to erase the current protection state; then, the execution command on the UFM partition is triggered, including erasing and reading / writing data in the FIFO pipe; and then, the root key value, which is the preset root key stored in the PFR CPLD NVRAM, is written to the UFM partition; finally, the command is executed to bring the PFR into privilege state.

[0111] In this embodiment, the PFR function can be enabled or disabled according to user needs, allowing firmware upgrades to be performed at any time whether the function is enabled or disabled, effectively improving the security and reliability of firmware upgrades.

[0112] In some embodiments, when the PFR function is enabled, the firmware can be automatically detected and anomaly automatically investigated and handled. Therefore, after detecting the enabled state of the platform firmware elasticity function of the control motherboard when the network connection between the operating system and the control motherboard is detected to be in a connected state, the method further includes: when the enabled state indicates that the platform firmware elasticity function is enabled, detecting whether the data in the user flash space and / or configuration flash portion is abnormal; when anomalies are detected in the data in the user flash space and / or configuration flash portion, writing the backup recovery file stored in the backup space into the user flash space and / or configuration flash portion to recover the abnormal data in the user flash space and / or configuration flash portion.

[0113] It should be noted that the server's storage space includes user flash space (Unified Flow Management, UFM) and configuration flash portion (Core Flash Module, CFM). If there are abnormalities in the data in UFM and / or CFM, they can be automatically repaired through the PFR function. Specifically, the backup recovery file in the backup space can be written to UFM and / or CFM to replace the abnormal data.

[0114] In some embodiments, the application process of the PFR function may include: PFRCPLD enters the T-1 stage by setting the srst GPIO on the PFR FPGA. In the T-1 stage, the PFRCPLD is first checked to determine if the Active HW / FW is normal and whether the Recovery region needs to be upgraded. After the PFRCPLD is working normally, the Active FW of the BMC / PCH is then checked to determine if the Recovery region needs to be upgraded. If the Active FW of the BMC / PCH is normal, the system enters the T0 stage to start the BMC / PCH normally, and the WDT signal is used to determine if the startup is complete. If the startup fails, the system enters the T-1 stage for Recovery. To prevent malicious attacks, SPI whitelist instruction filtering continues in the T0 stage to protect the platform's FW security.

[0115] The CPLD Platform Rot uses the PFRCPLD hardware architecture, with the BMC as the server management unit and the PCH as the BIOS boot unit. It employs the SPI interface protocol to read data from the FLASH memory for firmware version recovery or update, and an SPI filter to filter unauthorized SPI commands. The Mailbox acts as a bridge for communication between the CPLD and the PCH / BMC, using the SMBus protocol to read and write various statuses from registers.

[0116] In some embodiments, the UFM may also include at least two partitions, where UFM0 is used to store provision information and the address ranges of each storage area (Active / Recovery / Staging) in flash. If provision is not enabled, the system will not run normally. UFM1 can be used to store the status of CPLD recovery update, where the first word is 0 and is updating, and all words are set to 1 after completion.

[0117] In some embodiments, CFM may also include at least two partitions, where CFM0 is used to store the FW and HW for recovery. If there is an exception and recovery is required upon power-up, the data in CFM0 will be used for execution, otherwise, it will quickly switch to CFM1. CFM1 is used to store the Active FW and HW, and the FW and HW in CFM1 are used during normal power-up.

[0118] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.

[0119] like Figure 3 As shown, embodiments of this application also provide a firmware upgrade device, which may include:

[0120] The acquisition module 301 is used to acquire configuration data, which is used to configure network parameters.

[0121] The processing module 302 is used to configure the network parameters of the operating system and the control motherboard in the server based on the configuration data, and to detect the network connection status between the operating system and the control motherboard.

[0122] The processing module 302 is also used to detect the enabled state of the platform firmware elastic function of the control motherboard when the network connection between the operating system and the control motherboard is detected to be in a connected state.

[0123] The processing module 302 is also used to, when the enabled status indicates that the platform firmware elasticity function is enabled, call the upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded, based on the firmware type of the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded.

[0124] The processing module 302 is also used to perform a firmware update operation on the control motherboard based on the image file of the control motherboard when the enabled status indicator platform firmware elasticity function is not enabled, so as to realize the firmware upgrade of the control motherboard.

[0125] In some embodiments, the processing module 302 is specifically used to write configuration data into a preset directory of the server and load the configuration data;

[0126] The processing module 302 is specifically used to respond to the interface management commands of the control motherboard and read the attribute data in the configuration data by controlling the motherboard;

[0127] The processing module 302 is specifically used to configure the network parameters of the operating system and control motherboard in the server based on the attribute data.

[0128] In some embodiments, the processing module 302 is specifically used to determine the attribute configuration signal of the control motherboard in response to the interface management command of the control motherboard;

[0129] Processing module 302 is specifically used to execute driver node files on the control motherboard based on attribute configuration signals;

[0130] The processing module 302 is specifically used to configure the network address of the control motherboard based on the driver node file when the control motherboard is detected to be in an enabled state.

[0131] The processing module 302 is specifically used to configure the network address of the operating system according to the network address of the control motherboard, and the network address of the control motherboard and the network address of the operating system are in the same network segment.

[0132] In some embodiments, the processing module 302 is further configured to construct a virtual network port corresponding to the control motherboard based on the control motherboard, and store the virtual network port;

[0133] The processing module 302 is also used to write configuration data into the server's preset directory when it detects that a virtual network port corresponding to the control motherboard exists in the server's preset directory.

[0134] In some embodiments, the acquisition module 301 is specifically used to acquire upgrade configuration parameters when the enabled state indicates that the platform firmware elasticity function is enabled. The upgrade configuration parameters include at least the firmware type of the firmware to be upgraded.

[0135] The processing module 302 is specifically used to, when the control motherboard is determined to be of platform firmware elastic type according to the upgrade configuration parameters, call the upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded.

[0136] In some embodiments, the processing module 302 is specifically used to perform key detection on the image file corresponding to the firmware to be upgraded when the control motherboard is determined to be a platform firmware elastic type according to the upgrade configuration parameters, and obtain the detection result.

[0137] The processing module 302 is specifically used to, when the detection result indicates that the image file corresponding to the firmware to be upgraded is safe, call the upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded.

[0138] In some embodiments, the processing module 302 is specifically used to call the upgrade interface corresponding to the control motherboard according to the preset response header parameters when the firmware type of the firmware to be upgraded is a control motherboard.

[0139] The processing module 302 is specifically used to upload the image file of the control motherboard through the upgrade interface;

[0140] The processing module 302 is specifically used to refresh the image file by controlling the motherboard's upgrade process, so as to control the firmware upgrade of the motherboard.

[0141] In some embodiments, the processing module 302 is specifically used to call the upgrade interface corresponding to the input / output system according to the preset response header parameters when the firmware type of the firmware to be upgraded is an input / output system.

[0142] The processing module 302 is specifically used to upload the image file of the input / output system through the upgrade interface;

[0143] The processing module 302 is specifically used to refresh the image file through the upgrade process of the input / output system in order to realize the firmware upgrade of the input / output system.

[0144] In some embodiments, the processing module 302 is specifically used to refresh the image file of the logic chip through the upgrade process of the logic chip when the firmware type of the firmware to be upgraded is a logic chip, so as to realize the firmware upgrade of the logic chip.

[0145] In some embodiments, the processing module 302 is specifically used to monitor the refresh progress in real time during the process of calling the upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded based on the firmware type of the firmware to be upgraded.

[0146] The processing module 302 is specifically used to confirm that the firmware upgrade of the firmware to be upgraded is complete when the refresh progress reaches the preset progress value.

[0147] In some embodiments, the processing module 302 is specifically used to write preset environment variables into a preset directory on the server when the enabled state indicates that the platform firmware elasticity function is not enabled.

[0148] The processing module 302 is specifically used to write the image file of the control motherboard into the directory corresponding to the control motherboard and refresh the image file to realize the firmware upgrade of the control motherboard.

[0149] In some embodiments, the acquisition module 301 is further configured to acquire the target version of the refreshed control motherboard;

[0150] The processing module 302 is also used to confirm that the firmware upgrade of the control motherboard is complete when the target version is consistent with the preset expected version.

[0151] In some embodiments, the processing module 302 is further configured to erase the protection state of the platform firmware elasticity function in the user flash partition of the server in response to a state switching instruction when the enabled state indicates that the platform firmware elasticity function is in the enabled state.

[0152] The processing module 302 is also used to restore the command triggering mode of the user flash partition;

[0153] The processing module 302 is also used to perform a power-down operation on the control motherboard so that the platform firmware elastic function is adjusted to an unenabled state.

[0154] In some embodiments, the processing module 302 is further configured to erase the protection state of the platform firmware elasticity function in the user flash partition of the server in response to a state switching instruction when the enabled state indicates that the platform firmware elasticity function is in an unenabled state.

[0155] Processing module 302 is also used to write the preset root key into the user flash memory partition;

[0156] The processing module 302 is also used to execute execution commands for the user flash partition so that the platform firmware elasticity function is enabled.

[0157] In some embodiments, the processing module 302 is further configured to detect whether the data in the user flash memory space and / or configuration flash memory portion is abnormal when the enabled state indicates that the platform firmware elasticity function is enabled.

[0158] The processing module 302 is further configured to, when detecting an anomaly in the data in the user flash space and / or configuration flash portion, write a backup recovery file stored in the backup space into the user flash space and / or configuration flash portion to recover the abnormal data in the user flash space and / or configuration flash portion.

[0159] In some embodiments, the processing module 302 is specifically used to read register data in the server through a preset management bus protocol when it detects that the network connection between the operating system and the control motherboard is in a connected state.

[0160] The processing module 302 is specifically used to determine the enabled status of the platform firmware elastic function of the control motherboard based on the register data.

[0161] In the embodiments of this application, the description of the features corresponding to the firmware upgrade device in the embodiments can be found in the relevant description of the firmware upgrade method in the embodiments, and will not be repeated here.

[0162] like Figure 4 As shown, embodiments of this application also provide an electronic device, including a memory 401 and a processor 402, wherein the memory 401 stores a computer program, and the processor 402 is configured to run the computer program to perform the steps in any of the firmware upgrade method embodiments described above.

[0163] Embodiments of this application also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the firmware upgrade method embodiments described above when running.

[0164] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.

[0165] Embodiments of this application also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the firmware upgrade method embodiments described above.

[0166] Embodiments of this application also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the firmware upgrade method embodiments described above.

[0167] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0168] The foregoing has provided a detailed description of the process monitoring of a storage system provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only intended to help understand the method and core ideas of this application. It should be noted that those skilled in the art can make various improvements and modifications to this application without departing from its principles, and these improvements and modifications also fall within the protection scope of the claims of this application.

Claims

1. A firmware upgrade method, characterized in that, The method includes: Obtain configuration data, which is used to configure network parameters; Based on the configuration data, configure the network parameters of the operating system and the control motherboard in the server, and detect the network connection status between the operating system and the control motherboard; When the network connection between the operating system and the control motherboard is detected to be in a connected state, the enabled state of the platform firmware elastic function of the control motherboard is detected. When the enabled state indicates that the platform firmware elasticity function is enabled, upgrade configuration parameters are obtained. The upgrade configuration parameters include at least the firmware type of the firmware to be upgraded. Based on the firmware type of the firmware to be upgraded, the upgrade process corresponding to the firmware type is called to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded. When the enabled state indicates that the platform firmware elasticity function is not enabled, the preset environment variables are written to the preset directory of the server; Write the image file of the control motherboard into the directory corresponding to the control motherboard, and refresh the image file to upgrade the firmware of the control motherboard.

2. The method according to claim 1, characterized in that, The configuration of the operating system and network parameters of the control motherboard in the server based on the configuration data includes: The configuration data is written to a preset directory on the server and then loaded. In response to the interface management command of the control motherboard, the attribute data in the configuration data is read through the control motherboard; Based on the attribute data, configure the network parameters of the operating system and control motherboard in the server.

3. The method according to claim 2, characterized in that, The step of configuring the network parameters of the operating system and control motherboard in the server based on the attribute data includes: In response to the interface management command of the control motherboard, determine the attribute configuration signal of the control motherboard; Based on the attribute configuration signal, the driver node file is executed on the control motherboard; When the control motherboard is detected to be in an enabled state, the network address of the control motherboard is configured based on the driver node file; Configure the network address of the operating system according to the network address of the control motherboard, wherein the network address of the control motherboard and the network address of the operating system are in the same network segment.

4. The method according to claim 2, characterized in that, Before writing the configuration data into the preset directory of the server, the method further includes: Based on the control motherboard, construct the virtual network port corresponding to the control motherboard and store the virtual network port; The step of writing the configuration data into the preset directory of the server includes: When the virtual network port corresponding to the control motherboard is detected in the preset directory of the server, the configuration data is written into the preset directory of the server.

5. The method according to claim 1, characterized in that, The step of invoking an upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded, based on the firmware type of the firmware to be upgraded, to achieve the firmware upgrade of the firmware to be upgraded, includes: When the control motherboard is determined to be a platform firmware elastic type according to the upgrade configuration parameters, the upgrade process corresponding to the firmware type is called to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded.

6. The method according to claim 5, characterized in that, When the control motherboard is determined to be of platform firmware elastic type according to the upgrade configuration parameters, the upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, thereby realizing the firmware upgrade of the firmware to be upgraded, including: When the control motherboard is determined to be a platform firmware elastic type according to the upgrade configuration parameters, a key detection is performed on the image file corresponding to the firmware to be upgraded, and the detection result is obtained. When the detection result indicates that the image file corresponding to the firmware to be upgraded is safe, based on the firmware type of the firmware to be upgraded, the upgrade process corresponding to the firmware type is invoked to refresh the image file corresponding to the firmware to be upgraded, so as to realize the firmware upgrade of the firmware to be upgraded.

7. The method according to claim 5, characterized in that, The process of invoking an upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded, based on the firmware type of the firmware to be upgraded, to achieve the firmware upgrade, includes: When the firmware type of the firmware to be upgraded is the control motherboard, the upgrade interface corresponding to the control motherboard is called according to the preset response header parameters; Upload the image file of the control motherboard through the upgrade interface; The image file is refreshed through the upgrade process of the control motherboard to achieve firmware upgrade of the control motherboard.

8. The method according to claim 5, characterized in that, The process of invoking an upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded, based on the firmware type of the firmware to be upgraded, to achieve the firmware upgrade of the firmware to be upgraded, includes: When the firmware type of the firmware to be upgraded is an input / output system, the upgrade interface corresponding to the input / output system is called according to the preset response header parameters; Upload the image file of the input / output system through the upgrade interface; The image file is refreshed through the upgrade process of the input / output system to achieve firmware upgrade of the input / output system.

9. The method according to claim 5, characterized in that, The process of invoking an upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded, based on the firmware type of the firmware to be upgraded, to achieve the firmware upgrade, includes: When the firmware type to be upgraded is a logic chip, the image file of the logic chip is refreshed through the upgrade process of the logic chip to realize the firmware upgrade of the logic chip.

10. The method according to claim 5, characterized in that, The process of invoking an upgrade process corresponding to the firmware type to refresh the image file corresponding to the firmware to be upgraded, based on the firmware type of the firmware to be upgraded, to achieve the firmware upgrade of the firmware to be upgraded, includes: During the process of refreshing the image file corresponding to the firmware to be upgraded by calling the upgrade process corresponding to the firmware type based on the firmware type to be upgraded, the refresh progress is monitored in real time. When the refresh progress reaches the preset progress value, the firmware upgrade of the firmware to be upgraded is confirmed to be complete.

11. The method according to claim 1, characterized in that, After writing the image file of the control motherboard to the directory corresponding to the control motherboard and refreshing the image file, the method further includes: Obtain the target version of the refreshed control motherboard; When the target version matches the preset expected version, the firmware upgrade of the control motherboard is confirmed to be complete.

12. The method according to claim 1, characterized in that, The method further includes: When the enabled state indicates that the platform firmware elasticity function is enabled, in response to the state switching command, the protection state of the platform firmware elasticity function is erased in the user flash partition of the server. Restore the command trigger mode of the user's flash partition; A power-down operation is performed on the control motherboard to disable the platform firmware's flexible functions.

13. The method according to claim 1, characterized in that, The method further includes: When the enabled state indicates that the platform firmware elasticity function is disabled, in response to the state switching command, the protection state of the platform firmware elasticity function is erased in the user flash partition of the server. Write the preset root key into the user flash memory partition; Execute the command targeting the user flash partition to enable the platform firmware elasticity function.

14. The method according to claim 1, characterized in that, When the network connection between the operating system and the control motherboard is detected to be in a connected state, after detecting the enabled state of the platform firmware elasticity function of the control motherboard, the method further includes: When the enabled state indicates that the platform firmware elasticity function is enabled, detect whether the data in the user flash memory space and / or configuration flash memory is abnormal; When an anomaly is detected in the data in the user flash space and / or the configuration flash portion, a backup recovery file stored in the backup space is written into the user flash space and / or the configuration flash portion to recover the abnormal data in the user flash space and / or the configuration flash portion.

15. The method according to claim 1, characterized in that, The step of detecting the enabled status of the platform firmware elasticity function of the control motherboard when the network connection between the operating system and the control motherboard is detected to be in a connected state includes: When the network connection between the operating system and the control motherboard is detected to be in a connected state, register data in the server is read through a preset management bus protocol; Based on the register data, determine the enabled status of the platform firmware elasticity function of the control motherboard.

16. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the steps of the firmware upgrade method as described in any one of claims 1 to 15.

Citation Information

Patent Citations

  • Firmware upgrading method and device and storage medium

    CN121209924A

  • Memory controllers for performing resilient firmware upgrades to a functioning memory

    US20080109647A1