[go: up one dir, main page]

CN119536827A - Server startup method and server - Google Patents

Server startup method and server Download PDF

Info

Publication number
CN119536827A
CN119536827A CN202411347773.7A CN202411347773A CN119536827A CN 119536827 A CN119536827 A CN 119536827A CN 202411347773 A CN202411347773 A CN 202411347773A CN 119536827 A CN119536827 A CN 119536827A
Authority
CN
China
Prior art keywords
server
file
bios module
bios
bmc
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.)
Pending
Application number
CN202411347773.7A
Other languages
Chinese (zh)
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.)
XFusion Digital Technologies Co Ltd
Original Assignee
XFusion Digital Technologies 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 XFusion Digital Technologies Co Ltd filed Critical XFusion Digital Technologies Co Ltd
Priority to CN202411347773.7A priority Critical patent/CN119536827A/en
Publication of CN119536827A publication Critical patent/CN119536827A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例提供了一种服务器启动方法及服务器,涉及服务器技术领域。所述方法应用于服务器,服务器的基板管理控制器BMC中存储有至少一个输入输出系统BIOS模块文件;方法包括:在服务器启动至目标阶段的情况下,向服务器的BMC发送文件请求消息,文件请求消息用于请求获取目标阶段所需执行的BIOS模块文件;获取BMC发送的BIOS模块文件;执行BIOS模块文件,以完成目标阶段的启动任务。这样,将服务器开机过程中所需使用的部分BIOS模块文件放在BMC中,可以进行单独配置、更新,提高BIOS模块文件部署与加载的灵活性,易于维护。

The embodiment of the present application provides a server startup method and a server, which relates to the field of server technology. The method is applied to a server, and at least one input-output system BIOS module file is stored in the baseboard management controller BMC of the server; the method includes: when the server is started to the target stage, sending a file request message to the BMC of the server, the file request message is used to request to obtain the BIOS module file required to be executed in the target stage; obtaining the BIOS module file sent by the BMC; executing the BIOS module file to complete the startup task of the target stage. In this way, some BIOS module files required to be used during the server startup process are placed in the BMC, which can be configured and updated separately, thereby improving the flexibility of BIOS module file deployment and loading, and facilitating maintenance.

Description

