CN114047958B - Starting method, equipment and medium of baseboard management controller of server - Google Patents

Starting method, equipment and medium of baseboard management controller of server Download PDF

Info

Publication number
CN114047958B
CN114047958B CN202111278957.9A CN202111278957A CN114047958B CN 114047958 B CN114047958 B CN 114047958B CN 202111278957 A CN202111278957 A CN 202111278957A CN 114047958 B CN114047958 B CN 114047958B
Authority
CN
China
Prior art keywords
program
memory chip
starting
loading
starting program
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111278957.9A
Other languages
Chinese (zh)
Other versions
CN114047958A (en
Inventor
张亚男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202111278957.9A priority Critical patent/CN114047958B/en
Publication of CN114047958A publication Critical patent/CN114047958A/en
Application granted granted Critical
Publication of CN114047958B publication Critical patent/CN114047958B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

A method for starting a baseboard management controller of a server, comprising: loading a first starting program from a first memory chip; responsive to successful loading of the first boot program, loading a second boot program of the baseboard management controller of the server based on the first boot program in a segmented manner; and in response to failure of the second startup procedure of the sectional loading server baseboard management controller, writing the failed sectional point into a first parameter area of the first startup procedure in the first memory chip, and restarting the baseboard management controller of the server through the first startup procedure in the second memory chip. The method for storing and starting the firmware of the baseboard management controller of the server is based on the hardware architecture of the server, and the boot program is started by adding the external chip selection watchdog of the dual SPI Flash and matching with the boot partition of the firmware, so that the dual-partition redundancy backup of the firmware of the baseboard management controller is completed, the safety and stability of the firmware of the baseboard management controller are greatly improved, and the method has positive significance for running fault tolerance of the server.

Description

Starting method, equipment and medium of baseboard management controller of server
Technical Field
The invention belongs to the field of computers, and particularly relates to a method, equipment and medium for starting a substrate management controller of a server.
Background
The invention provides a firmware preservation and starting method of a baseboard management controller, which can ensure that the baseboard management controller reliably and stably operates in the operation and starting stages, and avoid that the baseboard management controller fails to start or operates abnormally because of software and hardware faults, so that a server cannot normally operate. The SPI controller is an interface through which the baseboard management controller can access Flash data and the firmware of the baseboard management controller is usually stored in Flash. The complete firmware data is often divided into a plurality of areas, including boot area, conf area, root area, etc., where different areas correspond to different functions of the baseboard management controller. However, in the starting process in the prior art, the loading of any area is problematic, which results in a starting failure. Although there are redundant Flash, the baseboard management controller needs to be restarted when starting.
Therefore, a new starting mode of the baseboard management controller of the server is needed to solve the above-mentioned problems.
Disclosure of Invention
In order to solve the above problems, the present invention provides a method for starting a baseboard management controller of a server, including:
loading a first starting program from a first memory chip;
responsive to successful loading of the first boot program, loading a second boot program of a baseboard management controller of the server based on the first boot program in a segmented manner;
and responding to failure of the second starting program of the sectional loading of the server baseboard management controller, writing the failed sectional point into a first parameter area of the first starting program in the first memory chip, and restarting the baseboard management controller of the server through the first starting program in the second memory chip.
In some embodiments of the present invention, loading a second boot program of a baseboard management controller of the server based on the first boot program in a segmented manner includes:
segmenting the second starting program according to the function type;
generating a special tag for the second boot program of any segment prior to loading the second boot program of the segment;
writing the special mark into the first parameter area of the first starting program;
and deleting the special mark of the segmented second boot program from the first parameter area in response to successful loading of the segmented second boot program.
In some embodiments of the invention, the method further comprises:
judging whether the special mark exists in the first parameter area of the first starting program in the first memory chip or not in response to successful loading of the first starting program;
in response to the presence of the special flag, the baseboard management controller is switched to the second memory chip and restarted.
In some embodiments of the present invention, writing the special mark to the first parameter area of the first start-up procedure further comprises:
and acquiring an address of the segmented second starting program represented by the special mark in a second memory chip, and storing the address in a second parameter area of the first starting program in the first memory chip.
In some embodiments of the invention, the method further comprises:
judging whether the special mark exists in the first parameter area of the first starting program in the first memory chip or not in response to successful loading of the first starting program;
and when the first starting program loads a second starting program represented by the special mark, loading the second starting program from the second memory chip according to the address in the second parameter area.
In some embodiments of the invention, the method further comprises:
in response to successful loading of the first starting program, acquiring the second starting program from the first memory chip and the second memory chip respectively, and comparing the second starting program acquired from the first memory chip and the second memory chip;
judging the loading result of the different second starting programs in response to the fact that the results of the comparison of the second starting programs obtained from the first memory chip and the second memory chip are different;
and in response to successful loading of the second starting program, storing the special mark of the second starting program into a first parameter area of the first starting program of the second memory chip.
In some embodiments of the invention, the method further comprises:
and in response to the failure of loading of the second starting program, saving the special mark of the second starting program to a first parameter area of the first starting program of the first memory chip, and loading the second starting program from the second memory chip.
In some embodiments of the invention, the method further comprises:
the corresponding special mark is obtained from the first parameter area in the first starting program in response to successful loading of the first starting program, and the second starting program represented by the special mark is loaded from the second memory chip in response to the second starting program represented by the special mark in the first memory chip; and
and loading the second starting program represented by the special mark from the first memory chip in response to the second starting program represented by the special mark on the second memory chip.
Another aspect of the present invention also proposes a computer device comprising:
at least one processor; and
a memory storing computer instructions executable on the processor, which when executed by the processor, perform the steps of the method of any of the above embodiments.
Yet another aspect of the present invention proposes a computer readable storage medium storing a computer program, characterized in that the computer program when executed by a processor implements the steps of the method according to any of the above embodiments.
The method for storing and starting the firmware of the baseboard management controller of the server is based on the hardware architecture of the server, and the boot program is started by adding the external chip selection watchdog of the dual SPI Flash and matching with the boot partition of the firmware, so that the dual-partition redundancy backup of the firmware of the baseboard management controller is completed, the safety and stability of the firmware of the baseboard management controller are greatly improved, and the method has positive significance for running fault tolerance of the server.
Drawings
In order to more clearly illustrate the embodiments of the invention or the technical solutions in the prior art, the drawings that are required in the embodiments or the description of the prior art will be briefly described, it being obvious that the drawings in the following description are only some embodiments of the invention, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a method flowchart of a method for starting a baseboard management controller of a server according to an embodiment of the present invention;
FIG. 2 is a block diagram of a computer device according to an embodiment of the present invention;
FIG. 3 is a schematic diagram of a computer readable storage medium according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a baseboard management controller of a server according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a baseboard management controller of a server according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention more apparent, the following embodiments of the present invention will be described in further detail with reference to the accompanying drawings.
It should be noted that, in the embodiments of the present invention, all the expressions "first" and "second" are used to distinguish two entities with the same name but different entities or different parameters, and it is noted that the "first" and "second" are only used for convenience of expression, and should not be construed as limiting the embodiments of the present invention, and the following embodiments are not described one by one.
As shown in fig. 1, a first aspect of an embodiment of the present invention proposes a method for starting a baseboard management controller of a server, including:
step S1, loading a first starting program from a first memory chip;
step S2, responding to successful loading of the first starting program, and loading a second starting program of the baseboard management controller of the server based on the first starting program in a sectional mode;
and step S3, responding to failure of the second starting program of the sectional loading of the server baseboard management controller, writing the failed sectional point into a first parameter area of the first starting program in the first memory chip, and restarting the baseboard management controller of the server through the first starting program in the second memory chip.
In the invention, to solve the problem of failure in the starting process of a server baseboard management controller (hereinafter referred to as BMC), FIG. 4 shows a configuration reference diagram of the server baseboard management controller in the server, firmware issued by the server baseboard management controller is stored in SPI Flash hung on the server BMC, in order to improve the reliability of the firmware, two Flash are mounted on the BMC SPI controller in a SPI Flash redundancy mode, and firmware starting loading is realized in a SPI CS chip selection mode. The hardware watchdog CS chip selection mechanism is added on the hardware, the hardware watchdog is started after the BMC is electrified, and the CS chip selection signal is automatically switched when the watchdog is overtime, so that the function that the BMC loads firmware data from different Flash is realized, the BMC firmware contents stored in the two SPI Flash are completely the same, and the problem of BMC fault caused by hardware fault is effectively solved by using a physical redundancy mode.
In the embodiment of the invention, in step S1, when the BMC is started, a boot bootstrap program of about 8K is read from the SPI Flash1 and loaded by the gating SPI Flash1 with the CS watchdog default configuration under default conditions;
in step S2, after the boot loader is loaded into the BMC, the boot loader starts to run, and loads other functional programs of the subsequent BMC. The method comprises the steps that when other functional programs of a subsequent BMC are loaded, the other functional programs are loaded in a sectional mode;
in step S3, if the boot loader is loaded with any one of the other functional programs, it needs to determine whether the functional program is successfully installed, if the functional program is failed to install, the installation failure condition of the functional program is marked, and a configuration parameter area for storing the boot loader in the SPIFlash1 exists, so as to mark that the execution until the functional program fails to restart the BMC and reload when the functional program is loaded with the SPIFlash 1.
In some embodiments of the present invention, after the BMC is restarted after the BMC has failed to be started by using the SPIFASH 1, the BMC starts to execute the loading from the boot program with the size of 8KB in the SPIFASH 1. And finishing the loading of the boot loader and reading the relevant configuration parameters of the configuration parameter area of the boot loader, if the mark of the startup failure using the SPIFASH 1 stored in the previous startup process is found, controlling the CS watchdog to gate the SPIFASH 2 by the boot loader, and then starting the BMC from the SPIFASH 2 by the hot restart BMC.
In some embodiments of the present invention, loading a second boot program of a baseboard management controller of the server based on the first boot program in a segmented manner includes:
segmenting the second starting program according to the function type;
generating a special tag for the second boot program of any segment prior to loading the second boot program of the segment;
writing the special mark into the first parameter area of the first starting program;
and deleting the special mark of the segmented second boot program from the first parameter area in response to successful loading of the segmented second boot program.
In this embodiment, the process of writing the mark into the configuration parameter area of the boot program of the BMC according to the present invention does not separately write the mark after writing the corresponding segmented function program, but generates a special mark of the function program before loading the corresponding function program, and writes the special mark into the configuration parameter area of the boot program. When the function program is loaded, the boot loader deletes the special mark representing the function program. If the function program fails to be loaded, the boot loader may be blocked or the device may be restarted by the BMC interrupt, so that the special mark cannot be modified, and the special mark is just saved.
In some embodiments of the invention, the method further comprises:
judging whether the special mark exists in the first parameter area of the first starting program in the first memory chip or not in response to successful loading of the first starting program;
in response to the presence of the special flag, the baseboard management controller is switched to the second memory chip and restarted.
In this embodiment, if, when the BMC is started, the CS watchdog gates the SPIFlash1 by default, after loading the boot loader of the SPIFlash1, the boot loader reads the configuration parameters of the corresponding configuration area, and if a fault flag is found, the CS watchdog gates the SPIFlash2, and the BMC is restarted from the boot loader in the SPIFlash 2.
In some embodiments of the present invention, writing the special mark to the first parameter area of the first start-up procedure further comprises:
and acquiring an address of the segmented second starting program represented by the special mark in a second memory chip, and storing the address in a second parameter area of the first starting program in the first memory chip.
In this embodiment, the same procedure as that of starting the BMC at the SPIFlash1, if the boot loader in the BMC using the SPIFlash1 fails to start the related function program, the corresponding point of the function failure is also saved in the configuration parameters of the boot loader.
In some embodiments of the invention, the method further comprises:
judging whether the special mark exists in the first parameter area of the first starting program in the first memory chip or not in response to successful loading of the first starting program;
and when the first starting program loads a second starting program represented by the special mark, loading the second starting program from the second memory chip according to the address in the second parameter area.
In this embodiment, during the starting process of the BMC, the boot loader is a program on the SPIFlash1, and the configuration parameter of the boot loader has a special flag of the corresponding function program, and in this case, the firmware program corresponding to the function program in the corresponding SPIFlash2 may be read by another SPI controller 2 through the structure shown in fig. 5.
In some embodiments of the invention, the method further comprises:
in response to successful loading of the first starting program, acquiring the second starting program from the first memory chip and the second memory chip respectively, and comparing the second starting program acquired from the first memory chip and the second memory chip;
judging the loading results of the different second starting programs in response to the comparison results of the second starting programs obtained from the first memory chip and the second memory chip being different;
and in response to successful loading of the second starting program, storing the special mark of the second starting program into a first parameter area of the first starting program of the second memory chip.
In this embodiment, as shown in fig. 5, the BMC acquires the started firmware programs from the SPIFlash1 and the SPIFlash2 at the same time, but loads boot programs in the SPIFlash1 preferentially, compares the acquired programs in the two Flash one by one, and when the comparison results are different, it may indicate that 1 firmware program has a problem (possibly stored data damage or write error when writing data), and then loads the functional program of the SPIFlash1 preferentially. If the loading fails, the problem is that the data of the function program firmware in the SPIFASH 1 is damaged, if the loading is successful, the data of the function program firmware in the SPIFASH 2 is damaged, and if the program in the SPIFASH 1 is problematic, the special mark of the function program is stored (not deleted) in the configuration parameter area of the boot program in the SPIFASH 1. Similarly, if the program in the SPIFASH 2 has a problem, the special mark of the function program is saved (not deleted) in the configuration parameter area of the boot loader in the SPIFASH 2.
In some embodiments of the invention, the method further comprises:
and in response to the failure of loading of the second starting program, saving the special mark of the second starting program to a first parameter area of the first starting program of the first memory chip, and loading the second starting program from the second memory chip.
In some embodiments of the invention, the method further comprises:
the corresponding special mark is obtained from the first parameter area in the first starting program in response to successful loading of the first starting program, and the second starting program represented by the special mark is loaded from the second memory chip in response to the second starting program represented by the special mark in the first memory chip; and
and loading the second starting program represented by the special mark from the first memory chip in response to the second starting program represented by the special mark on the second memory chip.
In this embodiment, as shown in the configuration structure of the BMC in fig. 5, the BMC is provided with two SPI controllers, namely, the SPI controller 1 and the SPI controller 2, and if the firmware of the function program in the SPIFlash1 and the SPIFlash2 is problematic, when the BMC is started, the corresponding firmware program can be read in a mode of combining the two spiflashes respectively, so as to realize the stability of starting the BMC. As long as two SPIFLash do not appear and the function program at the same position has faults, the stable starting of the BMC can be realized.
The method for storing and starting the firmware of the baseboard management controller of the server is based on the hardware architecture of the server, and the boot program is started by adding the external chip selection watchdog of the dual SPI Flash and matching with the boot partition of the firmware, so that the dual-partition redundancy backup of the firmware of the baseboard management controller is completed, the safety and stability of the firmware of the baseboard management controller are greatly improved, and the method has positive significance for running fault tolerance of the server.
As shown in fig. 2, another aspect of the present invention further proposes a computer device, including:
at least one processor 21; and
a memory 22 storing computer instructions 23 executable on the processor, the instructions 23 when executed by the processor 21 implementing a method of starting a baseboard management controller of a server, comprising:
loading a first starting program from a first memory chip;
responsive to successful loading of the first boot program, loading a second boot program of a baseboard management controller of the server based on the first boot program in a segmented manner;
and responding to failure of the second starting program of the sectional loading of the server baseboard management controller, writing the failed sectional point into a first parameter area of the first starting program in the first memory chip, and restarting the baseboard management controller of the server through the first starting program in the second memory chip.
In some embodiments of the present invention, loading a second boot program of a baseboard management controller of the server based on the first boot program in a segmented manner includes:
segmenting the second starting program according to the function type;
generating a special tag for the second boot program of any segment prior to loading the second boot program of the segment;
writing the special mark into the first parameter area of the first starting program;
and deleting the special mark of the segmented second boot program from the first parameter area in response to successful loading of the segmented second boot program.
In some embodiments of the invention, the method further comprises:
judging whether the special mark exists in the first parameter area of the first starting program in the first memory chip or not in response to successful loading of the first starting program;
in response to the presence of the special flag, the baseboard management controller is switched to the second memory chip and restarted.
In some embodiments of the present invention, writing the special mark to the first parameter area of the first start-up procedure further comprises:
and acquiring an address of the segmented second starting program represented by the special mark in a second memory chip, and storing the address in a second parameter area of the first starting program in the first memory chip.
In some embodiments of the invention, the method further comprises:
judging whether the special mark exists in the first parameter area of the first starting program in the first memory chip or not in response to successful loading of the first starting program;
and when the first starting program loads a second starting program represented by the special mark, loading the second starting program from the second memory chip according to the address in the second parameter area.
In some embodiments of the invention, the method further comprises:
in response to successful loading of the first starting program, acquiring the second starting program from the first memory chip and the second memory chip respectively, and comparing the second starting program acquired from the first memory chip and the second memory chip;
judging the loading results of the different second starting programs in response to the comparison results of the second starting programs obtained from the first memory chip and the second memory chip being different;
and in response to successful loading of the second starting program, storing the special mark of the second starting program into a first parameter area of the first starting program of the second memory chip.
In some embodiments of the invention, the method further comprises:
and in response to the failure of loading of the second starting program, saving the special mark of the second starting program to a first parameter area of the first starting program of the first memory chip, and loading the second starting program from the second memory chip.
In some embodiments of the invention, the method further comprises:
the corresponding special mark is obtained from the first parameter area in the first starting program in response to successful loading of the first starting program, and the second starting program represented by the special mark is loaded from the second memory chip in response to the second starting program represented by the special mark in the first memory chip; and
and loading the second starting program represented by the special mark from the first memory chip in response to the second starting program represented by the special mark on the second memory chip.
As shown in fig. 3, still another aspect of the present invention further proposes a computer readable storage medium 401, where the computer readable storage medium 401 stores a computer program 402, where the computer program 402 when executed by a processor implements a method for starting up a baseboard management controller of a server, including:
loading a first starting program from a first memory chip;
responsive to successful loading of the first boot program, loading a second boot program of a baseboard management controller of the server based on the first boot program in a segmented manner;
and responding to failure of the second starting program of the sectional loading of the server baseboard management controller, writing the failed sectional point into a first parameter area of the first starting program in the first memory chip, and restarting the baseboard management controller of the server through the first starting program in the second memory chip.
In some embodiments of the present invention, loading a second boot program of a baseboard management controller of the server based on the first boot program in a segmented manner includes:
segmenting the second starting program according to the function type;
generating a special tag for the second boot program of any segment prior to loading the second boot program of the segment;
writing the special mark into the first parameter area of the first starting program;
and deleting the special mark of the segmented second boot program from the first parameter area in response to successful loading of the segmented second boot program.
In some embodiments of the invention, the method further comprises:
judging whether the special mark exists in the first parameter area of the first starting program in the first memory chip or not in response to successful loading of the first starting program;
in response to the presence of the special flag, the baseboard management controller is switched to the second memory chip and restarted.
In some embodiments of the present invention, writing the special mark to the first parameter area of the first start-up procedure further comprises:
and acquiring an address of the segmented second starting program represented by the special mark in a second memory chip, and storing the address in a second parameter area of the first starting program in the first memory chip.
In some embodiments of the invention, the method further comprises:
judging whether the special mark exists in the first parameter area of the first starting program in the first memory chip or not in response to successful loading of the first starting program;
and when the first starting program loads a second starting program represented by the special mark, loading the second starting program from the second memory chip according to the address in the second parameter area.
In some embodiments of the invention, the method further comprises:
in response to successful loading of the first starting program, acquiring the second starting program from the first memory chip and the second memory chip respectively, and comparing the second starting program acquired from the first memory chip and the second memory chip;
judging the loading results of the different second starting programs in response to the comparison results of the second starting programs obtained from the first memory chip and the second memory chip being different;
and in response to successful loading of the second starting program, storing the special mark of the second starting program into a first parameter area of the first starting program of the second memory chip.
In some embodiments of the invention, the method further comprises:
and in response to the failure of loading of the second starting program, saving the special mark of the second starting program to a first parameter area of the first starting program of the first memory chip, and loading the second starting program from the second memory chip.
In some embodiments of the invention, the method further comprises:
the corresponding special mark is obtained from the first parameter area in the first starting program in response to successful loading of the first starting program, and the second starting program represented by the special mark is loaded from the second memory chip in response to the second starting program represented by the special mark in the first memory chip; and
and loading the second starting program represented by the special mark from the first memory chip in response to the second starting program represented by the special mark on the second memory chip.
The foregoing is an exemplary embodiment of the present disclosure, but it should be noted that various changes and modifications could be made herein without departing from the scope of the disclosure as defined by the appended claims. The functions, steps and/or actions of the method claims in accordance with the disclosed embodiments described herein need not be performed in any particular order. Furthermore, although elements of the disclosed embodiments may be described or claimed in the singular, the plural is contemplated unless limitation to the singular is explicitly stated.
It should be understood that as used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly supports the exception. It should also be understood that "and/or" as used herein is meant to include any and all possible combinations of one or more of the associated listed items.
The foregoing embodiment of the present invention has been disclosed with reference to the number of embodiments for the purpose of description only, and does not represent the advantages or disadvantages of the embodiments.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program for instructing relevant hardware, where the program may be stored in a computer readable storage medium, and the storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
Those of ordinary skill in the art will appreciate that: the above discussion of any embodiment is merely exemplary and is not intended to imply that the scope of the disclosure of embodiments of the invention, including the claims, is limited to such examples; combinations of features of the above embodiments or in different embodiments are also possible within the idea of an embodiment of the invention, and there are many other variations of the different aspects of the embodiments of the invention as described above, which are not provided in detail for the sake of brevity. Therefore, any omission, modification, equivalent replacement, improvement, etc. of the embodiments should be included in the protection scope of the embodiments of the present invention.

Claims (9)

1. A method for starting a baseboard management controller of a server, comprising:
loading a first starting program from a first memory chip;
responsive to successful loading of the first boot program, loading a second boot program of a baseboard management controller of the server based on the first boot program in a segmented manner;
responding to failure of the second starting program of the sectional loading of the server baseboard management controller, writing the failed sectional point into a first parameter area of the first starting program in the first memory chip, and restarting the baseboard management controller of the server through the first starting program in the second memory chip;
the second startup procedure of the baseboard management controller based on the first startup procedure and loading the server in a segmented way comprises the following steps:
segmenting the second starting program according to the function type;
generating a special tag for the second boot program of any segment prior to loading the second boot program of the segment;
writing the special mark into the first parameter area of the first starting program;
and deleting the special mark of the segmented second boot program from the first parameter area in response to successful loading of the segmented second boot program.
2. The method as recited in claim 1, further comprising:
judging whether the special mark exists in the first parameter area of the first starting program in the first memory chip or not in response to successful loading of the first starting program;
in response to the presence of the special flag, the baseboard management controller is switched to the second memory chip and restarted.
3. The method of claim 1, wherein said writing said special mark to said first parameter area of said first boot program further comprises:
and acquiring an address of the segmented second starting program represented by the special mark in a second memory chip, and storing the address in a second parameter area of the first starting program in the first memory chip.
4. The method as recited in claim 2, further comprising:
judging whether the special mark exists in the first parameter area of the first starting program in the first memory chip or not in response to successful loading of the first starting program;
and when the first starting program loads a second starting program represented by the special mark, loading the second starting program from the second memory chip according to the address in the second parameter area.
5. The method as recited in claim 1, further comprising:
in response to successful loading of the first starting program, acquiring the second starting program from the first memory chip and the second memory chip respectively, and comparing the second starting program acquired from the first memory chip and the second memory chip;
judging the loading result of the different second starting programs in response to the fact that the results of the comparison of the second starting programs obtained from the first memory chip and the second memory chip are different;
and in response to successful loading of the second starting program, storing the special mark of the second starting program into a first parameter area of the first starting program of the second memory chip.
6. The method as recited in claim 5, further comprising:
and in response to the failure of loading of the second starting program, saving the special mark of the second starting program to a first parameter area of the first starting program of the first memory chip, and loading the second starting program from the second memory chip.
7. The method as recited in claim 6, further comprising:
the corresponding special mark is obtained from the first parameter area in the first starting program in response to successful loading of the first starting program, and the second starting program represented by the special mark is loaded from the second memory chip in response to the second starting program represented by the special mark in the first memory chip; and
and loading the second starting program represented by the special mark from the first memory chip in response to the second starting program represented by the special mark on the second memory chip.
8. A computer device, comprising:
at least one processor; and
a memory storing computer instructions executable on the processor, which when executed by the processor, perform the steps of the method of any one of claims 1-7.
9. A computer readable storage medium storing a computer program, characterized in that the computer program when executed by a processor implements the steps of the method of any one of claims 1-7.
CN202111278957.9A 2021-10-31 2021-10-31 Starting method, equipment and medium of baseboard management controller of server Active CN114047958B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111278957.9A CN114047958B (en) 2021-10-31 2021-10-31 Starting method, equipment and medium of baseboard management controller of server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111278957.9A CN114047958B (en) 2021-10-31 2021-10-31 Starting method, equipment and medium of baseboard management controller of server

Publications (2)

Publication Number Publication Date
CN114047958A CN114047958A (en) 2022-02-15
CN114047958B true CN114047958B (en) 2023-07-14

Family

ID=80206468

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111278957.9A Active CN114047958B (en) 2021-10-31 2021-10-31 Starting method, equipment and medium of baseboard management controller of server

Country Status (1)

Country Link
CN (1) CN114047958B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114860322A (en) * 2022-04-20 2022-08-05 联想(北京)信息技术有限公司 Substrate management controller, control method and electronic equipment
CN114661368B (en) * 2022-05-19 2022-09-06 中昊芯英(杭州)科技有限公司 Chip and starting method thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186393A (en) * 2011-12-30 2013-07-03 鸿富锦精密工业(深圳)有限公司 Electronic device with substrate management controller firmware and firmware loading method
WO2016101712A1 (en) * 2014-12-22 2016-06-30 小米科技有限责任公司 Firmware recovery method, device and terminal
CN105785856A (en) * 2016-02-26 2016-07-20 西安电子科技大学 Program dynamic segment loading device and method based on bomb-borne application
CN110908847A (en) * 2019-11-22 2020-03-24 苏州浪潮智能科技有限公司 Abnormity recovery method, system, electronic equipment and storage medium
CN112579338A (en) * 2020-12-30 2021-03-30 浪潮电子信息产业股份有限公司 Starting method and system of equipment and storage medium
CN113377425A (en) * 2021-06-29 2021-09-10 南昌华勤电子科技有限公司 BMC firmware generation method and device, BMC starting method and device and storage medium

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946553B2 (en) * 2016-05-04 2018-04-17 America Megatrends, Inc. BMC firmware recovery
TWI655582B (en) * 2017-09-12 2019-04-01 神雲科技股份有限公司 Server with dual firmware storage space and firmware update method thereof

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103186393A (en) * 2011-12-30 2013-07-03 鸿富锦精密工业(深圳)有限公司 Electronic device with substrate management controller firmware and firmware loading method
WO2016101712A1 (en) * 2014-12-22 2016-06-30 小米科技有限责任公司 Firmware recovery method, device and terminal
CN105785856A (en) * 2016-02-26 2016-07-20 西安电子科技大学 Program dynamic segment loading device and method based on bomb-borne application
CN110908847A (en) * 2019-11-22 2020-03-24 苏州浪潮智能科技有限公司 Abnormity recovery method, system, electronic equipment and storage medium
CN112579338A (en) * 2020-12-30 2021-03-30 浪潮电子信息产业股份有限公司 Starting method and system of equipment and storage medium
CN113377425A (en) * 2021-06-29 2021-09-10 南昌华勤电子科技有限公司 BMC firmware generation method and device, BMC starting method and device and storage medium

Also Published As

Publication number Publication date
CN114047958A (en) 2022-02-15

Similar Documents

Publication Publication Date Title
CN114047958B (en) Starting method, equipment and medium of baseboard management controller of server
US7831857B2 (en) Method and system for recovering from operating system crash or failure
CN103970564A (en) Automatic repairing and upgrading method of embedded operating system and embedded operating system with automatic repairing and upgrading functions
WO2012031567A1 (en) Fault tolerance method and device for file system
CN112328358A (en) Dual-system starting method based on virtual machine and storage medium
CN111651304B (en) Software recovery method and device based on double-core intelligent ammeter and computer equipment
CN111090546A (en) Method, device and equipment for restarting operating system and readable storage medium
CN113867807A (en) Method, device, equipment and storage medium for shortening power-on time of server
CN113626262A (en) BMC recovery method, system, equipment and medium
CN113157303A (en) Upgrading method, embedded system, terminal and computer storage medium
CN112131043A (en) Method and device for detecting and recovering abnormity of basic input and output system
CN114398087B (en) Method for improving running stability of singlechip after program updating and singlechip
JP2002049509A (en) Data processing system
CN113791874A (en) Configuration method and device for virtual machine boot, computer equipment and storage medium
CN113849235A (en) Control method and device and electronic equipment
CN113778485A (en) System operation method and device of electronic chip, electronic chip and storage medium
US20160004607A1 (en) Information processing apparatus and information processing method
CN113806139A (en) Operating system recovery method, operating system recovery device, storage medium and computer program product
CN112882757A (en) Embedded system double-partition safe starting method
US9804932B2 (en) Method and device for processing data and electronic apparatus
WO2022154795A1 (en) Uefi variables generation
CN111897583A (en) Equipment starting method and embedded equipment
US20220206823A1 (en) Information processing method and electronic apparatus
CN116820605A (en) Baseboard management controller safety starting method, device, equipment and storage medium
US20230081290A1 (en) Duplex operation system, duplex operation method, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant