A method and device for upgrading server firmware based on BMC integration
Through the integrated BMC upgrade method, the server firmware is automatically burned using external memory and configuration files, which solves the problem of cumbersome burning of server motherboards, improves production efficiency and speed, and simplifies the operation process.
Patent Information
- Application Number
- CN202411548095.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-01
- Publication Date
- 2025-01-10
- Estimated Expiration
- 2044-11-01
AI Technical Summary
During the production process of server motherboards, the burning of power firmware, BIOS and BMC is cumbersome, time-consuming and labor-intensive, affecting the delivery speed and efficiency. The existing technology requires manual burning, which is inefficient.
Using the integrated BMC upgrade method, firmware files are loaded through external memory (such as SD cards), file system is configured, and the burning process is automated. The burning thread is controlled by the BMC chip, and the power firmware is written using the IIC address information to provide indicator lights. Prompt for burn status.
It realizes automation of firmware burning, improves upgrade speed and efficiency, simplifies operations, reduces manpower and material consumption, and is suitable for R&D and production line production.
Smart Images

Figure CN119088424B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of server firmware maintenance, and in particular to a method and device for upgrading server firmware based on BMC integration. Background Art
[0002] In the process of producing server motherboards, it is necessary to burn the corresponding firmware files for the power supply firmware VR, basic input and output system BIOS, and baseboard management controller BMC. As the number of motherboards that need to be burned on the production line increases, the firmware burning work for the power supply firmware VR, basic input and output system BIOS, and baseboard management controller BMC on the server motherboard will become particularly cumbersome, which is not only time-consuming and labor-intensive, but also seriously affects the delivery speed and efficiency.
[0003] Specifically, the current power firmware VR burning is upgraded through a special baseboard management controller BMC firmware. The power firmware VR that needs to be burned is nested in the baseboard management controller BMC firmware code. If the power firmware VR needs to be replaced, it needs to be recompiled and burned as a special version of the baseboard management controller BMC firmware. This process will consume a lot of manpower and time. Summary of the invention
[0004] The present invention provides a method and device for upgrading server firmware based on BMC integration, aiming to solve at least one of the technical problems existing in the prior art.
[0005] The technical solution of the present invention is a method for upgrading server firmware based on BMC integration. The method for upgrading server firmware based on BMC integration is applied to a device for upgrading server firmware based on BMC integration. The device for upgrading server firmware based on BMC integration at least includes an external memory and a server. The server at least includes a mainboard and an external memory reading device connected to the mainboard. The mainboard is provided with a power firmware VR chip, a basic input and output system BIOS chip and a baseboard management controller BMC chip. The external memory is connected to the mainboard through the external memory reading device. The method comprises the following steps:
[0006] S100, after configuring the file system format of the external memory, loading the power firmware VR file, the basic input and output system BIOS firmware file and the baseboard management controller BMC firmware file used to upgrade the server firmware into the external memory;
[0007] S200, start the baseboard management controller BMC, and according to the configuration file information, burn the power firmware VR file to the power firmware VR chip of the motherboard, burn the basic input and output system BIOS firmware file to the basic input and output system BIOS chip of the motherboard, and burn the baseboard management controller BMC firmware file to the baseboard management controller BMC chip of the motherboard.
[0008] Further, the step S100 includes:
[0009] S110, dividing the external memory into an independent partition and configuring it in FAT32 file system format;
[0010] S120, creating a new VR data folder in the external memory for storing the power firmware VR burning file, and placing the power firmware VR file to be burned in the VR data folder;
[0011] S130, creating a new configuration file, where the configuration file is used to optionally upgrade a combination of one or more firmware files among a power supply firmware VR file, a basic input and output system BIOS firmware file, and a baseboard management controller BMC firmware file;
[0012] S140, putting the basic input and output system BIOS firmware file and the baseboard management controller BMC firmware file to be upgraded into the external memory;
[0013] S150, connecting the external memory to a server via the external memory reading device.
[0014] Furthermore, the step S100 further includes:
[0015] S160: assigning control over whether to upgrade the power supply firmware VR file to a baseboard management controller BMC chip.
[0016] Further, in step S120,
[0017] There is at least one power firmware VR file, and the file name of the power firmware VR file at least includes the IIC address information of the power firmware VR chip.
[0018] Further, the step S200 comprises;
[0019] S210, start the baseboard management controller BMC chip, automatically mount the external memory, and create a new burning thread for burning the power supply firmware VR file, the basic input and output system BIOS firmware file, and the baseboard management controller BMC firmware file;
[0020] S220, the baseboard management controller BMC determines whether there is a configuration file in the external memory, if there is no configuration file, the burning thread ends;
[0021] S230 , the baseboard management controller BMC sequentially burns the power supply firmware VR file, the basic input and output system BIOS firmware file, and the baseboard management controller BMC firmware file based on the configuration items in the configuration file.
[0022] Further, the step S230 includes:
[0023] S231, determining whether the power firmware flag has been configured in the configuration file, if the power firmware flag has been configured, burning the power firmware, if not, proceeding to the next step;
[0024] S232, determining whether the basic input and output system BIOS firmware flag bit has been configured in the configuration file, if the basic input and output system BIOS firmware flag bit has been configured, burning the main and standby firmware of the basic input and output system BIOS firmware, if the basic input and output system BIOS firmware flag bit has not been configured, proceeding to the next step;
[0025] S233, determining whether the baseboard management controller BMC firmware flag bit has been configured in the configuration file, if the baseboard management controller BMC firmware flag bit has been configured, burning the backup firmware of the baseboard management controller BMC firmware, if the baseboard management controller BMC firmware flag bit has not been configured, proceeding to the next step;
[0026] S234, end the burning thread.
[0027] Further, in step S231,
[0028] Based on the IIC address information of the power firmware VR file, the information of each power firmware VR file is obtained into the cache, and then the power firmware VR file is written to the corresponding address of each power firmware VR chip through the IIC write operation, and finally the burning success flag of each power firmware VR chip is read to determine whether the burning is successful.
[0029] Further, in step S231, if the power firmware file is burned successfully, the UID light of the server flashes at the first frequency and enters step S232; if the power firmware file is burned unsuccessfully, the UID light of the server is always on and jumps to step S234;
[0030] In step S232, if the basic input and output system BIOS firmware file is burned successfully, the UID light of the server flashes at the second frequency and the process proceeds to step S233; if the basic input and output system BIOS firmware file is burned unsuccessfully, the UID light of the server is always on and the process proceeds to step S234;
[0031] In step S233, if the baseboard management controller BMC firmware file is burned successfully, the UID light of the server flashes at the third frequency and enters step S234. If the baseboard management controller BMC firmware file is burned unsuccessfully, the UID light of the server is always on and jumps to step S234.
[0032] Furthermore, the present invention also proposes a device for upgrading server firmware based on BMC integration, which is used to execute the method for upgrading server firmware based on BMC integration. The device for upgrading server firmware based on BMC integration includes:
[0033] An external memory, wherein the external memory stores at least a configuration file, a power supply firmware VR file, a basic input and output system BIOS firmware file, and a baseboard management controller BMC firmware file, and the external memory is an SD card;
[0034] A server, the server comprising at least a mainboard and an external memory reading device connected to the mainboard;
[0035] The mainboard at least includes a power firmware VR chip, a basic input and output system BIOS chip and a baseboard management controller BMC chip, and the external memory is connected to the mainboard via an external memory reading device.
[0036] Furthermore, the present invention also provides a computer-readable storage medium on which program instructions are stored. When the program instructions are executed by a processor, the method for upgrading server firmware based on BMC integration is implemented.
[0037] The beneficial effects of the present invention are:
[0038] The method for upgrading server firmware based on BMC integration automates the process of burning firmware, and there is no need to manually remove the corresponding firmware chip for manual burning, which greatly improves the speed of upgrading firmware and makes it configurable. When a certain firmware needs to be upgraded separately, it is only necessary to change the value in the configuration file. In addition, the power supply firmware VR upgrade operation is complicated. During the BMC integration upgrade, the VR data will be placed in the SD card and the configuration bit for the burning will be enabled in the configuration file. After the BMC is started, it will automatically get the VR data from the SD card and automatically complete the burning. After waiting for the burning to be completed, there will be an indicator light prompt. It is very simple and easy to operate, which improves the work efficiency of R&D and production lines. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] Figure 1 The following is an overall flow chart of a method for upgrading server firmware based on BMC integration.
[0040] Figure 2This is a schematic diagram of step S100 in the method for upgrading server firmware based on BMC integration.
[0041] Figure 3 This is a schematic diagram of step S200 in the method for upgrading server firmware based on BMC integration.
[0042] Figure 4 This is a schematic diagram of step S230 in the method for upgrading server firmware based on BMC integration.
[0043] Figure 5 This is a system architecture diagram of the method for upgrading server firmware based on BMC integration.
[0044] Figure 6 The flowchart of the method for upgrading server firmware based on BMC integration is shown in FIG.
[0045] Figure 7 The diagram is a schematic diagram of an external memory in a method for upgrading server firmware based on BMC integration.
[0046] Figure 8 This is a schematic diagram of external storage file settings in a method for upgrading server firmware based on BMC integration.
[0047] Fig. 9 This is a schematic diagram of the power firmware VR file in the method of upgrading server firmware based on BMC integration.
[0048] Fig.10 This is a schematic diagram of a device for upgrading server firmware based on BMC integration.
[0049] 100, external memory; 110, configuration file; 120, power firmware VR file; 130, basic input and output system BIOS firmware file; 140, baseboard management controller BMC firmware file; 200, server; 210, motherboard; 220, external memory reading device; 230, power firmware VR chip; 240, basic input and output system BIOS chip; 250, baseboard management controller BMC chip. DETAILED DESCRIPTION
[0050] The following will be combined with the embodiments and drawings to clearly and completely describe the concept, specific structure and technical effects of the present invention, so as to fully understand the purpose, scheme and effect of the present invention. It should be noted that the embodiments and features in the embodiments of this application can be combined with each other without conflict.
[0051] It should be noted that, unless otherwise specified, when a feature is referred to as being "fixed" or "connected" to another feature, it may be directly fixed or connected to the other feature, or it may be indirectly fixed or connected to the other feature. In addition, the descriptions of up, down, left, right, top, bottom, etc. used in the present invention are only relative to the relative positional relationship of the components of the present invention in the drawings.
[0052] In addition, unless otherwise defined, all technical and scientific terms used herein have the same meaning as those generally understood by those skilled in the art. The terms used in this specification are only for describing specific embodiments, not for limiting the present invention. The term "and / or" used herein includes any combination of one or more related listed items.
[0053] It should be understood that, although the terms first, second, third, etc. may be used to describe various elements in the present disclosure, these elements should not be limited to these terms. These terms are only used to distinguish elements of the same type from each other. For example, without departing from the scope of the present disclosure, the first element may also be referred to as the second element, and similarly, the second element may also be referred to as the first element.
[0054] Reference Figures 1 to 10 In some embodiments, the technical solution of the present invention is a method for upgrading server firmware based on BMC integration, referring to Figure 1 , Figure 5 and Figure 6 The method for upgrading server firmware based on BMC integration is applied to a device for upgrading server firmware based on BMC integration. The device for upgrading server firmware based on BMC integration includes at least an external memory 100 and a server 200. The server 200 includes at least a mainboard 210 and an external memory reading device 220 connected to the mainboard 210. The mainboard 210 is provided with a power firmware VR chip 230, a basic input and output system BIOS chip 240 and a baseboard management controller BMC chip 250. The external memory 100 is connected to the mainboard 210 through the external memory reading device 220. The method includes the following steps:
[0055] S100, after configuring the file system format of the external memory 100, loading the power supply firmware VR file 120, the basic input and output system BIOS firmware file 130 and the baseboard management controller BMC firmware file 140 for upgrading the firmware of the server 200 into the external memory 100;
[0056] S200, start the baseboard management controller BMC, and according to the information of the configuration file 110, burn the power firmware VR file 120 to the power firmware VR chip 230 of the mainboard 210, burn the basic input and output system BIOS firmware file 130 to the basic input and output system BIOS chip 240 of the mainboard 210, and burn the baseboard management controller BMC firmware file 140 to the baseboard management controller BMC chip 250 of the mainboard 210 in sequence.
[0057] The beneficial effects of the present invention are:
[0058] The method for upgrading the server 200 firmware based on BMC integration automates the process of burning the firmware. There is no need to manually remove the corresponding firmware chip for manual burning, which greatly improves the speed of upgrading the firmware and makes it configurable. When a certain firmware needs to be upgraded separately, it is only necessary to change the value in the configuration file 110. In addition, the power supply firmware VR upgrade operation is complicated. When the BMC is upgraded, the VR data will be placed in the SD card and the configuration bit of the burning will be enabled in the configuration file 110. After the BMC is started, it will automatically go to the SD card to get the VR data and automatically complete the burning. After waiting for the burning to be completed, there will be an indicator light prompt. It is very simple and easy to operate, which improves the work efficiency of R&D and production lines.
[0059] In the prior art, for the production line of server 200 motherboard 210, general server 200 manufacturers will manually burn the firmware and then manually place it in the card slot. The disadvantage of this solution is: since both BIOS and BMC firmware involve dual flash (firmware chips), the production of one version requires burning 4 chips. Sometimes the burned BIOS chip will be confused with the BMC chip, resulting in the inability to start the system. This method is inefficient, time-consuming and labor-intensive. When the production line needs to burn VR firmware, it is necessary to manually replace the BMC firmware with a special version to complete the burning, or burn it through the debug pin through professional equipment.
[0060] The disadvantage of this solution is that it requires manual replacement of the BMC firmware, and then it needs to be replaced with the released version of the BMC firmware after the burning is completed. The process is cumbersome and inefficient. If professional equipment is used for burning, it is also very time-consuming and labor-intensive.
[0061] When the BIOS and BMC firmware need to be updated, the flash firmware needs to be taken out again and burned manually. When the VR firmware needs to be updated, the BMC R&D department needs to cooperate to produce a special version of the BMC firmware.
[0062] The disadvantage of this solution is that the BIOS and BMC chips need to be burned manually. When the chip is mounted on the motherboard 210, the chip cannot be removed and must be upgraded through the network. The VR firmware change will also encounter the same problem. It is very unfriendly to production lines and the error rate will be greatly increased.
[0063] The method for upgrading the firmware of the server 200 based on BMC integration is designed to upgrade the firmware on the server 200 motherboard 210 through an SD card. After the kernel is started, the BMC will create a thread. This thread will sleep and wait for a period of time until the BMC system is fully started before executing. By reading the value of the configuration file 110 in the SD card, it is determined which firmware to upgrade. The configurable options are VR, BIOS, and BMC. The process of upgrading VR is to write data to the power chip through the I2C protocol; upgrading BIOS is to upgrade the main and standby flashes in sequence, first upgrading the main BIOS chip and then the BMC switches SPI to upgrade the standby BIOS chip; upgrading BMC is to upgrade the backup BMC flash chip. The upgrade tool implements the upgrade through the ipmitool tool inside the BMC system. Each stage of the upgrade will have an indicator light (UID light) and a buzzer to determine whether the upgrade is successful. The method for upgrading the firmware of the server 200 based on BMC integration is a method for upgrading the firmware of the server 200 that can be selected by reading the data of the configuration upgrade file in the SD card.
[0064] Further, refer to Figure 2 , Figures 7 to 10 , the step S100 comprises:
[0065] S110, dividing the external memory 100 into an independent partition and configuring it in FAT32 file system format;
[0066] S120, creating a new VR data folder in the external memory 100 for storing the power firmware VR burning file, and placing the power firmware VR file 120 to be burned in the VR data folder;
[0067] S130, creating a configuration file 110, wherein the configuration file 110 is used to optionally upgrade a combination of one or more firmware files among a power supply firmware VR file 120, a basic input and output system BIOS firmware file 130, and a baseboard management controller BMC firmware file 140;
[0068] S140, putting the basic input and output system BIOS firmware file 130 and the baseboard management controller BMC firmware file 140 to be upgraded into the external memory 100;
[0069] S150 , connecting the external memory 100 to the server 200 via the external memory reading device 220 .
[0070] Further, refer to Figure 2 , the step S100 further includes:
[0071] S160 , assigning the control right of whether to upgrade the power supply firmware VR file 120 to the baseboard management controller BMC chip 250 .
[0072] In a specific embodiment, the external memory 100 is an SD card, and the contents to be placed in the SD card are as follows:
[0073] (1) Update.conf: stores the optional configuration file 110 content;
[0074] (2)***.hpm: This contains the BIOS firmware and BMC firmware that need to be upgraded;
[0075] (3)2710HEX: This folder contains the VR HEX information that needs to be upgraded.
[0076] Specifically, insert an SD card into the computer, format it into a partition in the file system FAT32. Create a folder in the SD card named 2710HEX, and put the VR data files that need to be burned in it. It should be noted that the file name must include 0x60, 0x61, 0x62, 0x63, 0x64, 0x4c, 0x42, 0x46, 0x52, 0x5e and end with .hex, otherwise these files will not be found during VR burning and the burning will fail. The file name is actually the I2C address of the VR chip (modify these contents according to the company's hardware design). There will be a program in the code to read the information of each file according to the suffix of the file name and put it into the buffer, and then write the data to each VR chip through the I2C write action, and finally read the burning success flag of each chip to determine whether the burning is successful. Then create a configuration file 110 named update.conf. The function of this configuration file 110 is to selectively upgrade a certain firmware. The content inside is as follows:
[0077] [UpdateConfig]
[0078] VR_UPDATE=1 #VR update
[0079] BIOS_UPDATE=1 #BIOS update
[0080] BMC_UPDATE=1 #BMC update
[0081] The default value after the configuration file 110 mentioned above is 1, which means all firmware is upgraded. If you do not want to upgrade a certain firmware, just assign a value of 0 after the keyword. For example, if you do not want to upgrade the VR firmware, then VR_UPDATE=0, and the BMC system will skip the step of upgrading the VR firmware.
[0082] Then, put the BMC hpm firmware and BIOS hpm firmware that need to be upgraded into the SD card. Please strictly fill in the BMC and BIOS firmware according to the name of the released version, otherwise the upgrade will fail.
[0083] Finally, insert the SD card into the SD card slot in the server 200 .
[0084] Jumper caps for jumping the pins on the motherboard 210 (the purpose of jumping the jumper caps is to give the control of VR to the BMC. Some servers 200 do not need this, and this needs to be determined based on the hardware design).
[0085] Put the released version of BMC FLASH0 into the card tray of motherboard 210. BMC will automatically mount the SD card during the startup process. After BMC is fully up, the BMC thread starts to burn. If you need to replace the power chip firmware solution, BIOS firmware solution, or BMC firmware solution, just replace the original solution firmware with the new one.
[0086] Further, refer to Figure 2 In the step S120,
[0087] There is at least one power firmware VR file 120 , and the file name of the power firmware VR file 120 at least includes the IIC address information of the power firmware VR chip 230 .
[0088] Further, refer to Figure 3 , the step S200 comprises;
[0089] S210, start the baseboard management controller BMC chip 250, automatically mount the external memory 100, and create a new burning thread for executing the burning of the power supply firmware VR file 120, the basic input and output system BIOS firmware file 130 and the baseboard management controller BMC firmware file 140;
[0090] S220, the baseboard management controller BMC determines whether there is a configuration file 110 in the external memory 100, if the configuration file 110 does not exist, the burning thread ends;
[0091] S230 , the baseboard management controller BMC sequentially burns the power supply firmware VR file 120 , the basic input and output system BIOS firmware file 130 , and the baseboard management controller BMC firmware file 140 based on the configuration items in the configuration file 110 .
[0092] In a specific embodiment, the BMC system starts and automatically mounts the SD card; the BMC determines whether there is an update.conf file in the SD card. If there is no such configuration file 110, the burning thread will automatically end and exit the burning program; the BMC determines the configuration items in the update.conf file, and first determines whether the power firmware bit is configured, such as setting the burning power firmware; if the VR bit is not configured, then continue to determine whether the BIOS flag bit is configured, and if configured, burn the BIOS main and standby firmware (i.e., BIOSFLASH0, BIOS FLASH1); if the BIOS bit is not configured, then continue to determine whether the BMC flag bit is configured, and if configured, burn the BMC backup firmware; after the BMC upgrades the VR, BIOS and BMC in sequence, there will be different status lights, and the phenomena are covered in sequence. When there is a phenomenon of burning failure in the upgrade sequence, the BMC will automatically exit the burning program and light up the corresponding status light.
[0093] Further, refer to Figure 4 , the step S230 comprises:
[0094] S231, determining whether the power firmware flag has been configured in the configuration file 110, if the power firmware flag has been configured, burning the power firmware, if not, proceeding to the next step;
[0095] S232, determining whether the basic input and output system BIOS firmware flag bit has been configured in the configuration file 110, if the basic input and output system BIOS firmware flag bit has been configured, burning the main and standby firmware (i.e., BIOS FLASH0, BIOS FLASH1) of the basic input and output system BIOS firmware, if the basic input and output system BIOS firmware flag bit has not been configured, proceeding to the next step;
[0096] S233, determining whether the baseboard management controller BMC firmware flag bit has been configured in the configuration file 110, if the baseboard management controller BMC firmware flag bit has been configured, burning the backup firmware (i.e., BMCFLASH1) of the baseboard management controller BMC firmware, if the baseboard management controller BMC firmware flag bit has not been configured, proceeding to the next step;
[0097] S234, end the burning thread.
[0098] Further, refer to Figure 4In step S231, if the power firmware file is burned successfully, the UID light of the server 200 flashes at the first frequency and enters step S232; if the power firmware file is burned unsuccessfully, the UID light of the server 200 is always on and jumps to step S234;
[0099] In step S232, if the BIOS firmware file 130 is burned successfully, the UID light of the server 200 flashes at the second frequency and the process proceeds to step S233; if the BIOS firmware file 130 is burned unsuccessfully, the UID light of the server 200 is always on and the process proceeds to step S234;
[0100] In step S233, if the baseboard management controller BMC firmware file 140 is burned successfully, the UID light of the server 200 flashes at the third frequency and enters step S234. If the baseboard management controller BMC firmware file 140 is burned unsuccessfully, the UID light of the server 200 is always on and jumps to step S234.
[0101] Specifically, referring to Table 1, after the VR firmware is successfully upgraded, the flashing frequency of the UID is 4HZ (flashing once every 0.25S), and the UID is always on if the burning fails; after the BIOS firmware is successfully upgraded, the flashing frequency of the UID is 1HZ (flashing once every 1S), and the UID is always on if the burning fails; after the BMC firmware is successfully upgraded, the flashing frequency of the UID is 0.5HZ (flashing once every 2S), and the UID is always on if the burning fails; if all are upgraded, the successful upgrade phenomena of each component are superimposed.
[0102] Table 1,
[0103] Firmware Type Burning success phenomenon Programming failure VR Firmware The UID light flashes (frequency is 4HZ) UID light is always on BIOS Firmware The UID light flashes (frequency is 1HZ) UID light is always on BMC firmware The UID light flashes (frequency is 0.5HZ) UID light is always on
[0104] Further, refer to Fig.10 The present invention further proposes a device for upgrading the firmware of the server 200 based on the BMC integration, which is used to execute the method for upgrading the firmware of the server 200 based on the BMC integration. The device for upgrading the firmware of the server 200 based on the BMC integration includes:
[0105] An external memory 100, wherein the external memory 100 stores at least a configuration file 110, a power supply firmware VR file 120, a basic input and output system BIOS firmware file 130 and a baseboard management controller BMC firmware file 140, and the external memory 100 is an SD card;
[0106] A server 200, the server 200 at least comprising a mainboard 210 and an external memory reading device 220 connected to the mainboard 210;
[0107] The mainboard 210 at least includes a power supply firmware VR chip 230 , a basic input and output system BIOS chip 240 and a baseboard management controller BMC chip 250 , and the external memory 100 is connected to the mainboard 210 via an external memory reading device 220 .
[0108] Furthermore, the present invention also provides a computer-readable storage medium on which program instructions are stored. When the program instructions are executed by a processor, the method for upgrading the firmware of the server 200 based on BMC integration is implemented.
[0109] The method and device for upgrading the firmware of the server 200 based on BMC integration do not need to burn each chip manually. After the server 200 is powered on, the VR, BIOS and BMC firmware on the mainboard 210 can be burned through the BMC, saving manpower and material resources. In the later maintenance, if there is an emergency and there is no burner, and it is impossible to upgrade through the network out of band, part of the firmware can be upgraded in the form of SD card upgrade, and the upgrade is more user-friendly. When designing the framework, since the entire BMC system will restart after the BMC firmware is burned, a single burning restriction is made. After the first burning is successful, the system will automatically create a config.ini file in the SD card, and the file will not be burned again after the BMC restarts. The system will automatically delete the file to prepare for the burning of the next server 200 mainboard 210. The staff does not need to repeatedly operate the SD card, which improves the efficiency of the production line to produce the server 200, shortens the delivery time, and saves time for the verification of other functions in the later stage. If the VR data file needs to be replaced during customer use, the VR firmware can also be upgraded by modifying the VR data in the SD card without having to go through the manufacturer to release a special BMC firmware burner, which greatly saves manpower and material resources and improves the competitiveness of the Server 200 products.
[0110] The above is only a preferred embodiment of the present invention. The present invention is not limited to the above implementation. As long as the technical effect of the present invention is achieved by the same means, any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present disclosure shall be included in the scope of protection of the present disclosure. All should belong to the protection scope of the present invention. Within the protection scope of the present invention, its technical scheme and / or implementation method can have various modifications and changes.
Claims
1. A method for upgrading server firmware based on BMC integration, characterized in that: The method for upgrading server firmware based on BMC integration is applied to a device for upgrading server firmware based on BMC integration. The device for upgrading server firmware based on BMC integration comprises at least an external memory (100) and a server (200). The server (200) comprises at least a mainboard (210) and an external memory reading device (220) connected to the mainboard (210). The mainboard (210) is provided with a power supply firmware VR chip (230), a basic input and output system BIOS chip (240) and a baseboard management controller BMC chip (250). The external memory (100) is connected to the mainboard (210) via the external memory reading device (220). The method comprises the following steps: S100, after configuring the file system format of the external memory (100), loading a power supply firmware VR file (120), a basic input and output system BIOS firmware file (130) and a baseboard management controller BMC firmware file (140) for upgrading the firmware of the server (200) into the external memory (100); The step S100 includes: S110, dividing the external memory (100) into an independent partition and configuring it in a FAT32 file system format; S120, creating a new VR data folder in the external memory (100) for storing the power supply firmware VR burning file, and placing the power supply firmware VR file (120) to be burned in the VR data folder; S130, creating a new configuration file (110), wherein the configuration file (110) is used to optionally upgrade a combination of one or more firmware files among a power supply firmware VR file (120), a basic input and output system BIOS firmware file (130), and a baseboard management controller BMC firmware file (140); S140, placing the basic input / output system BIOS firmware file (130) and the baseboard management controller BMC firmware file (140) to be upgraded into the external memory (100); S150, connecting the external memory (100) to the server (200) via the external memory reading device (220); S200, starting the baseboard management controller BMC, and according to the information of the configuration file (110), sequentially burning the power supply firmware VR file (120) into the power supply firmware VR chip (230) of the mainboard (210), burning the basic input and output system BIOS firmware file (130) into the basic input and output system BIOS chip (240) of the mainboard (210), and burning the baseboard management controller BMC firmware file (140) into the baseboard management controller BMC chip (250) of the mainboard (210); The step S200 includes: S210, starting the baseboard management controller BMC chip (250), automatically mounting the external memory (100), and creating a new burning thread for burning the power supply firmware VR file (120), the basic input and output system BIOS firmware file (130) and the baseboard management controller BMC firmware file (140); S220, the baseboard management controller BMC determines whether there is a configuration file (110) in the external memory (100), and if there is no configuration file (110), the burning thread ends; S230, the baseboard management controller BMC sequentially burns the power supply firmware VR file (120), the basic input and output system BIOS firmware file (130) and the baseboard management controller BMC firmware file (140) based on the configuration items in the configuration file (110).
2. The method for upgrading server firmware based on BMC integration according to claim 1, characterized in that: The step S100 further includes: S160 , assigning control rights of whether to upgrade the power firmware VR file ( 120 ) to the baseboard management controller BMC chip ( 250 ).
3. The method for upgrading server firmware based on BMC integration according to claim 1, characterized in that: In the step S120, There is at least one power firmware VR file (120), and the file name of the power firmware VR file (120) at least includes IIC address information of the power firmware VR chip (230).
4. The method for upgrading server firmware based on BMC integration according to claim 1, characterized in that: The step S230 includes: S231, determining whether the power firmware flag bit has been configured in the configuration file (110), if the power firmware flag bit has been configured, burning the power firmware, if the power firmware flag bit has not been configured, proceeding to the next step; S232, determining whether the basic input and output system BIOS firmware flag bit has been configured in the configuration file (110), if the basic input and output system BIOS firmware flag bit has been configured, burning the main and backup firmware of the basic input and output system BIOS firmware, if the basic input and output system BIOS firmware flag bit has not been configured, proceeding to the next step; S233, determining whether the baseboard management controller BMC firmware flag bit has been configured in the configuration file (110), if the baseboard management controller BMC firmware flag bit has been configured, burning the backup firmware of the baseboard management controller BMC firmware, if the baseboard management controller BMC firmware flag bit has not been configured, proceeding to the next step; S234, end the burning thread.
5. The method for upgrading server firmware based on BMC integration according to claim 4, characterized in that: In the step S231, Based on the IIC address information of the power firmware VR file (120), the information of each power firmware VR file (120) is obtained into a cache, and then the power firmware VR file (120) is written into the corresponding address of each power firmware VR chip (230) through an IIC write operation, and finally the burning success flag bit of each power firmware VR chip (230) is read to determine whether the burning is successful.
6. The method for upgrading server firmware based on BMC integration according to claim 4, characterized in that: In step S231, if the power firmware file is burned successfully, the UID light of the server (200) flashes at a first frequency and the process proceeds to step S232; if the power firmware file is burned unsuccessfully, the UID light of the server (200) is always on and the process proceeds to step S234; In step S232, if the basic input and output system BIOS firmware file (130) is burned successfully, the UID light of the server (200) flashes at a second frequency and the process proceeds to step S233; if the basic input and output system BIOS firmware file (130) is burned unsuccessfully, the UID light of the server (200) is always on and the process proceeds to step S234; In step S233, if the baseboard management controller BMC firmware file (140) is burned successfully, the UID light of the server (200) flashes at a third frequency and enters step S234; if the baseboard management controller BMC firmware file (140) is burned unsuccessfully, the UID light of the server (200) is always on and jumps to step S234.
7. A device for upgrading server firmware based on BMC integration, used to execute the method for upgrading server firmware based on BMC integration as claimed in any one of claims 1 to 6, characterized in that: The device for upgrading server firmware based on BMC integration includes: An external memory (100), wherein the external memory (100) stores at least a configuration file (110), a power supply firmware VR file (120), a basic input and output system BIOS firmware file (130) and a baseboard management controller BMC firmware file (140), and the external memory (100) is an SD card; A server (200), the server (200) comprising at least a mainboard (210) and an external memory reading device (220) connected to the mainboard (210); The mainboard (210) comprises at least a power supply firmware VR chip (230), a basic input and output system BIOS chip (240) and a baseboard management controller BMC chip (250), and the external memory (100) is connected to the mainboard (210) via an external memory reading device (220). 8 . A computer-readable storage medium having program instructions stored thereon, wherein the program instructions, when executed by a processor, implement the method according to any one of claims 1 to 6 .
Citation Information
Patent Citations
Method for updating firmware of BIOS (basic input / output system) and electronic device
CN103324492A
Firmware burning method, substrate management controller and firmware burning system
CN107391187A