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

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

Info

Publication number
CN114047958A
CN114047958A CN202111278957.9A CN202111278957A CN114047958A CN 114047958 A CN114047958 A CN 114047958A CN 202111278957 A CN202111278957 A CN 202111278957A CN 114047958 A CN114047958 A CN 114047958A
Authority
CN
China
Prior art keywords
program
loading
starting
management controller
special mark
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111278957.9A
Other languages
Chinese (zh)
Other versions
CN114047958B (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 starting method of a baseboard management controller of a server comprises the following steps: loading a first starting program from a first storage chip; responding to the successful loading of the first starting program, and loading a second starting program of the baseboard management controller of the server in a sectional mode based on the first starting program; and in response to the failure of the second starting program of the segmented loading server baseboard management controller, writing the failed segment point into a first parameter area of the first starting program in the first storage chip, and restarting the baseboard management controller of the server through the first starting program in the second storage chip. The method for storing and starting the firmware of the substrate management controller of the server is based on a server hardware architecture, double-SPI Flash external chip selection watchdog is added, a boot partition is matched with a firmware boot partition to start a bootstrap program, double-partition redundancy backup of the firmware of the substrate management controller is completed, safety and stability of the firmware of the substrate management controller are greatly improved, and the method has positive significance for fault tolerance of server operation.

Description

Starting method, equipment and medium for baseboard management controller of server
Technical Field
The invention belongs to the field of computers, and particularly relates to a starting method, equipment and a medium of a baseboard management controller of a server.
Background
The invention provides a firmware storing and starting method of a baseboard management controller, which can ensure that the baseboard management controller can reliably and stably run in the running and starting stages, and avoid the problem that a server cannot normally run due to the failure of starting or abnormal running of the baseboard management controller caused by software and hardware faults. The SPI controller is an interface for the substrate management controller to communicate with external Flash, the substrate management controller can access Flash data through the interface, and firmware of the substrate management controller is usually stored in Flash. The complete firmware data is often divided into a plurality of areas, which usually include boot areas, conf areas, root areas, and the like, and different areas correspond to different functions of the bmc. However, in the boot process of the prior art, the boot failure is caused by the loading problem of any one area. Although there are a plurality of Flash memories, a restart operation is required for the board management controller at the time of startup.
Therefore, a new method for starting the bmc of the server is needed to solve the above 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 storage chip;
in response to the first boot program loading being successful, loading a second boot program of a baseboard management controller of the server in a segmented manner based on the first boot program;
in response to failure of a second starting program of the server baseboard management controller loaded in a segmented mode, writing the failed segmentation point into a first parameter area of the first starting program in the first storage chip, and restarting the baseboard management controller of the server through the first starting program in the second storage chip.
In some embodiments of the present invention, the step of loading the second boot program of the baseboard management controller of the server based on the first boot program in a segment comprises:
segmenting the second starting program according to the function type;
generating a special mark of the second starting program of any section before loading the second starting program of the section;
writing the special mark into the first parameter area of the first boot program;
in response to successful loading of the segmented second boot program, deleting the special token of the segmented second boot program from the first parameter area.
In some embodiments of the invention, the method further comprises:
responding to the successful loading of the first starting program, and judging whether the special mark exists in the first parameter area of the first starting program in the first storage chip or not;
and responding to the existence of the special mark, switching the baseboard management controller to the second storage chip and restarting the baseboard management controller.
In some embodiments of the present invention, writing the special mark to the first parameter area of the first startup procedure further comprises:
and acquiring the 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:
responding to the successful loading of the first starting program, and judging whether the special mark exists in the first parameter area of the first starting program in the first storage chip or not;
and when the first boot program loads a second boot program represented by the special mark, loading the second boot program from the second storage chip according to the address in the second parameter area.
In some embodiments of the invention, the method further comprises:
in response to the first startup program being successfully loaded, respectively acquiring the second startup program from the first memory chip and the second memory chip, and comparing the second startup program acquired from the first memory chip and the second memory chip;
in response to that the results of comparing the second startup programs acquired from the first memory chip and the second memory chip are different, determining the loading results of the different second startup programs;
and in response to the successful loading of the second boot program, saving the special mark of the second boot program to a first parameter area of the first boot program of the second memory chip.
In some embodiments of the invention, the method further comprises:
and in response to the loading failure of the second boot program, saving the special mark of the second boot program to a first parameter area of the first boot program of the first storage chip, and loading the second boot program from the second storage chip.
In some embodiments of the invention, the method further comprises:
responding to the successful loading of the first startup program, acquiring the corresponding special mark from the first parameter area in the first startup program, and responding to the second startup program represented by the special mark in the first storage chip, and loading the second startup program represented by the special mark from the second storage chip; and
and loading the second starting program represented by the special mark from the first storage chip in response to the second starting program represented by the special mark in the second storage chip.
Another aspect of the present invention further provides a computer device, including:
at least one processor; and
a memory storing computer instructions executable on the processor, the instructions when executed by the processor implementing the steps of the method of any one of the above embodiments.
In yet another aspect, the present invention further provides a computer-readable storage medium, which stores a computer program, wherein the computer program is configured to implement the steps of the method according to any one of the above embodiments when executed by a processor.
The method for storing and starting the firmware of the substrate management controller of the server is based on a server hardware architecture, double-SPI Flash external chip selection watchdog is added, a boot partition is matched with a firmware boot partition to start a bootstrap program, double-partition redundancy backup of the firmware of the substrate management controller is completed, safety and stability of the firmware of the substrate management controller are greatly improved, and the method has positive significance for fault tolerance of server operation.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a 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 are described in further detail with reference to the accompanying drawings.
It should be noted that all expressions using "first" and "second" in the embodiments of the present invention are used for distinguishing two entities with the same name but different names or different parameters, and it should be noted that "first" and "second" are merely for convenience of description and should not be construed as limitations of the embodiments of the present invention, and they are not described in any more detail in the following embodiments.
As shown in fig. 1, a first aspect of an embodiment of the present invention provides a method for starting a baseboard management controller of a server, including:
step S1, loading a first startup program from the first memory chip;
step S2, responding to the successful loading of the first startup program, and loading a second startup program of a baseboard management controller of the server in a segmented mode based on the first startup program;
step S3, in response to failure of the second boot program for the server baseboard management controller, writing the failed segment point into the first parameter area of the first boot program in the first memory chip, and restarting the baseboard management controller of the server through the first boot program in the second memory chip.
In the present invention, what the present invention is to solve is a problem of a failure in a starting process of a server baseboard management controller (hereinafter abbreviated as BMC), fig. 4 shows a configuration reference diagram of the server baseboard management controller in a server of the present invention, firmware issued by the server baseboard management controller is stored in an SPI Flash external to the BMC of the server, in order to improve reliability of the firmware, two flashes are currently mounted on the BMC SPI controller in an SPI Flash redundancy manner, and firmware starting and loading are realized in an SPI CS chip selection manner. A hardware watchdog CS chip selection mechanism is added on hardware, a hardware chip selection watchdog is started after the BMC is powered on, a CS chip selection signal is automatically switched when the watchdog is overtime, the function that the BMC loads firmware data from different flashes is realized, BMC firmware contents stored in two SPI flashes are completely the same, and a physical redundancy mode is used, so that the problem of BMC failure caused by hardware failure is effectively solved.
In the embodiment of the present invention, in step S1, when the BMC is started, a boot loader of about 8K is read from the SPI Flash1 by using the strobe SPI Flash1 with the default configuration of the CS watchdog in the default case;
in step S2, after the boot program is loaded to the BMC, the boot program starts to run, and other subsequent functional programs of the BMC are loaded. When loading other subsequent functional programs of the BMC, loading other functional programs in a sectional mode;
in step S3, if the boot loader needs to determine whether the boot loader has been successfully installed in any of the other loaded function programs, if the boot loader has failed to be installed, the boot loader is marked as having failed to be installed and stored in the configuration parameter area of the boot loader stored in the SPIFlash1, so as to mark that the boot loader has failed to be executed when being loaded by using SPIFlash1, and the BMC is restarted and reloaded.
In some embodiments of the present invention, after the BMC is restarted after failing to boot up due to the use of the SPIFlash1, the BMC then starts to perform the load from the 8KB boot loader in the SPIFlash 1. And after the boot program loads and finishes reading the relevant configuration parameters of the configuration parameter area of the boot program, if a starting failure mark which is saved in the previous starting process and uses SPIFlash1 is found, the boot program controls the CS watchdog to gate the SPIFlash2, and then the hot restart BMC starts the BMC from the SPIFlash 2.
In some embodiments of the present invention, the step of loading the second boot program of the baseboard management controller of the server based on the first boot program in a segment comprises:
segmenting the second starting program according to the function type;
generating a special mark of the second starting program of any section before loading the second starting program of the section;
writing the special mark into the first parameter area of the first boot program;
in response to successful loading of the segmented second boot program, deleting the special token of the segmented second boot program from the first parameter area.
In this embodiment, in the process of writing the flag into the configuration parameter area of the boot program of the BMC, the flag is not written after the corresponding segmented functional program is written separately, but before the corresponding functional program is loaded, the special flag of the functional program is generated and written into the configuration parameter area of the boot program. When the functional program is loaded, the boot bootstrap program deletes the special mark which is stored previously and represents the functional program. If the function program fails to be loaded, the boot program may be jammed or the device may be restarted by the interrupt of the BMC, and the special mark cannot be modified, so that the special mark is just saved.
In some embodiments of the invention, the method further comprises:
responding to the successful loading of the first starting program, and judging whether the special mark exists in the first parameter area of the first starting program in the first storage chip or not;
and responding to the existence of the special mark, switching the baseboard management controller to the second storage chip and restarting the baseboard management controller.
In this embodiment, if when the BMC is started, the CS watchdog gates the SPIFlash1 in the default condition, and after the boot program of the SPIFlash1 is loaded, the boot program reads the configuration parameters of the corresponding configuration area, and finds that there is a fault flag, the CS watchdog gates the SPIFlash2, and the BMC is restarted from the boot program in the SPIFlash 2.
In some embodiments of the present invention, writing the special mark to the first parameter area of the first startup procedure further comprises:
and acquiring the 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, as in the process of starting the BMC in SPIFlash1, if the boot program in SPIFlash1 fails to start the related function program in the BMC, the corresponding point of function failure is also saved in the configuration parameters of the boot program.
In some embodiments of the invention, the method further comprises:
responding to the successful loading of the first starting program, and judging whether the special mark exists in the first parameter area of the first starting program in the first storage chip or not;
and when the first boot program loads a second boot program represented by the special mark, loading the second boot program from the second storage chip according to the address in the second parameter area.
In this embodiment, during the boot process of the BMC, the boot loader passes through the program on the SPIFlash1, and the configuration parameter of the boot loader has a special mark of the corresponding function program, and in this case, the firmware program corresponding to the function program in the corresponding SPIFlash2 can be read by another SPI controller 2 in the structure shown in fig. 5.
In some embodiments of the invention, the method further comprises:
in response to the first startup program being successfully loaded, respectively acquiring the second startup program from the first memory chip and the second memory chip, and comparing the second startup program acquired from the first memory chip and the second memory chip;
in response to the comparison result of the second starting programs obtained from the first storage chip and the second storage chip being different, judging the loading result of the different second starting programs;
and in response to the successful loading of the second boot program, saving the special mark of the second boot program to a first parameter area of the first boot program of the second memory chip.
In this embodiment, as shown in fig. 5, the BMC obtains the started firmware programs from SPIFlash1 and SPIFlash2 at the same time, but preferentially loads the boot program in SPIFlash1, and compares the obtained programs in the two flashes one by one, and when the comparison result is different, it may indicate that 1 firmware program has a problem (it may be that the stored data is damaged, or a write error occurs when data is written), and at this time, preferentially loads the functional program of SPIFlash 1. If the loading fails, it indicates that the data of the firmware of the functional program in SPIFlash1 is damaged, if the loading succeeds, it indicates that the data of the firmware of the functional program in SPIFlash2 is damaged, and if the program in SPIFlash1 is damaged, the special flag of the functional program is saved (not deleted) in the configuration parameter area of the boot loader in SPIFlash 1. Similarly, if a problem occurs in the program in SPIFlash2, the special flag of the function program is saved (not deleted) in the configuration parameter area of the boot loader in SPIFlash 2.
In some embodiments of the invention, the method further comprises:
and in response to the loading failure of the second boot program, saving the special mark of the second boot program to a first parameter area of the first boot program of the first storage chip, and loading the second boot program from the second storage chip.
In some embodiments of the invention, the method further comprises:
responding to the successful loading of the first startup program, acquiring the corresponding special mark from the first parameter area in the first startup program, and responding to the second startup program represented by the special mark in the first storage chip, and loading the second startup program represented by the special mark from the second storage chip; and
and loading the second starting program represented by the special mark from the first storage chip in response to the second starting program represented by the special mark in the second storage chip.
In this embodiment, as shown in the configuration structure of the BMC shown in fig. 5, the BMC includes two SPI controllers, i.e., SPI controller 1 and SPI controller 2, and if the firmware of the functional programs in spilash 1 and spilash 2 has a problem, the corresponding firmware programs can be read in a manner of being combined from the two spilash respectively when the BMC is started, so as to achieve the stability of the start of the BMC. As long as two SPIFlash do not have the fault of the functional programs at the same position at the same time, the stable start of the BMC can be realized.
The method for storing and starting the firmware of the substrate management controller of the server is based on a server hardware architecture, double-SPI Flash external chip selection watchdog is added, a boot partition is matched with a firmware boot partition to start a bootstrap program, double-partition redundancy backup of the firmware of the substrate management controller is completed, safety and stability of the firmware of the substrate management controller are greatly improved, and the method has positive significance for fault tolerance of server operation.
As shown in fig. 2, another aspect of the present invention also provides 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 for starting a baseboard management controller of a server, comprising:
loading a first starting program from a first storage chip;
in response to the first boot program loading being successful, loading a second boot program of a baseboard management controller of the server in a segmented manner based on the first boot program;
in response to failure of a second starting program of the server baseboard management controller loaded in a segmented mode, writing the failed segmentation point into a first parameter area of the first starting program in the first storage chip, and restarting the baseboard management controller of the server through the first starting program in the second storage chip.
In some embodiments of the present invention, the step of loading the second boot program of the baseboard management controller of the server based on the first boot program in a segment comprises:
segmenting the second starting program according to the function type;
generating a special mark of the second starting program of any section before loading the second starting program of the section;
writing the special mark into the first parameter area of the first boot program;
in response to successful loading of the segmented second boot program, deleting the special token of the segmented second boot program from the first parameter area.
In some embodiments of the invention, the method further comprises:
responding to the successful loading of the first starting program, and judging whether the special mark exists in the first parameter area of the first starting program in the first storage chip or not;
and responding to the existence of the special mark, switching the baseboard management controller to the second storage chip and restarting the baseboard management controller.
In some embodiments of the present invention, writing the special mark to the first parameter area of the first startup procedure further comprises:
and acquiring the 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:
responding to the successful loading of the first starting program, and judging whether the special mark exists in the first parameter area of the first starting program in the first storage chip or not;
and when the first boot program loads a second boot program represented by the special mark, loading the second boot program from the second storage chip according to the address in the second parameter area.
In some embodiments of the invention, the method further comprises:
in response to the first startup program being successfully loaded, respectively acquiring the second startup program from the first memory chip and the second memory chip, and comparing the second startup program acquired from the first memory chip and the second memory chip;
in response to the comparison result of the second starting programs obtained from the first storage chip and the second storage chip being different, judging the loading result of the different second starting programs;
and in response to the successful loading of the second boot program, saving the special mark of the second boot program to a first parameter area of the first boot program of the second memory chip.
In some embodiments of the invention, the method further comprises:
and in response to the loading failure of the second boot program, saving the special mark of the second boot program to a first parameter area of the first boot program of the first storage chip, and loading the second boot program from the second storage chip.
In some embodiments of the invention, the method further comprises:
responding to the successful loading of the first startup program, acquiring the corresponding special mark from the first parameter area in the first startup program, and responding to the second startup program represented by the special mark in the first storage chip, and loading the second startup program represented by the special mark from the second storage chip; and
and loading the second starting program represented by the special mark from the first storage chip in response to the second starting program represented by the special mark in the second storage chip.
As shown in fig. 3, a further aspect of the present invention also provides a computer-readable storage medium 401, where the computer-readable storage medium 401 stores a computer program 402, and when executed by a processor, the computer program 402 implements a method for starting a baseboard management controller of a server, including:
loading a first starting program from a first storage chip;
in response to the first boot program loading being successful, loading a second boot program of a baseboard management controller of the server in a segmented manner based on the first boot program;
in response to failure of a second starting program of the server baseboard management controller loaded in a segmented mode, writing the failed segmentation point into a first parameter area of the first starting program in the first storage chip, and restarting the baseboard management controller of the server through the first starting program in the second storage chip.
In some embodiments of the present invention, the step of loading the second boot program of the baseboard management controller of the server based on the first boot program in a segment comprises:
segmenting the second starting program according to the function type;
generating a special mark of the second starting program of any section before loading the second starting program of the section;
writing the special mark into the first parameter area of the first boot program;
in response to successful loading of the segmented second boot program, deleting the special token of the segmented second boot program from the first parameter area.
In some embodiments of the invention, the method further comprises:
responding to the successful loading of the first starting program, and judging whether the special mark exists in the first parameter area of the first starting program in the first storage chip or not;
and responding to the existence of the special mark, switching the baseboard management controller to the second storage chip and restarting the baseboard management controller.
In some embodiments of the present invention, writing the special mark to the first parameter area of the first startup procedure further comprises:
and acquiring the 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:
responding to the successful loading of the first starting program, and judging whether the special mark exists in the first parameter area of the first starting program in the first storage chip or not;
and when the first boot program loads a second boot program represented by the special mark, loading the second boot program from the second storage chip according to the address in the second parameter area.
In some embodiments of the invention, the method further comprises:
in response to the first startup program being successfully loaded, respectively acquiring the second startup program from the first memory chip and the second memory chip, and comparing the second startup program acquired from the first memory chip and the second memory chip;
in response to the comparison result of the second starting programs obtained from the first storage chip and the second storage chip being different, judging the loading result of the different second starting programs;
and in response to the successful loading of the second boot program, saving the special mark of the second boot program to a first parameter area of the first boot program of the second memory chip.
In some embodiments of the invention, the method further comprises:
and in response to the loading failure of the second boot program, saving the special mark of the second boot program to a first parameter area of the first boot program of the first storage chip, and loading the second boot program from the second storage chip.
In some embodiments of the invention, the method further comprises:
responding to the successful loading of the first startup program, acquiring the corresponding special mark from the first parameter area in the first startup program, and responding to the second startup program represented by the special mark in the first storage chip, and loading the second startup program represented by the special mark from the second storage chip; and
and loading the second starting program represented by the special mark from the first storage chip in response to the second starting program represented by the special mark in the second storage 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 present 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 of the invention 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 numbers of the embodiments disclosed in the embodiments of the present invention are merely for description, and do not represent the merits 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 instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
Those of ordinary skill in the art will understand that: the discussion of any embodiment above is meant to be exemplary only, and is not intended to intimate that the scope of the disclosure, including the claims, of embodiments of the invention is limited to these examples; within the idea of an embodiment of the invention, also technical features in the above embodiment or in different embodiments may be combined and there are many other variations of the different aspects of an embodiment of the invention as described above, which are not provided in detail for the sake of brevity. Therefore, any omissions, modifications, substitutions, improvements, and the like that may be made without departing from the spirit and principles of the embodiments of the present invention are intended to be included within the scope of the embodiments of the present invention.

Claims (10)

1. A method for starting a baseboard management controller of a server is characterized by comprising the following steps:
loading a first starting program from a first storage chip;
in response to the first boot program loading being successful, loading a second boot program of a baseboard management controller of the server in a segmented manner based on the first boot program;
in response to failure of a second starting program of the server baseboard management controller loaded in a segmented mode, writing the failed segmentation point into a first parameter area of the first starting program in the first storage chip, and restarting the baseboard management controller of the server through the first starting program in the second storage chip.
2. The method of claim 1, wherein the step of segment loading a second boot program of a baseboard management controller of the server based on the first boot program comprises:
segmenting the second starting program according to the function type;
generating a special mark of the second starting program of any section before loading the second starting program of the section;
writing the special mark into the first parameter area of the first boot program;
in response to successful loading of the segmented second boot program, deleting the special token of the segmented second boot program from the first parameter area.
3. The method of claim 2, further comprising:
responding to the successful loading of the first starting program, and judging whether the special mark exists in the first parameter area of the first starting program in the first storage chip or not;
and responding to the existence of the special mark, switching the baseboard management controller to the second storage chip and restarting the baseboard management controller.
4. The method according to claim 2, wherein said writing said special mark to said first parameter area of said first boot program further comprises:
and acquiring the 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.
5. The method of claim 3, further comprising:
responding to the successful loading of the first starting program, and judging whether the special mark exists in the first parameter area of the first starting program in the first storage chip or not;
and when the first boot program loads a second boot program represented by the special mark, loading the second boot program from the second storage chip according to the address in the second parameter area.
6. The method of claim 2, further comprising:
in response to the first startup program being successfully loaded, respectively acquiring the second startup program from the first memory chip and the second memory chip, and comparing the second startup program acquired from the first memory chip and the second memory chip;
in response to that the results of comparing the second startup programs acquired from the first memory chip and the second memory chip are different, determining the loading results of the different second startup programs;
and in response to the successful loading of the second boot program, saving the special mark of the second boot program to a first parameter area of the first boot program of the second memory chip.
7. The method of claim 6, further comprising:
and in response to the loading failure of the second boot program, saving the special mark of the second boot program to a first parameter area of the first boot program of the first storage chip, and loading the second boot program from the second storage chip.
8. The method of claim 7, further comprising:
responding to the successful loading of the first startup program, acquiring the corresponding special mark from the first parameter area in the first startup program, and responding to the second startup program represented by the special mark in the first storage chip, and loading the second startup program represented by the special mark from the second storage chip; and
and loading the second starting program represented by the special mark from the first storage chip in response to the second starting program represented by the special mark in the second storage chip.
9. A computer device, comprising:
at least one processor; and
a memory storing computer instructions executable on the processor, the instructions when executed by the processor implementing the steps of the method of any one of claims 1 to 8.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 8.
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 true CN114047958A (en) 2022-02-15
CN114047958B 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)