Server starting method and server
Technical Field
The present application relates to the field of server technologies, and in particular, to a server startup method and a server.
Background
The basic input output system (Basic Input Output System, BIOS) is the software necessary in the server boot process, which ensures the proper initialization of the hardware device and the smooth boot of the operating system. The smallest module of BIOS code is a binary executable file (i.e., EFI file) with suffix EFI, and the extension is an EFI (Extensible firmware interface) application, which is used to perform certain tasks at server boot up, such as booting an operating system, hardware initialization, system diagnostics, etc. The typical EFI file deployment method is that multiple EFI files are compiled and packaged by BIOS source codes and written into a nonvolatile memory flash of the server to be loaded and executed at different stages of starting up the server.
Because of the multiple nature of server configuration, the EFI files running on the servers of different central processing units (Central Processing Unit, CPU) are different, i.e., the EFI files need to be compiled separately by different servers and packaged into binary files until written into flash for use. It can be seen that this EFI file deployment is very poorly versatile, and there may be a problem that once one EFI file has a problem, all EFI files for implementing BIOS functions need to be refreshed. Moreover, the EFI file is compiled, packed and written into the flash, especially the CPU of the server is updated quickly, and the deployment mode ensures that even if the function of the BIOS operated after the CPU is updated is the same as that before the CPU is updated, the corresponding EFI file is required to be recompiled, packed and rewritten into the flash, so that the development time is long, the reusability is poor and the maintenance is difficult.
In summary, some changes are needed in this poorly versatile and difficult to maintain EFI deployment approach.
Disclosure of Invention
The embodiment of the application provides a server starting method, a device, a server, a computer storage medium and a computer program product, which can realize independent deployment and execution of EFI files and are convenient and quick to maintain and manage.
In a first aspect, an embodiment of the present application provides a method for starting a server, where a Baseboard Management Controller (BMC) of the server stores at least one BIOS module file of an input/output system, and the method includes sending a file request message to the Baseboard Management Controller (BMC) of the server when the server starts to a target stage, where the file request message is used to request to obtain a BIOS module file to be executed in the target stage, obtaining the BIOS module file sent by the BMC, and executing the BIOS module file to complete a starting task in the target stage.
In this embodiment, one or more BISO module files are stored in the BMC of the server, and each BIOS module file may be used to perform at least one function of the BIOS firmware, where these BIOS module files may be extensible firmware interface EFI files compiled from BIOS firmware source code. The starting process of the server may include a plurality of starting phases, including but not limited to a hardware initialization phase, a system diagnosis phase, a starting operating system phase, and the like, where in this embodiment, one or more starting phases may be set as a target phase in advance, so that when the server starts up to execute the target phase, a central processor of the server obtains a BIOS module file required to be executed by the target phase from the BMC and executes the BIOS module file, thereby implementing a starting task of the target phase. Therefore, the BIOS module file at the BMC side is independent of the BIOS firmware or EFI file stored in the server BIOS chip, can be updated and upgraded independently, is convenient to maintain, manage and execute, and has strong reusability.
In some possible examples, the starting process of the server comprises a plurality of stages, the target stage is one of the plurality of stages, before a file request message is sent to a Baseboard Management Controller (BMC) of the server when the server starts to the target stage, the method comprises the steps of sending a first request message to the BMC when the server starts to start or before starting to start, the first request message being used for confirming the quantity of BIOS module files stored in the BMC and executed in each stage, obtaining a first response message sent by the BMC, wherein the first response message comprises the quantity of the BIOS module files executed in each stage and first identification information, and the first identification information is used for identifying the BIOS module files.
In this way, before the BIOS module files of the target stage are acquired, the quantity and the identification of the BIOS module files which are stored in the BMC and executed in each target stage are acquired, so that invalid file requests generated later are avoided, and smooth startup of the server is ensured.
In some possible examples, the file request message is sent to the Baseboard Management Controller (BMC) of the server under the condition that the server starts to the target stage, and the file request message comprises first identification information of the BIOS module file if the BIOS module file capable of being executed in the target stage is determined to exist in the BMC from the first response message, and the file request message is sent to the BMC under the condition that the server starts to the target stage.
In this way, the central processing unit interacts with the BMC, the number and the identification of BISO module files executed in a target stage on the BMC are determined, and then the BISO module files are acquired based on the request, so that the success rate of acquiring the BIOS module files is ensured.
In some possible examples, acquiring the BIOS module file sent by the BMC includes acquiring a file response message sent by the BMC, where the file response message carries a BIOS module file to be executed in a target stage, and the BIOS module file is determined by the BMC according to first identification information included in the file request message.
Thus, the BMC can quickly and accurately send the BIOS module file to be executed according to the request of the central processing unit even if the BMC does not need to sense the current starting stage of the server.
In some possible examples, the starting process of the server at least comprises a target stage and a non-target stage, wherein the non-target stage is a starting stage outside the target stage, the method specifically comprises the steps of acquiring a pre-stored BIOS module file from a BIOS chip of the server when the server starts to the non-target stage, executing the BIOS module file acquired from the BIOS chip to complete a starting task of the non-target stage, sending a file request message to a Baseboard Management Controller (BMC) of the server when the server starts to the target stage, wherein the file request message is used for requesting to acquire the BIOS module file required to be executed by the target stage, acquiring the BIOS module file sent by the BMC, and executing the BIOS module file to complete the starting task of the target stage.
In this way, the BIOS module files in the BIOS chip and the BMC of the server can be stored, the BIOS module files in the BIOS chip can be used for realizing the starting task of the non-target stage in the starting process, and the BIOS module files in the BMC can be used for realizing the starting task of the target stage. That is, by orderly loading and running the BIOS module files stored in the BIOS chip and the BMC, the starting of the server is completed cooperatively, but there is no dependency relationship between the BIOS module files stored in the BIOS chip and the BMC, the BIOS chip and the BMC can independently deploy the EFI files, update and maintain each other independently, and improve the deployment flexibility. A user can store some appointed BIOS module files in the BMC according to the requirements, such as EFI files with more frequent updating requirements or EFI files easy to make mistakes, but the method is not limited to the EFI files, the BMC-based management interface can realize remote deployment and updating of the BIOS module files, the maintenance difficulty is reduced, the reusability of the BIOS module files in the BIOS chip is further improved, and the EFI development time and labor cost are greatly reduced.
In some possible examples, the BIOS module file has second identification information, the starting tasks executed by the BIOS module files with the same second identification information are the same, the BIOS module file is executed to complete the starting tasks of the target stage, the method comprises the steps of determining whether files matched with the second identification information of the BIOS module file are prestored in a Bios chip of a server according to the second identification information of the BIOS module file, executing the higher version number of the files matched with the second identification information of the BIOS module file if the files matched with the second identification information of the BIOS module file are prestored in the Bios chip, so as to complete the starting tasks of the target stage, and executing the BIOS module file if the files matched with the second identification information of the BIOS module file are not prestored in the Bios chip, so as to complete the starting tasks of the target stage.
Therefore, the EFI file executed in the current target stage can be guaranteed to be the highest version, and the EFI file of the highest version is usually compiled according to the current system configuration of the server, and the file of the highest version is selected to be executed, so that smooth execution of a startup task is improved.
In some possible examples, the server has a first characteristic identical to the other servers of different generations, the first characteristic corresponding to at least one BIOS module file stored in the BMC, and before sending a file request message to a baseboard management controller BMC of the server in case of the server starting to a target phase, the method further comprises obtaining, by the BMC, at least one BIOS module file configured for the first characteristic, the BIOS module file to be executed in the target phase being determined from the at least one BIOS module file.
Therefore, aiming at the same characteristics of different servers, EFI files compiled for the same characteristics can be issued to BMCs in the servers in batches through the BMC management interface so as to upgrade and replace the EFI files in batches, the customization requirements of users are efficiently completed, and the flexibility of EFI use is improved.
In some possible examples, the server has a first characteristic different from other servers of the same batch, the first characteristic corresponding to at least one BIOS module file stored in the BMC, and before sending a file request message to a baseboard management controller, BMC, of the server in the event that the server is started to a target phase, the method further comprises obtaining, by the BMC, at least one BIOS module file configured for the first characteristic, the BIOS module file to be executed by the target phase being determined from the at least one BIOS module file.
In this way, aiming at different characteristics of different servers, the EFI files compiled for the different characteristics can be respectively issued to BMCs in the servers through BMC management interfaces, so that remote upgrading and EFI file replacement are realized, and customization capability of users is improved.
In some possible examples, the method further comprises the steps of collecting current configuration information of hardware in the server through the BMC, determining a BIOS module file matched with the current configuration information from all BIOS module files stored in the BMC through the BMC, and storing the BIOS module file matched with the current configuration information into a preset storage area so as to enable the BMC to determine BIOS module files required by a target stage from the preset storage area according to file request information in the next starting process of the server.
Therefore, the proper BIOS module file can be screened according to the hardware configuration of the server and stored in the BMC of the server, so that the server can be called when being started, and the success rate of starting is improved.
In some possible examples, the method further comprises the steps of collecting current running information of hardware in the server through the BMC, wherein the current running information is used for representing whether a function currently executed by the hardware corresponds to configuration information of the BMC, determining BIOS module files matched with the current running information from all BIOS module files stored in the BMC if the function currently executed by the hardware does not correspond to the configuration information of the BMC according to the current running information, and updating the BIOS module files matched with the current running information into a preset storage area so as to enable the BMC to determine BIOS module files required by a target stage from the preset storage area according to file request information in the next starting process of the server.
Therefore, the BMC also obtains the hardware running condition in the running process of the server to judge whether the current function of the hardware is consistent with the function claimed by the configuration information, and if the current function of the hardware is inconsistent with the function claimed by the configuration information, the EFI file needs to be screened again to be called when the server is started next time, so that the starting success rate of the starting is improved.
In a second aspect, an embodiment of the present application provides a server starting apparatus, where at least one BIOS module file of an input/output system is stored in a baseboard management controller BMC of a server, where the apparatus includes a processing module configured to send a file request message to the baseboard management controller BMC of the server when the server starts up to a target stage, where the file request message is used to request to obtain a BIOS module file that needs to be executed in the target stage, an obtaining module is used to obtain the BIOS module file sent by the BMC, and the processing module is further configured to execute the BIOS module file to complete a startup task in the target stage.
In some possible examples, the starting process of the server comprises a plurality of stages, the target stage is one of the plurality of stages, the processing module is further used for sending a first request message to the BMC when the server starts to start or before starting to start, the first request message is used for confirming the number of BIOS module files stored in the BMC and executed in each stage, the obtaining module is further used for obtaining a first response message sent by the BMC, the first response message comprises the number of BIOS module files executed in each stage and first identification information, and the first identification information is used for identifying the BIOS module files.
In some possible examples, the processing module is specifically configured to, if it is determined from the first response message that the BIOS module file capable of being executed in the target phase exists in the BMC, send a file request message to the BMC, where the file request message includes first identification information of the BIOS module file when the server is started to the target phase.
In some possible examples, the obtaining module is specifically configured to obtain a file response message sent by the BMC, where the file response message carries a BIOS module file that needs to be executed in the target stage, where the BIOS module file is determined by the BMC according to the first identification information included in the file request message.
In some possible examples, the starting process of the server at least comprises a target stage and a non-target stage, wherein the non-target stage is a starting stage outside the target stage, the acquisition module is specifically used for acquiring a pre-stored BIOS module file from a BIOS chip of the server when the server starts to the non-target stage, the processing module is specifically used for executing the BIOS module file acquired from the BIOS chip to complete a starting task of the non-target stage, the processing module is specifically used for sending a file request message to a Baseboard Management Controller (BMC) of the server when the server starts to the target stage, the file request message is used for requesting the BIOS module file required to be executed in the target stage to be acquired, the acquisition module is specifically used for acquiring the BIOS module file sent by the BMC, and the processing module is specifically used for executing the BIOS module file to complete the starting task of the target stage.
In some possible examples, the BIOS module file has second identification information, the startup tasks executed by the BIOS module file with the same second identification information are the same, the processing module is specifically configured to determine whether a file matched with the second identification information of the BIOS module file is pre-stored in a BIOS chip of the server according to the second identification information of the BIOS module file, execute the higher version number of the file and the BIOS module file to complete the startup task of the target stage if the file matched with the second identification information of the BIOS module file is pre-stored in the BIOS chip, and execute the BIOS module file to complete the startup task of the target stage if the file matched with the second identification information of the BIOS module file is not pre-stored in the BIOS chip.
In some possible examples, the server has a first characteristic that corresponds to at least one BIOS module file stored in the BMC that is the same as the other different generation servers, and the processing module is further configured to obtain, by the BMC, the at least one BIOS module file configured for the first characteristic, the BIOS module file from which the target phase needs to be performed is determined.
In some possible examples, the server has a first characteristic different from other servers of the same batch, the first characteristic corresponding to at least one BIOS module file stored in the BMC, and the processing module is further configured to obtain, by the BMC, at least one BIOS module file configured for the first characteristic, the BIOS module file to be executed by the target phase being determined from the at least one BIOS module file.
In some possible examples, the acquisition module is further configured to acquire current configuration information of hardware in the server through the BMC, the processing module is further configured to determine, through the BMC, a BIOS module file matching the current configuration information from all BIOS module files stored by the BMC, and the processing module is further configured to store the BIOS module file matching the current configuration information in a predetermined storage area, so that the BMC determines, in a next server starting process, a BIOS module file required by a target stage from the predetermined storage area according to a file request message.
In some possible examples, the acquisition module is further configured to acquire, by the BMC, current running information of hardware in the server, the current running information being used to characterize whether a function currently executed by the hardware is corresponding to configuration information of the BMC, the processing module is further configured to determine, by the BMC, a BIOS module file matching the current running information from all BIOS module files stored by the BMC if it is determined that the function currently executed by the hardware is not corresponding to the configuration information of the BMC according to the current running information, and the processing module is further configured to update the BIOS module file matching the current running information to a predetermined storage area, so that the BMC determines, in a next server starting process, a BIOS module file required by a target stage from the predetermined storage area according to a file request message.
In a third aspect, embodiments of the present application provide a server comprising at least one memory for storing a program, at least one processor for executing the program stored in the memory, wherein the processor is adapted to perform the method described in the first aspect or any one of the possible implementations of the first aspect when the program stored in the memory is executed.
In a fourth aspect, embodiments of the present application provide a computer readable storage medium storing a computer program which, when run on a processor, causes the processor to perform the method described in the first aspect or any one of the possible implementations of the first aspect.
In a fifth aspect, embodiments of the application provide a computer program product, characterized in that the computer program product, when run on a processor, causes the processor to perform the method described in the first aspect or any one of the possible implementations of the first aspect.
In a sixth aspect, an embodiment of the present application provides a chip, which is characterized by including at least one processor and an interface, where the at least one processor obtains program instructions or data through the interface, and where the at least one processor is configured to execute program line instructions to implement the method described in the first aspect or any one of possible implementations of the first aspect.
It will be appreciated that the advantages of the second to sixth aspects may be found in the relevant description of the first aspect, and are not described here again.
Drawings
Fig. 1 is a schematic structural diagram of a server according to an embodiment of the present application;
FIG. 2 is a schematic diagram of a system architecture for EFI file deployment according to an embodiment of the present application;
Fig. 3 is a schematic flow chart of a method for starting up a server according to an embodiment of the present application;
fig. 4 is a schematic flow chart of a method for starting up a server according to an embodiment of the present application;
Fig. 5 is a schematic diagram of a format of a first request message and a response message thereof according to an embodiment of the present application;
FIG. 6 is a schematic diagram of a format of a file request message and a response message thereof according to an embodiment of the present application;
fig. 7 is a schematic flow chart of a method for starting up a server according to an embodiment of the present application;
fig. 8 is a schematic flow chart of a method for starting up a server according to an embodiment of the present application;
fig. 9 is a schematic flow chart of a method for starting up a server according to an embodiment of the present application;
fig. 10 is a flowchart of a method for starting up a server according to an embodiment of the present application;
FIG. 11 is a flowchart illustrating a method for starting a server according to an embodiment of the present application
Fig. 12 is a schematic structural diagram of a server starting device according to an embodiment of the present application;
Fig. 13 is a schematic structural diagram of a chip according to an embodiment of the present application.
Detailed Description
The term "and/or" is used herein to describe an association relationship of associated objects, and means that there may be three relationships, for example, a and/or B, and that there may be three cases where a exists alone, while a and B exist together, and B exists alone. The symbol "/" herein indicates that the associated object is or is a relationship, e.g., A/B indicates A or B.
In the description of the embodiments of the present application, unless otherwise specified, the meaning of "plurality" means two or more, for example, a plurality of processing units means two or more processing units and the like, and a plurality of elements means two or more elements and the like.
In order to facilitate understanding of the technical solution of the present application, terms appearing herein will be explained below.
The basic input output system (Basic Input Output System, BIOS), which is a basic interface between computer hardware and the operating system, is the first executable program in the computer startup process, and is responsible for hardware initialization, detection and configuration, and loading the operating system before the operating system is loaded.
EFI (Extensible firmware interface) FIRMWARE INTERFACE is an open standard that defines an interface between software and system firmware, intended to replace the traditional BIOS, to complete computer booting. One of the main specificities of EFI allows for more modular interaction between firmware and operating system, facilitates expansion and upgrade, and can generally compile BIOS source code into corresponding EFI and package it into binary executable file, and then brush it into flash of computer for invocation at startup. In some scenarios, an EFI firmware interface that complies with a unified standard may also be referred to as UEFI (unified extensible firmware interface ).
Redfish extensible platform management programming interface (api) is an open standard developed by Distributed MANAGEMENT TASK Force (DMTF) to simplify management of server hardware. It is intended to provide a unified interface (API) for managing and monitoring server hardware resources including, but not limited to, configuration of server hardware, monitoring, event processing, and firmware updating.
The intelligent platform management interface (INTELLIGENT PLATFORM MANAGEMENT INTERFACE, IPMI) is a standardized hardware interface for remote monitoring and management of server hardware. It provides a method independent of the operating system to monitor server status, collect system events, perform remote control operations, and perform fault diagnostics.
In order to achieve flexibility of EFI file deployment and reduce maintenance difficulty, the embodiment of the application provides an execution method of an extensible firmware interface file. The method mainly comprises the steps of storing some EFI files on the BMC side of a server, and requesting the BMC to acquire the EFI files required to be executed in a specified stage in the starting process of the server and executing the EFI files so as to complete the starting task of the stage. In this way, the EFI files deployed in the BMC are independent of the BIOS programs or EFI file sets stored in the server BIOS chip, can be updated and upgraded independently, are convenient to maintain, manage and execute, and have strong reusability.
In order to better understand the technical scheme of the present application, a server provided by the embodiment of the present application is first described below.
Fig. 1 illustrates a schematic structural diagram of a server according to an embodiment of the present application. As shown in fig. 1, the server 10 may include a central processing unit (Central Processing Unit, CPU) 110, a memory 120, a network card 130, a hard disk 140, a BIOS chip 150, and the like, where the memory 120, the network card 130, the hard disk 140, and the BIOS chip 150 may be connected to the CPU110 through buses.
It should be noted that fig. 1 is only an example of a server, and is not limited to the specific embodiment, and in practical application, more or fewer devices than fig. 1 may be included, for example, a power source, a fan, a single chip microcomputer (an integrated circuit chip, equivalent to a microcomputer), a digital signal processor (DIGITAL SIGNAL processor, DSP), an Application Specific Integrated Circuit (ASIC), or other programmable logic device, discrete gate or transistor logic device, discrete hardware components, a general purpose processor, etc.
With continued reference to FIG. 1, CPU110 is the computational and control core of server 10, and is primarily responsible for executing computer instructions, processing data, and controlling the operation of other hardware in the server system.
The memory 120 may be used to temporarily store operation data in the CPU110 and data exchanged with an external memory such as a hard disk 140. Memory 120 may be, for example, random access memory (random access memory, RAM). By way of example, and not limitation, many forms of RAM are available, such as static random access memory (STATIC RAM, SRAM), dynamic Random Access Memory (DRAM), synchronous Dynamic Random Access Memory (SDRAM), or direct memory bus random access memory (direct rambus RAM, DR RAM), among others.
The network card 130 is a key hardware component of the connection between the server 10 and the network, and may be specifically used to process the transmission and reception of data packets at the physical layer. By way of example, and not limitation, network card 130 may be an integrated network card supporting a standard Ethernet connection (e.g., 1Gbps or 10 Gbps), or a PCI Express (PCIe) network card supporting a high-speed network connection (e.g., 40Gbps, 100Gbps, etc.), or the like.
The hard disk 140 may include a mechanical hard disk (HARD DISK DRIVE, HDD), a Solid state disk (Solid StateDisk or Solid STATE DRIVE, SSD), and the like. It should be understood that the hard disk 140 is merely an example of a nonvolatile memory, and is not particularly limited, and the nonvolatile memory may be selected in practical applications in combination with practical situations. The hard disk 140 may be used to store computer programs and data, such as a server Operating System (OS) and executable program code, which may be loaded into the memory 120 and executed by the CPU 110.
In some possible implementations, a basic input output system (Basic Input Output System, BIOS) program (which may be stored on BIOS chip 150) may be deployed on server 10, which is executed after server 10 is powered up to complete all boot tasks. For example, assuming that the BIOS program is running to complete N (N > 1) boot tasks, the BIOS program may not include functional code of the N-th boot task, but may be compiled into an EFI file, and when the BIOS program runs to a stage of executing the N-th boot task, the EFI file is called to execute to complete the N-th boot task, and then the BIOS continues to execute downward. By analogy, multiple tasks, even all tasks, in the BIOS program can be implemented by sequentially calling corresponding EFI files. These EFI files may be stored in BIOS chip 150, such as EFI1,2,..and the like files shown in fig. 1. In addition, these EFI files, which are the smallest functional modules of the BIOS program, may be replaced by executable files in other formats, which are not enumerated in this example. As a specific example, the BIOS chip 150 may be a flash memory, but is not limited thereto.
In this embodiment, the server 10 further includes a baseboard management controller (Baseboard Management Controller, BMC) 160, where the BMC160 is an independent controller and can be used to implement a series of monitoring and remote control functions for hardware in the server 10, such as detecting the operating states of the various components (CPU 110, memory 120, hard disk 140, network card 130, etc.) of the server 10, and allowing a user to remotely access the server 10 to perform operations such as system startup, shutdown, restart, BIOS configuration change, firmware (BIOS, driver, etc.) update, etc. The BMC160 can also be used to record information and logs of the various hardware in the server 10 for prompting the user and location of subsequent problems. It should be appreciated that the BMC160 may also perform functions other than those described herein, which are not listed here.
In this embodiment, some EFI files are also stored in the BMC160 of the server 10, EFI files such as EFI1,2, etc. shown in fig. 1. Thus, in some designated stages (also referred to herein as target stages, hereinafter, the same applies) in the startup process of the server 10, EFI files are obtained from the BMC160 to perform startup tasks of the designated stages, and since a user can remotely configure and manage the BMC160 and the EFI files stored in the BMC160 have no dependency on the EFI files or BIOS programs in the BIOS chip 150, the user can flexibly and conveniently update and upgrade the EFI files stored in the BMC160, and is beneficial to implementing batch operations of the EFI files stored in the BMC160 of multiple servers 10 remotely.
Next, based on the structure of the server 10 shown in fig. 1, the deployment and execution principle of the EFI file on the server 10 in the embodiment of the present application will be described.
Exemplary, fig. 2 illustrates a system architecture of EFI file deployment provided by an embodiment of the present application. As shown in fig. 2, the management terminal 20 may be communicatively connected to a plurality of servers 10, and a user may perform unified management and configuration on the servers 10 at the management terminal 20 accessing a management interface (such as a BMC interface) 210, including configuring EFI files compiled for the servers 10 into the BMCs 160 of the servers 10 in batches.
Specifically, in this example, the user may upload (or obtain from other devices) one or more compiled EFI files from interface 210 of terminal 20 for storage in a temporary directory (tmp directory). The user may then configure the EFI files one-to-one at the interface 210 via Redfish a software platform (or IPMI management tool, etc., without limitation) with corresponding attribute information including, but not limited to, one or more of the file number, size, function, storage directory (which is used to describe the storage location of the EFI file at the BMC 160), and globally unique identifier (Globally Unique Identifier, GUID), etc. In some examples, the GUID of the file may also be compiled into the file along with the version number and identified by the terminal 20 and server 10, and the EFI files of one function have a unique GUID, GIUD of the EFI files of the same function are the same, and the version numbers of the EFI files of the same GIUD may be different.
Then, the user issues the configured EFI files to the BMC160 of each server 10 in batches through Redfish for storage. In some specific examples, the user may issue one or more configured EFI files to the BMC160 of each server 10, where the EFI files obtained by each server 10 are the same, so as to implement the high multiplexing of these EFI files, thereby greatly reducing the development time cost and the labor cost of the EFI files. Or the user can configure and issue the EFI files for each server 10 respectively, the EFI files obtained from each server 10 are different, and the server personalized customization requirement of the client is met.
Then, for each server 10, since the EFI file is stored in the BMC160, during the power-on startup of the server 10, the CPU110 of the server 10 may request, when starting up to a specified stage, to the BMC160 to acquire the EFI file of the specified stage for execution, so as to complete the corresponding startup task.
Next, a method for starting up a server according to an embodiment of the present application is described based on the above description. It will be appreciated that the method is set forth based on what has been described above, some or all of which may be found in the description above.
Referring to fig. 3, fig. 3 is a flowchart of a method for starting up a server according to an embodiment of the application. It is to be appreciated that the method may be performed by any apparatus, device, platform, cluster of devices having computing, processing capabilities, as will be described below with respect to execution on the server 10 shown in fig. 1. As shown in fig. 3, the method may include:
S301, when the server starts to the target stage, a file request message is sent to a baseboard management controller BMC of the server, wherein the file request message is used for requesting to acquire a BIOS module file required to be executed in the target stage.
In this embodiment, the power-on of the server 10 or the reboot of the server 10 may take a period of time to complete the booting process, and the booting process may include a plurality of orderly booting stages, for example, but not limited to, a stage of initializing hardware, a stage of loading programs such as BIOS, and a stage of loading OS. The server 10 may execute a corresponding program (e.g., a BIOS program or UEFI program, etc.) to perform a series of boot tasks for each boot phase, such as each hardware initialization task for a phase of initializing hardware, etc.
For example, a basic input output system (Basic Input Output System, BIOS) chip 150 of the server 10 may be used to store a BIOS program or a BIOS module file compiled from the source code of the BIOS program. For example, BIOS chip 150 may be a flash memory for storing one or BIOS module files, which may be, but are not limited to, EFI files such as EFI1,2,..and the like shown in fig. 1. These EFI files may be compiled from source code capable of implementing BIOS functions, in other words, a collection of these EFI files may be used to implement some or all of the functions of the BIOS, each of which is used to implement at least one of the functions of the BIOS. For example, the boot self-checking function of the BIOS may specifically include detecting the configuration of the CPU110, detecting the configuration of the memory 120, detecting the configuration of the hard disk 140, and so on, and then one EFI file may be used to perform one of these, and similarly, the hardware initialization function of the BIOS includes initializing each hardware of the server 10, and then one EFI file may be used to perform the initialization of one of these hardware (such as the CPU110 or the memory 120, etc.), and so on.
In this embodiment, several BIOS module files compiled from the source code of the BIOS firmware may be stored in the BMC160 of the server 10 in advance, or a part of the BIOS module files may be stored in the BMC160 and another part of the BIOS module files may be stored in the BISO chip 150 of the server 10, and each BIOS module file may be used to perform at least one boot task.
For example, during the start-up of the server 10, i.e., each phase from the beginning of the start-up to the end of the start-up, one or more start-up tasks may be completed by loading the corresponding BIOS module files. These BIOS module files may all be obtained from the BMC160 of the server 10, or may be obtained from the BISO chip 150 in part and from the BNC160 in part.
For example, when the server 10 is started to a preset start-up phase, i.e., a target phase, the CPU110 may send a file request message to the BMC160, where the file request message is used to request that the BIOS module file that needs to be executed for obtaining the target phase. For example, setting the hardware initialization phase in the server startup process as the target phase, after the server 10 is powered on, the BIOS program may be loaded from the BIOS chip 150 to perform the startup process, so that each startup phase of the startup process is sequentially performed, and when the server 10 starts up to the hardware initialization phase, the CPU110 may request the BMC160 to return the extensible firmware interface EFI file for completing the hardware initialization function.
S302, acquiring the BIOS module file sent by the BMC.
In this embodiment, at least one BOIS module file is pre-stored on the BMC160, and the BOIS module files are configured with attribute information, wherein the attribute information includes one or more of a file number, a size, a function (describing a startup task performed in a specified startup phase), a storage directory, a GUID, and the like. Thus, the BMC160 of the server 10 may search the stored BOIS module files for the BOIS module files to be executed in the target stage according to attribute information of the files in response to the file request message of the CPU110, and then send the BOIS module files to the CPU110.
Illustratively, the BOIS module files that the target phase needs to execute may be one or more.
S303, executing the BIOS module file to complete the starting task of the target stage.
In this embodiment, after receiving these BOIS module files, the CPU110 of the server 10 loads and executes these BOIS module files according to the specified order such as BIOS program or UEFI program, so as to complete the start task corresponding to the target stage. For example, in the process of powering on and starting the server 10, the BIOS program is run to an initialization hardware stage, the CPU110 obtains three BOIS module files from the BMC160, and the three EFI files are respectively used for initializing the CPU110, the memory 120 and the IO device, the CPU110 loads and executes the EFI file of the initialization CPU110 according to the sequence specified by the BIOS program to complete the initialization task of the CPU110, then loads and executes the EFI file of the initialization memory 120 to complete the task of detecting and configuring the memory 120, then loads and executes the EFI file of the initialization IO device to complete the task of detecting and configuring the network card 130 and the hard disk 140, so as to complete the starting task of the initialization hardware stage, and then the BIOS program continues to execute to complete the subsequent remaining starting tasks.
In this embodiment, the BOIS module file stored on the BMC160 is independent of the BIOS or UEFI program stored in the BIOS chip 150 of the server 10, and has no dependency on the EFI file stored in the BIOS chip 150, and can be configured and updated remotely and updated independently for the startup and call of the server 10. On the other hand, under the condition that key hardware such as CPU110, memory 120 and the like of server 10 are updated and the BOIS module files in flash are required to be compiled and refreshed, if the functions of most BOIS module files in BIOS chip 150 used before and after the updating are the same, only a small part of BOIS module files on BMC160 need to be refreshed, the BOIS module files on BMC160 can be updated independently, the reusability of the BOIS module files in BIOS chip 150 is improved, the development time and labor cost of the BOIS module are greatly reduced, and the maintenance is easy.
In some possible implementations, as shown in fig. 4, a flowchart of a method for starting a server according to an embodiment of the present application is shown, and fig. 4 is a further detailed description of the flowchart shown in fig. 3. As shown in fig. 4, the method specifically may include:
s401, the terminal acquires a BIOS module file.
In this embodiment, the user may upload (or obtain from other devices) one or more BIOS module files from the interface 210 of the terminal 20, where the BIOS module files may be EFI files, and store the EFI files under a temporary directory. It should be appreciated that the temporary directory (tmp directory) is a system-level or user-level temporary directory that provides a temporary storage space for storing files that do not need to be permanently stored.
S402, the terminal receives the configuration operation of the user on the BIOS module file and generates attribute information of the BIOS module file.
In this embodiment, the user may perform a configuration operation on the BIOS module files in the temporary directory from the interface 210 of the terminal 20 to generate attribute information of each BIOS module file, where the attribute information may include, but is not limited to, one or more of a number of the file (or a file name, also referred to herein as "first identification information"), a size, a function, a storage directory (for describing a storage location of the BIOS module file at the BMC 160), and a GUID (also referred to herein as "second identification information"), etc. In some examples, the GUID of the file may also be compiled into the file along with the version number and be identifiable by the terminal 20 and the server 10, and the BIOS module file of one function has a unique GUID, in other words GIUD of the BIOS module file of the same function is the same, but the version numbers of the BIOS module files of the same GIUD may be different.
S403, the BMC of the server acquires and stores the BIOS module file configured by the user.
In this step, after the user configures the BIOS module files, the BIOS module files may be sent to the BMC160 of the server 10, and the BMC160 receives the BIOS module files and places the BIOS module files under a storage directory configured by the user for the user.
For example, the BIOS module files obtained by the BMC160 may be loaded and executed at different startup phases of the server 10, and thus, the BIOS module files may be categorized according to the startup phases to which each of the files belongs.
For example. The server boot process may include four phases, such as PEI (Pre-EFI Initialization), DXE (Driver Execution Environment), BDS (Background Debug Support), and SMM (SYSTEM MANAGEMENT Mode), so that the BIOS module files stored in the BMC160 may be divided into four phases corresponding to these boot phases, such as PEI, DXE, BDS, and SMM, where:
There may be a plurality of BIOS module files belonging to the PEI class for executing various boot tasks of the server 10 during the boot-up to PEI phase. It should be appreciated that the PEI phase is a phase that begins earlier in the boot process and that the purpose of this phase is to initialize hardware, including initializing CPU110, memory 120, and basic I/O devices. This phase is not dependent on any firmware or operating system and is typically very fast because its main task is to set up the hardware so that the subsequent DXE phase can start.
The BIOS module files belonging to DXE class may be plural, and are configured to execute various boot tasks of the server from boot to DXE phase. It should be appreciated that the DXE phase follows the PEI phase and is a phase prior to the start of the operating system, the start-up tasks of which include loading and executing device drivers so that the system can identify and initialize hardware devices, so that the DXE phase relies on the hardware initialized by the PEI phase and it allows interaction between the firmware and the operating system.
The BIOS module files belonging to the BDS class can be multiple and are used for executing various startup tasks of the server from startup to the BDS stage. It should be appreciated that the BDS phase is part of the DXE phase, which provides a background environment for supporting debug and diagnostic functions. This stage allows the firmware to provide debug information during startup, helping the developer diagnose and fix problems.
There may be multiple BIOS module files belonging to the SMM class for executing various boot-up tasks of the server during the boot-up to SMM phase. It should be appreciated that the SMM phase is a special mode in firmware, and the boot-up tasks of this phase include tasks that the system manages at boot-up and run-time, such as power management, thermal management, remote management, etc. This phase may be activated at OS runtime or in a system sleep state.
S404, when or before the server starts to start, a first request message is sent to the BMC.
In this embodiment, the server 10 starts to boot after being powered on, at this time or before this time, the CPU110 may first send a first request message to the BMC160, where the request message is a file detail request message, that is, a file detail for confirming the number of BIOS module files that need to be executed in each boot stage and that are stored in the BMC160, that is, for determining the number of various BIOS module files in the BMC 160.
Illustratively, the first request message may follow the format defined by IPMI, defining byte order and its domain content, where the domain content includes the name of the field, the data type, the length, and/or specific request data, etc. For example, table 1 shown in fig. 5, the 1 st to 3 rd bit (Byte) content in one first request message is "0x14E300", the content refers to the name, length, type, etc. of the request, and the content in the 4 th bit is request data (or command) for the kind and number of EFI files.
S405, acquiring a first response message sent by the BMC.
In this embodiment, in response to the received first request message, the BMC160 of the server 10 may traverse all the BIOS module I files under the storage directory and count the types and numbers thereof, package the numbers, attribute information, and the like of the various BIOS module files as a first response message, and return to the CPU110.
For example, the BMC160 may specifically determine the category to which the functional information in the attribute information of each BIOS module file belongs, for example, if the functional information of the BIOS module file 1 is "initialize the CPU110 in the PEI phase", then it is determined that the BIOS module file 1 belongs to the PEI class. Thus, the number of the various BIOS module files is obtained through statistics, and the attribute information of each BIOS module file in the various BIOS module files is packaged together with the number information into a response message. The attribute information in the first response message includes at least first identification information (such as the number or the file name of the BIOS module file) of the EFI file, etc. for identifying each EFI file.
Illustratively, the first response message may follow the format defined by IPMI, defining byte order and its domain content, where the domain content includes the name of the field, the data type, the length, and/or specific request data, etc. For example, table 1 shown in fig. 5, in a first response message, the 5 th to 6 th bits of content characterize the EFI files of BMC160 currently having numbers 1 to 3 belong to PEI class, the 7 th to 8 th bits of content characterize the EFI files of numbers 4 to 8 belong to DXE class, the 9 th to 10 th bits of content characterize the EFI files without BDS class, and the 11 th to 12 th bits of content characterize the EFI files of number 9 belong to SMM class.
S406, when the server starts to the target stage, a file request message is sent to the BMC.
In this embodiment, the CPU110 may enter the startup procedure of the server 10 after receiving the first response message, and gradually execute the startup tasks of each startup phase. For example, the CPU110 may sequentially perform each boot phase flow of the boot-up by running a BIOS program (or other programs such as UEFI, which will be described below by taking the running BIOS program as an example) stored in the BIOS chip 150. The target phase may be one or more preset startup phases on the server 10, so that when the server 10 starts up to these phases, the CPU110 sends a file request message to the BMC160 to request to obtain the corresponding BIOS module file from the BMC 160.
Illustratively, the execution principle of this step S406 is similar to that of S301 in the above example, and may specifically include the following S4061 to S4062:
in S4061, it is determined whether a BIOS module file capable of being executed in the target phase exists in the BMC according to the first response message.
At this step, since a target stage in the server startup process is preset, the CPU110 may determine whether a BIOS module file capable of being executed at the target stage exists in the BMC160 according to the first response message after receiving the first response message.
For example. If the preset PEI phase is a target phase, the CPU110 determines, according to a first response message, whether there are BIOS module files of PEI class in the BMC160, as shown in fig. 5, where the first response message describes that EFI files numbered 1-3 in the BMC160 belong to DEI class, and the CPU110 can determine that there are BIOS modules of DEI class in the current BMC160, which are all EFI files, and there are 3. Otherwise, if the first response message of the file details describes that the BIOS module file of the type that does not correspond to the target stage is not described, the CPU110 may determine that the BIOS module file that can be executed in the target stage does not exist in the BMC 160.
S4062, if it is determined from the first response message that the BIOS module file capable of being executed in the target stage exists in the BMC, and if the server is started to the target stage, a file request message is sent to the BMC.
In this step, if the CPU110 determines from the first response message that the BIOS module file capable of being executed in the target stage exists in the BMC160, when the server 10 starts up to the target stage, the CPU110 may send a file request message to the BMC160, where the file request message includes first identification information (such as a number or a file name) of the BIOS module file to be acquired. As a specific example, the file request message may follow the format defined by IPMI, defining byte order and its domain content, which includes the name of the field, the data type, the length, and/or specific request data, etc. For example, in table 2 shown in fig. 6, the content in the 4 th bit of a file request message is request data (or command) for EFI file data, and the content in the 5 th to 6 th bits is the number (i.e., first identification information) of the EFI file to be acquired, so that the EFI file of the specified number can be acquired.
In a specific example, if the CPU110 determines that EFI files numbered 1, 2, and 3 in the BMC160 are BIOS module files of PEI class according to the first response message, when the server 10 starts up to the PEI phase (target phase), the CPU110 may send a file request message to request the BMC160 to send EFI files numbered 1, 2, and 3.
Thus, upon determining that there is an EFI file for the target phase execution in the BMC160 and that the server 10 is started up to the target phase, the CPU110 requests the BIOS module file for the specified identification information by sending a file request message. Conversely, if the BMC160 does not have the BIOS module file executed in the target stage, the BIOS module file executable in the target stage may be searched and loaded from the BIOS chip 150.
In this way, the type and number of the BIOS module files in the BMC160 are known before entering the startup procedure, so that when the BIOS module files need to be obtained from the BMC160 in each target stage, an invalid request (i.e., the requested files do not exist) can be avoided, and the server resource is avoided from being wasted by invalid IO overhead. And the method is also beneficial to loading corresponding BIOS module files from the BIOS chip 150 in time when the BIOS module files executed in the target stage are not available in the BMC160, so that the efficient and smooth execution of the starting process is ensured. In addition, the BIOS module files are acquired after the confirmation of the types and the numbers, so that the CPU110 is convenient to more reasonably arrange the cache space or bandwidth of the files, and resource management and transmission efficiency optimization are facilitated.
S407, acquiring the BIOS module file sent by the BMC.
Illustratively, similar to the description of the execution principle of S302 in the above example, S407 may specifically include the following S4071 to S4072:
s4071, the BMC responds to the file request message, and searches BISO module files matched with the first identification information in all stored BIOS module files according to the first identification information included in the file request message.
In this step, the BMC160 may search all BIOS module files under the storage directory for the BIOS module file matching the attribute information according to the attribute information such as the first identification information (number) included in the file request message in response to the file request message of the CPU 110. For example, if the BIOS module file number described in the current file request message is 1-3, the BMC160 searches for the BIOS module files with numbers 1, 2, and 3.
S4072, acquiring a file response message sent by the BMC, wherein the file response message carries a BIOS module file required to be executed in a target stage.
In this example, the BMC160 generates a file response message from the queried BIOS module file and returns the file response message to the CPU110.
As a specific example, the file response message may follow the format defined by IPMI, defining byte order and its domain content, which includes the name of the field, the data type, the length, and/or specific request data, etc. For example, in table 2 shown in fig. 6, in a file response message, the contents of bits 5 to 6 are the EFI file and the number of the EFI file of the transferred BIOS module, the contents of bits 7 to 10 are the data length of the EFI file transferred, bits 10 to L (L > 10) are the EFI file itself transferred, and bits L to l+2 are data check bits for verifying the integrity of the message.
S408, executing the BIOS module file sent by the BMC to complete the starting task of the target stage.
The execution of S408 is similar to the description of the execution principle of S303 in the above example, and will not be repeated.
In some possible implementations, S408 may specifically include the following S4081 to S4082:
s4081, determining whether a file matched with the second identification information of the BIOS module file is stored in the server BIOS chip in advance according to the identification information of the BIOS module file.
In this embodiment, the BMC160 of the server 10 and the BIOS module file stored in the BIOS chip 150 each have second identification information, for example, GUID, and the BIOS module files having the same second identification information perform the same startup task. Since some EFI files having the same function may be stored in the BMC160 and the BIOS chip 150, for example, BIOS module files of GUID1 and GUID2 are stored in both the BMC160 and the BIOS 150. Then, after the CPU110 obtains the BIOS module files sent by the BMC160, it may first compare the second identification information of the BIOS module files with the BIOS module files stored in the BIOS chip 150, to determine whether there is a BIOS module file in the BIOS chip 150, where the second identification information is consistent with the BIOS module file sent by the BMC160, that is, determine whether there is a BIOS module file in the BISO150, where the function of the BIOS module file is consistent with that of the BIOS module file sent by the BMC 160.
S4082, if it is determined that the BIOS chip stores the file matched with the second identification information of the BIOS module file in advance, executing the file and the higher version number of the BIOS module file to complete the starting task of the target stage;
If the BIOS chip is determined not to store the file matched with the second identification information of the BIOS module file in advance, executing the BIOS module file to complete the starting task of the target stage.
In this embodiment, if there are BIOS module files in the BIOS chip 150 with GUID consistent with the EFI files sent by the BMC160, the BIOS module files with higher version numbers are selected from the BIOS module files with GUID consistent, and if the version numbers of the BIOS module files with GUID consistent are also consistent, the BIOS module files obtained from the BMC160 are selected for execution, so as to complete the starting task of the target stage. In addition, if the BIOS chip 150 does not have a BIOS module file with a GUID consistent with the BIOS module file sent by the BMC160, the BIOS module file sent by the BMC160 may be directly executed to complete the starting task of the target stage. In this way, the BIOS module file executed in the current target stage can be guaranteed to be the highest version, because the BIOS module file of the highest version is generally compiled according to the current system configuration of the server 10, and selecting the file of the highest version for executing is beneficial to improving the smooth execution of the startup task.
Then, after completing the start task of the target phase, if the target phase is the last start phase, the server 10 completes the start process, if the target phase is not the last start phase, the server 10 continues to execute the step downwards, and the steps S406 to S408 are repeatedly executed in the next target phase until the whole start process is completed.
The principle of loading an execution EFI file during the startup of the server 10 is described below with a specific example. Referring to fig. 7, during the startup of the server 10, the CPU110 may enter a startup procedure by running a BISO program stored in the BIOS chip 150, and each stage of the startup procedure may be divided into a target stage and a non-target stage (i.e., other startup stages than the target stage). Specifically, if the server 10 needs to first enter the a phase after entering the boot process, the main boot task of the a phase is to check whether the power supply of the server 10 is normal, the boot task may be completed by executing the EFI file a, and the a phase is a non-target phase, then, when starting to the non-target a phase, the CPU110 may obtain the EFI file a stored in advance from the BIOS chip 150 and execute the EFI file a to complete checking whether the power supply is normal. Next, the startup procedure is continued until the server 10 starts up to the first target stage DEI, and the CPU110 performs the steps S406 to S408 described above, so as to obtain and load all EFI files of the DEI class from the BMC160, thereby completing tasks such as initializing the CPU110, the memory 120 and the basic I/O devices in the DEI stage. Then, while the CPU110 continues to run the BISO to the second target phase DXE, the CPU110 performs the steps S406 to S408 described above to obtain all EFI files of the DXE class from the BMC160 and load them, thereby completing the boot tasks of the DXE phase, such as loading and executing the device drivers. In addition, if the system moves to the BDS stage of the DXE stage, the CPU110 may execute the steps S406 to S408 again for the BDS stage to obtain and load all EFI files of the BDS class from the BMC160, thereby completing the startup task of the BDS stage to debug and diagnose the system of the server 10, and then continue to complete the task of the DXE stage. Then, while the CPU110 continues to run the BISO to the fourth target phase SMM, the CPU110 performs the steps of S406 to S408 described above to obtain and load all EFI files of the SMM class from the BMC160, thereby completing the startup tasks such as power management, thermal management, remote management, and the like of the SMM phase. If the starting is continued to some non-target phases, the CPU110 may still call the corresponding EFI file from the BIOS chip 150 to execute the tasks of these non-target phases until the BIOS finishes running, the OS loads and starts, the BIOS delivers control rights to the BIOS to the OS, and the starting process of the server 10 ends.
In this way, by orderly loading and running the EFI files stored in the BIOS chip 150 and the BMC160, the startup of the server is cooperatively completed, but there is no dependency between the EFI files stored in the BIOS chip 150 and the BMC160, the EFI files can be independently deployed by the BIOS chip 150 and the BMC160, and independently updated and maintained by each other, so as to improve the deployment flexibility. The user may store some designated EFI files in the BMC160 according to the requirement, for example, the EFI files with more frequent updating requirement, or the EFI files with easy error, etc., but not limited thereto, the management interface based on the BMC160 may implement remote deployment and updating of these EFI files, reducing maintenance difficulty, further improving reusability of BIOS module files of the BIOS chip 150, and greatly reducing time and labor cost of EFI development.
In some possible implementations, for multiple servers 10 of different generations, the characteristics of these servers 10 (also referred to as "first characteristics" in this example) are the same, such as the same basic function, or the same architectural design, all employing multiple core processors, redundant power supplies, storage systems, etc., or the same performance metrics, all following the same criteria in terms of CPU speed, memory capacity, storage speed, etc., and so forth. Thus, although different versions of BIOS are needed between the servers 10 of different generations to complete the corresponding boot tasks, the same BIOS module file may be used for the same characteristics of the servers 10, that is, the same BIOS module file may be called when the CPU110 runs the different versions of BIOS.
Based on this, fig. 8 is a schematic flow chart of a server startup method, the flow chart shown in fig. 8 is a further detailed description of the flow chart shown in fig. 3, and the flow chart shown in fig. 8 is different from the flow chart shown in fig. 3 mainly in that, before sending a file request message to the BMC, the method may further include S800, acquiring, by the BMC160, at least one BIOS module file configured for the first characteristic, so as to determine, when the server 10 starts up to a target stage, a BIOS module file that needs to be executed by the target stage from the at least one BIOS module file.
Specifically, the user may perform unified management and configuration on the plurality of servers 10, that is, devices 1,2,3, as shown in fig. 8, at the management terminal 20 based on the interface 210, where the servers 10 are different generations and have the same characteristics, and the user may batch configure BIOS module files (for example, BIOS module files are EFI files) compiled for the same characteristics into the BMCs 160 of the servers 10 of the different generations. Referring to fig. 8 specifically, in step S800, the user may configure these EFI files for a characteristic through a manner similar to S401-S402 in fig. 4, that is, the user configures the EFI files for a characteristic through a Redfish software platform (or IPMI management tool, etc. without being limited only) in the interface 210, and after configuring corresponding attribute information, issue these EFI files to the BMC160 in each server 10 in batches according to the IP address, so as to upgrade and replace the EFI files in batches, thereby efficiently completing the customization requirement of the user and increasing the flexibility of EFI use. Then, the configured EFI files can be stored in the storage space of the BMC160 according to the respective configured storage directories, the subsequent CPU110 interacts with the BMC160, and the EFI files required by the target stage are screened from the BMC160 to be executed through steps S801 to 803, so as to ensure that the startup of the server 10 is smoothly performed. It is understood that the execution principle of S801 to S803 is similar to the steps of S301 to S303 shown in fig. 3 or the steps of S406 to S408 shown in fig. 4, and will not be repeated here.
In some possible implementations, if the characteristics (also referred to as "first characteristics" in this example) of each of these servers are different from one another for the same batch of servers, then these servers also require BIOS of different characteristics (or functions), in other words, different BIOS module files need to be used for the characteristics of each of these servers. In this regard, fig. 9 is a schematic flow chart of a server startup method, and the flow chart shown in fig. 9 is a further detailed description of the flow chart shown in fig. 3, where the flow chart shown in fig. 9 is different from the flow chart shown in fig. 3 mainly in that, before sending a file request message to the BMC, the method may further include S900, acquiring, by the BMC160, at least one BIOS module file configured for the first characteristic, so as to determine, when the server 10 starts up to a target stage, a BIOS module file that needs to be executed in the target stage from the at least one BIOS module file.
Specifically, in this step S900, the user may configure corresponding BIOS module files (taking the BIOS module files as EFI files for example) for different characteristics of different servers 10 through the interface 210 of the management terminal 20 in a manner similar to S401-S402 in fig. 4, and then issue the BIOS module files belonging to each server 10 according to the IP address to the respective BMC160, so as to upgrade and replace the EFI files in batch, thereby improving the customization capability for the user. Then, the configured EFI files can be stored in the storage space of the BMC160 according to the respective configured storage directories, the subsequent CPU110 interacts with the BMC160, and the EFI files required by the target stage are screened from the BMC160 to be executed through the steps of S901-903, so as to ensure that the startup of the server 10 is smoothly performed. It is understood that the execution principle of S901 to S903 is similar to the steps of S301 to S303 shown in fig. 3 or the steps of S406 to S408 shown in fig. 4, and will not be repeated here.
In some possible implementations, since the hardware configuration of the server 10 cannot be perceived before the BIOS runs, many codes with judging functions on the hardware configuration often need to be added to the BIOS codes, and redundancy is compared. In this regard, in this embodiment, fig. 10 shows a schematic flow chart of a server starting method, and compared with the flow chart shown in fig. 3, the main difference of the flow chart shown in fig. 10 is that the method may further include steps S1001 to S1003:
S1001, collecting current configuration information of hardware in a server through the BMC.
In this step, the BMC160 (or by the CPLD or other means) may be used to obtain the current configuration information of the hardware of the server 10, such as, but not limited to, the model and number of the CPU110, the model and number of the memory 120, the model and number of the hard disk 140, and so on.
S1002, determining, by the BMC, a BIOS module file matching the current configuration information from all BIOS module files stored by the BMC.
In this step, the BMC160 may find out BIOS module files matching the current configuration of the hardware of the server 10 from all the stored BIOS module files according to the current configuration information (i.e., hardware characteristics) of the hardware. For example, if the hardware of the server 10 is currently configured as a, the a configuration includes 1 CPU110 of model A1 and 4 memories of model A2, and the BMC160 stores 1000 BIOS module files and is an EFI file, the BMC160 may screen 20 EFI files adapted to the a configuration from the current 1000 EFI files for the a configuration, and similarly, if the server 10 is updated as B configuration, the BMC160 may screen a plurality of EFI files adapted to the B configuration for the B configuration during running.
And S1003, storing the BIOS module file matched with the current configuration information into a preset storage area so as to enable the BMC to determine the BIOS module file required by the target stage from the preset storage area according to the file request message in the next server starting process.
In this step, the BIOS module file screened by the BMC160 for the current configuration information of the server hardware may be stored in a pre-designated storage area (may be a storage area on the BMC160 side), and when the server 10 is started to the target stage next time, the BMC160 may call the corresponding BIOS module file from the storage area to the CPU110 in response to the file request message of the CPU110, so as to implement flexible loading of the BIOS module file for hardware configuration, and implement configuration differentiation.
In addition, in a system architecture such as the BMC160 managing several server nodes, the BMC160 may perform the steps of S1001 to S1003 described above, collect current configuration information of hardware of each server node, and configure a suitable BIOS module file for each server node according to the current configuration information. For example, configuration A for server node 1 matches a collection of EFI files (denoted as set A), configuration B for server node 2 matches a suitable EFI file and denoted as set B, and so on, BMC160 may store the identity of these server nodes in association with the respective matching file sets. In the subsequent startup process of these server nodes, EFI files required to be executed by the respective target phases may be requested from the BMC160, where the BMC160 responds to a file request message (encapsulates the server node identifier) of the server node, and according to the server node identifier, returns the EFI files required to find the target phase of the server in the file set associated with the server node to the server node, so that the startup task of the target phase is completed by executing these EFI files. In this way, the BMC160 manages a plurality of server nodes, so that EFI files are deployed and loaded in batches, and maintenance is facilitated.
In some possible implementation manners, in order to further improve the suitability of the BIOS module file at the BMC side and the hardware characteristics of the server, successful start-up of the server is ensured. In this regard, in the present embodiment, fig. 11 shows a schematic flow chart of a server starting method, and compared with the flow chart shown in fig. 10, the main difference of the flow chart shown in fig. 11 is that the method may further include S1101 to S1103:
S1101, collecting current operation information of hardware in the server through the BMC.
In this step, the BMC160 also monitors the current running state of the hardware of the server 10 during the running process, and the current running information is used to characterize whether the function currently executed by the hardware corresponds to the configuration information of the BMC. For example, the current configuration information of the memory 120 describes that there are 4 types of memories of type B, but the current running state indicates that there are currently only 3 types of memories of type B running normally, so that the current running information does not correspond to the current configuration information obtained by the BMC160, which indicates that there may be a memory failure, or that the memory is replaced, and so on, and then the BIOS module file matched by the BMC160 for the current configuration information may have a problem.
S1102, if the BMC determines that the currently executed function of the hardware is not corresponding to the configuration information of the BMC according to the current running information, determining a BIOS module file matched with the current running information from all BIOS module files stored by the BMC.
In this step, if the current running information of the hardware corresponds to the current configuration information, the BMC160 may not update the related BIOS module files matched with the hardware, otherwise, if the current running information determines that the function currently executed by the hardware is not corresponding to the configuration information of the BMC, the BIOS module file matched with the current running information is redetermined from all the BIOS module files stored in the BMC 160.
And S1103, updating the BIOS module file matched with the current running information into the preset storage area so as to enable the BMC to determine the BIOS module file required by the target stage from the preset storage area according to the file request message in the next server starting process.
In this step, the BMC160 adaptively screens out a suitable BIOS module file according to the current running information of the hardware, updates the EFI file of the storage area, and ensures the high suitability of the BIOS module used in the next starting process of the server 10.
Based on the method in the above embodiment, the embodiment of the present application provides a server starting device. Referring to fig. 12, fig. 12 is a schematic structural diagram of a server starting device according to an embodiment of the application.
As shown in fig. 12, the apparatus 1200 is applied to a server, where a baseboard management controller BMC of the server stores at least one BIOS module file of an input/output system, and the apparatus 1200 may include a processing module 1201 configured to send a file request message to the baseboard management controller BMC of the server when the server starts up to a target stage, where the file request message is used to request to obtain a BIOS module file that needs to be executed in the target stage, an obtaining module 1202 is used to obtain a BISO module file sent by the BMC, and the processing module 1201 may also be used to execute the BIOS module file to complete a startup task of the target stage.
It should be understood that, the apparatus 1200 is used to execute the method in the foregoing embodiment, and corresponding program modules in the apparatus 1200 implement principles and technical effects similar to those described in the foregoing method, and reference may be made to corresponding processes in the foregoing method for the operation of the apparatus, which are not repeated herein.
Based on the method in the above embodiment, the embodiment of the present application provides a server. The server may comprise at least one memory for storing a program, at least one processor for executing the program stored in the memory, wherein the processor is adapted to perform the method of the above-described embodiments when the program stored in the memory is executed.
Based on the method in the above embodiment, the embodiment of the present application provides a computer-readable storage medium storing a computer program, which when executed on a processor, causes the processor to perform the method in the above embodiment.
Based on the method in the above embodiments, an embodiment of the present application provides a computer program product, characterized in that the computer program product, when run on a processor, causes the processor to perform the method in the above embodiments.
Based on the method in the above embodiment, the embodiment of the present application further provides a chip. Referring to fig. 13, fig. 13 is a schematic structural diagram of a chip according to an embodiment of the application. As shown in fig. 13, chip 1300 includes one or more processors 1301 and interface circuitry 1302. Optionally, the chip 1300 may further include a bus 1303. Wherein:
Processor 1301 may be an integrated circuit chip with signal processing capabilities. In implementation, the steps of the method described above may be performed by integrated logic circuitry in hardware in processor 1301 or instructions in software. The processor 1301 may be a general purpose processor, a digital communicator (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or discrete hardware components. The methods and steps disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The interface circuit 1302 may be used to send or receive data, instructions, or information, and the processor 1301 may process using the data, instructions, or other information received by the interface circuit 1302, and may send processing completion information out through the interface circuit 1302.
Optionally, chip 1300 also includes memory, which may include read only memory and random access memory, and provides operating instructions and data to the processor. A portion of the memory may also include non-volatile random access memory (NVRAM).
Optionally, the memory stores executable software modules or data structures and the processor may perform corresponding operations by invoking operational instructions stored in the memory (which may be stored in an operating system).
Optionally, the interface circuit 1302 may be configured to output execution results of the processor 1301.
The functions corresponding to the processor 1301 and the interface circuit 1302 may be implemented by a hardware design, a software design, or a combination of hardware and software, which is not limited herein.
It will be appreciated that the steps of the method embodiments described above may be performed by logic circuitry in the form of hardware in a processor or instructions in the form of software.
It should be understood that, the sequence number of each step in the foregoing embodiment does not mean the execution sequence, and the execution sequence of each process should be determined by the function and the internal logic, and should not limit the implementation process of the embodiment of the present application. In addition, in some possible implementations, each step in the foregoing embodiments may be selectively performed according to practical situations, and may be partially performed or may be performed entirely, which is not limited herein.
It is to be appreciated that the processor in embodiments of the application may be a central processing unit (central processing unit, CPU), but may also be other general purpose processors, digital signal processors (DIGITAL SIGNAL processors, DSPs), application Specific Integrated Circuits (ASICs), field programmable gate arrays (field programmable GATE ARRAY, FPGAs), or other programmable logic devices, transistor logic devices, hardware components, or any combination thereof. The general purpose processor may be a microprocessor, but in the alternative, it may be any conventional processor.
The method steps in the embodiments of the present application may be implemented by hardware, or may be implemented by executing software instructions by a processor. The software instructions may be comprised of corresponding software modules that may be stored in random access memory (random access memory, RAM), flash memory, read-only memory (ROM), programmable read-only memory (programmablerom, PROM), erasable programmable read-only memory (erasable PROM, EPROM), electrically erasable programmable read-only memory (EEPROM), registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC.
In the above embodiments, it may be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When loaded and executed on a computer, produces a flow or function in accordance with embodiments of the present application, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a computer network, or other programmable apparatus. The computer instructions may be stored in or transmitted across a computer-readable storage medium. The computer instructions may be transmitted from one website, computer, server, or data center to another website, computer, server, or data center by a wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)), or wireless (e.g., infrared, wireless, microwave, etc.). The computer readable storage medium may be any available medium that can be accessed by a computer or a data storage device such as a server, data center, etc. that contains an integration of one or more available media. The usable medium may be a magnetic medium (e.g., floppy disk, hard disk, tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Drive (SSD)), etc.
It will be appreciated that the various numerical numbers referred to in the embodiments of the present application are merely for ease of description and are not intended to limit the scope of the embodiments of the present application.