Cited By (2)

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

Citations (8)

* 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
US20170322816A1 (en) * 2016-05-04 2017-11-09 American Megatrends, Inc. Bmc firmware recovery
US20190079748A1 (en) * 2017-09-12 2019-03-14 Mitac Computing Technology Corporation Server with double-firmware storage space and firmware update method therefor
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

Patent Citations (8)

* 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
US20170322816A1 (en) * 2016-05-04 2017-11-09 American Megatrends, Inc. Bmc firmware recovery
US20190079748A1 (en) * 2017-09-12 2019-03-14 Mitac Computing Technology Corporation Server with double-firmware storage space and firmware update method therefor
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

Cited By (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
CN114661368A (en) * 2022-05-19 2022-06-24 中昊芯英(杭州)科技有限公司 Chip and starting method thereof

Also Published As

Publication number Publication date
CN114047958B (en) 2023-07-14

Similar Documents

Publication Publication Date Title
JP5608139B2 (en) Handling errors during device boot-up from non-volatile memory
US7831857B2 (en) Method and system for recovering from operating system crash or failure
TWI571800B (en) Booting method and computer system
CN114047958B (en) Starting method, equipment and medium of baseboard management controller of server
CN103970564A (en) Automatic repairing and upgrading method of embedded operating system and embedded operating system with automatic repairing and upgrading functions
CN112328358A (en) Dual-system starting method based on virtual machine and storage medium
CN104424047A (en) NVRAM data recovery method and NVRAM data recovery device
CN113157303A (en) Upgrading method, embedded system, terminal and computer storage medium
CN113315675B (en) White box switch U-Boot automatic testing method, system and storage medium
US20060206764A1 (en) Memory reliability detection system and method
CN113626262A (en) BMC recovery method, system, equipment and medium
CN111124760B (en) Uboot-based embedded equipment starting method and apparatus
CN114398087B (en) Method for improving running stability of singlechip after program updating and singlechip
CN113377425B (en) BMC firmware generation method and device, BMC starting method and device and storage medium
CN114356658A (en) Processing method of firmware upgrading exception, computer equipment and readable storage medium
JP2002049509A (en) Data processing system
CN114510375A (en) Flash chip data area dynamic sharing system and method
CN113114730A (en) Upgrading method and device, terminal equipment and storage medium
US20220206823A1 (en) Information processing method and electronic apparatus
US20230236827A1 (en) Electronic device and code patching method
CN117130672A (en) Server start flow control method, system, terminal and storage medium
CN117389598A (en) Configuration update reinforcement method, device, electronic equipment and storage medium
CN117093399A (en) System starting method, system on chip, computer equipment and storage medium
CN116795592A (en) Firmware starting method and device, backboard and server
CN113986383A (en) Boot loader starting method and related device

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