Claims (10)

1.一种服务器启动方法,其特征在于,所述服务器的基板管理控制器BMC中存储有至少一个输入输出系统BIOS模块文件;所述方法包括:1. A server startup method, characterized in that at least one input/output system BIOS module file is stored in a baseboard management controller BMC of the server; the method comprises: 在所述服务器启动至目标阶段的情况下,向所述服务器的基板管理控制器BMC发送文件请求消息,所述文件请求消息用于请求获取所述目标阶段所需执行的BIOS模块文件;When the server is started to the target stage, a file request message is sent to a baseboard management controller BMC of the server, wherein the file request message is used to request to obtain a BIOS module file required to be executed in the target stage; 获取所述BMC发送的所述BIOS模块文件;Obtain the BIOS module file sent by the BMC; 执行所述BIOS模块文件,以完成所述目标阶段的启动任务。Execute the BIOS module file to complete the startup task of the target stage. 2.根据权利要求1所述的方法,其特征在于,所述服务器的启动过程包括多个阶段,所述目标阶段为所述多个阶段之一;2. The method according to claim 1, characterized in that the startup process of the server includes multiple stages, and the target stage is one of the multiple stages; 在所述服务器启动至目标阶段的情况下,向所述服务器的基板管理控制器BMC发送文件请求消息之前,所述方法包括:When the server is started to the target stage, before sending a file request message to a baseboard management controller BMC of the server, the method includes: 在所述服务器开始启动的情况下或开始启动之前,向所述BMC发送第一请求消息,所述第一请求消息用于确认所述BMC中所存储的在各所述阶段执行的BIOS模块文件的数量;When the server starts to start or before it starts to start, sending a first request message to the BMC, wherein the first request message is used to confirm the number of BIOS module files executed in each of the stages stored in the BMC; 获取所述BMC发送的第一响应消息,所述第一响应消息包括各所述阶段执行的BIOS模块文件的数量及第一标识信息,所述第一标识信息用于识别该BIOS模块文件。A first response message sent by the BMC is obtained, where the first response message includes the number of BIOS module files executed in each stage and first identification information, where the first identification information is used to identify the BIOS module file. 3.根据权利要求2所述的方法,其特征在于,所述在所述服务器启动至目标阶段的情况下,向所述服务器的基板管理控制器BMC发送文件请求消息,包括:3. The method according to claim 2, wherein when the server is started to the target stage, sending a file request message to a baseboard management controller (BMC) of the server comprises: 若从所述第一响应消息中确定所述BMC中存在能够在该目标阶段执行的BIOS模块文件,在所述服务器启动至所述目标阶段的情况下,则向所述BMC发送所述文件请求消息,所述文件请求消息中包括该BIOS模块文件的第一标识信息。If it is determined from the first response message that the BMC contains a BIOS module file that can be executed in the target stage, when the server is booted to the target stage, the file request message is sent to the BMC, wherein the file request message includes the first identification information of the BIOS module file. 4.根据权利要求3所述的方法,其特征在于,所述获取所述BMC发送的所述BIOS模块文件,包括:4. The method according to claim 3, wherein obtaining the BIOS module file sent by the BMC comprises: 获取所述BMC发送的文件响应消息,该文件响应消息携带所述目标阶段所需执行的BIOS模块文件,该BIOS模块文件是所述BMC根据所述文件请求消息中包括的第一标识信息所确定的。A file response message sent by the BMC is obtained, where the file response message carries a BIOS module file required to be executed in the target phase, and the BIOS module file is determined by the BMC according to the first identification information included in the file request message. 5.根据权利要求1-4任一项所述的方法,其特征在于,所述服务器的启动过程至少包括所述目标阶段和非目标阶段,所述非目标阶段为所述目标阶段之外的启动阶段;5. The method according to any one of claims 1 to 4, characterized in that the startup process of the server includes at least the target phase and the non-target phase, and the non-target phase is a startup phase other than the target phase; 所述方法具体包括:The method specifically comprises: 在所述服务器启动至所述非目标阶段的情况下,从所述服务器的BIOS芯片中获取预先存储的BIOS模块文件;When the server is started to the non-target stage, obtaining a pre-stored BIOS module file from a BIOS chip of the server; 执行从所述BIOS芯片中获取的该BIOS模块文件,以完成所述非目标阶段的启动任务;Executing the BIOS module file obtained from the BIOS chip to complete the startup task of the non-target stage; 在所述服务器启动至所述目标阶段的情况下,向所述服务器的基板管理控制器BMC发送文件请求消息,所述文件请求消息用于请求获取所述目标阶段所需执行的BIOS模块文件;When the server is started to the target stage, a file request message is sent to a baseboard management controller BMC of the server, wherein the file request message is used to request to obtain a BIOS module file required to be executed in the target stage; 获取所述BMC发送的所述BIOS模块文件;Obtain the BIOS module file sent by the BMC; 执行所述BIOS模块文件,以完成所述目标阶段的启动任务。Execute the BIOS module file to complete the startup task of the target stage. 6.根据权利要求1-4任一项所述的方法,其特征在于,所述BIOS模块文件具有第二标识信息,且该第二标识信息相同的所述BIOS模块文件所执行的启动任务相同;6. The method according to any one of claims 1 to 4, characterized in that the BIOS module file has second identification information, and the startup tasks executed by the BIOS module files with the same second identification information are the same; 所述执行所述BIOS模块文件,以完成所述目标阶段的启动任务,包括:The executing of the BIOS module file to complete the startup task of the target stage includes: 根据所述BIOS模块文件的第二标识信息,确定所述服务器的Bios芯片中是否预先存储有与该BIOS模块文件的第二标识信息匹配的文件;Determine, according to the second identification information of the BIOS module file, whether a file matching the second identification information of the BIOS module file is pre-stored in the BIOS chip of the server; 若确定所述Bios芯片中预先存储有与该BIOS模块文件的第二标识信息匹配的文件,则执行该文件与该BIOS模块文件中版本号较高者,以完成所述目标阶段的启动任务;If it is determined that a file matching the second identification information of the BIOS module file is pre-stored in the BIOS chip, the one with the higher version number between the file and the BIOS module file is executed to complete the startup task of the target stage; 若确定所述Bios芯片中未预先存储有与该BIOS模块文件的第二标识信息匹配的文件,则执行该BIOS模块文件,以完成所述目标阶段的启动任务。If it is determined that the BIOS chip does not pre-store a file matching the second identification information of the BIOS module file, the BIOS module file is executed to complete the startup task of the target stage. 7.根据权利要求1-6任一项所述的方法,其特征在于,所述服务器具有与其他不同代次服务器相同的第一特性,所述第一特性对应至少一个bios模块文件,该BIOS模块文件存储在BMC中;7. The method according to any one of claims 1 to 6, characterized in that the server has the same first characteristic as other servers of different generations, the first characteristic corresponds to at least one BIOS module file, and the BIOS module file is stored in the BMC; 在所述服务器启动至目标阶段的情况下,向所述服务器的基板管理控制器BMC发送文件请求消息之前,所述方法还包括:When the server is started to the target stage, before sending a file request message to a baseboard management controller BMC of the server, the method further includes: 通过所述BMC获取针对所述第一特性配置的至少一个BIOS模块文件,所述目标阶段所需执行的BIOS模块文件是从所述至少一个BIOS模块文件中确定的。At least one BIOS module file configured for the first characteristic is obtained through the BMC, and the BIOS module file required to be executed in the target stage is determined from the at least one BIOS module file. 8.根据权利要求1-6任一项所述的方法,其特征在于,所述服务器具有与其他同批次服务器不同的第一特性,所述第一特性对应至少一个bios模块文件,该BIOS模块文件存储在BMC中;8. The method according to any one of claims 1 to 6, characterized in that the server has a first characteristic different from other servers in the same batch, the first characteristic corresponds to at least one BIOS module file, and the BIOS module file is stored in the BMC; 在所述服务器启动至目标阶段的情况下,向所述服务器的基板管理控制器BMC发送文件请求消息之前,所述方法还包括:When the server is started to the target stage, before sending a file request message to a baseboard management controller BMC of the server, the method further includes: 通过所述BMC获取针对所述第一特性配置的至少一个BIOS模块文件,所述目标阶段所需执行的BIOS模块文件是从所述至少一个BIOS模块文件中确定的。At least one BIOS module file configured for the first characteristic is obtained through the BMC, and the BIOS module file required to be executed in the target stage is determined from the at least one BIOS module file. 9.根据权利要求1-8任一项所述的方法,其特征在于,所述方法还包括:9. The method according to any one of claims 1 to 8, characterized in that the method further comprises: 通过所述BMC采集所述服务器中硬件的当前配置信息;Collecting current configuration information of the hardware in the server through the BMC; 通过所述BMC,从所述BMC所存储的所有BIOS模块文件中确定与所述当前配置信息匹配的BIOS模块文件;Determining, by the BMC, a BIOS module file matching the current configuration information from all BIOS module files stored in the BMC; 将与该当前配置信息匹配的BIOS模块文件存储至预定存储区域,以在下一次服务器启动过程中使所述BMC根据所述文件请求消息从该预定存储区域中确定所述目标阶段所需的BIOS模块文件。The BIOS module file matching the current configuration information is stored in a predetermined storage area, so that during the next server startup process, the BMC determines the BIOS module file required for the target stage from the predetermined storage area according to the file request message. 10.一种服务器,其特征在于,包括:10. A server, comprising: 至少一个存储器,用于存储程序;at least one memory for storing a program; 至少一个处理器,用于执行所述存储器存储的程序;at least one processor, configured to execute the program stored in the memory; 其中,当所述存储器存储的程序被执行时,所述处理器用于执行如权利要求1-8任一所述的方法。Wherein, when the program stored in the memory is executed, the processor is used to execute the method according to any one of claims 1-8.
CN202411347773.7A 2024-09-25 2024-09-25 Server startup method and server Pending CN119536827A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202411347773.7A CN119536827A (en) 2024-09-25 2024-09-25 Server startup method and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202411347773.7A CN119536827A (en) 2024-09-25 2024-09-25 Server startup method and server

Publications (1)

Publication Number Publication Date
CN119536827A true CN119536827A (en) 2025-02-28

Family

ID=94694685

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202411347773.7A Pending CN119536827A (en) 2024-09-25 2024-09-25 Server startup method and server

Country Status (1)

Country Link
CN (1) CN119536827A (en)

Similar Documents

Publication Publication Date Title
RU2429529C2 (en) Dynamic configuration, allocation and deployment of computer systems
KR100773004B1 (en) System and apparatus for eliminating user interaction during hardware configuration at system boot
US11385993B2 (en) Dynamic integration of command line utilities
US10303458B2 (en) Multi-platform installer
US6901534B2 (en) Configuration proxy service for the extended firmware interface environment
US12197939B2 (en) Provisioning DPU management operating systems
US12182602B2 (en) Provisioning DPU management operating systems using firmware capsules
US8087015B2 (en) Assignment of application models to deployment targets
WO2023098052A1 (en) Server operation and maintenance method and apparatus, and device and storage medium
US11640290B2 (en) Pushing a firmware update patch to a computing device via an out-of-band path
CN119620958A (en) A model file loading method, system, computer device and storage medium
US11586536B1 (en) Remote configuration of multi-mode DIMMs through a baseboard management controller
US11169740B1 (en) Simultaneous initiation of multiple commands for configuring multi-mode DIMMS using a BMC
CN117609009A (en) Test methods, servers, management equipment and test systems
CN115629777B (en) A BMC heterogeneous upgrade method, system, device and readable storage medium
US11921582B2 (en) Out of band method to change boot firmware configuration
US20240020103A1 (en) Parallelizing data processing unit provisioning
CN119536827A (en) Server startup method and server
US11789821B1 (en) Out-of-band method to change boot firmware configuration
US11204704B1 (en) Updating multi-mode DIMM inventory data maintained by a baseboard management controller
US12045478B1 (en) Remote configuration of multi-mode DIMMs through firmware
CN116846865A (en) Domain name configuration methods, devices, electronic equipment and computer program products
WO2021003729A1 (en) Configuration method, physical device, server and computer readable storage medium
US20250147796A1 (en) Provisioning dpu management operating systems
CN117170916B (en) Fault analysis method, device, equipment and storage medium

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