Configuration method, basic input and output system and server
By automatically obtaining and configuring customized data in BIOS configuration mode, the problems of high labor costs and long development cycle caused by server customization requirements are solved, and an efficient automated configuration process is achieved.
Patent Information
- Application Number
- CN202510703260.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-28
- Publication Date
- 2025-08-29
AI Technical Summary
In the prior art, the demand for server customization has high labor costs and long development cycles. Traditional BIOS configuration methods require manual code writing and relying on configuration software, resulting in inefficiency.
When the BIOS is in configuration mode, custom configuration data is obtained through the substrate management controller, and the configuration items are automatically configured in preset order, including logo files, human-machine interface infrastructure, component asset information and system management, etc., and interact with BMC using Redfish or IPMI communication methods.
It realizes the fully automatic customized configuration of BIOS, shortens the development process, saves labor costs, and improves production efficiency.
Smart Images

Figure CN120560745A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a configuration method, a basic input and output system, and a server. Background Art
[0002] Currently, server market demand is expanding, and usage scenarios are highly diverse, driving a growing demand for server customization. Faced with this influx of customization demands, server manufacturers must invest significant manpower and resources to meet customization delivery cycles. Taking the server Basic Input Output System (BIOS) as an example, current server customization requirements focus on the boot logo file (LOGO), product system management and version (SmBIOS) information, setting configuration item defaults, and importing component asset information.
[0003] Traditional solutions require BIOS developers to manually write code, which requires multiple steps, including modification, compilation, verification, and release, resulting in a long development cycle. While developers can use dedicated BIOS configuration software, running the software still requires parsing the compiled firmware (FW) binary file and overwriting the original default configuration file.
[0004] While the first solution can significantly meet customization requirements, it requires significant human resources, high labor costs, and a lengthy development cycle. While the second solution shortens the customization cycle, it significantly limits the customization content available. The customization options rely heavily on configuration software, which also requires significant human resources to develop. Therefore, there is an urgent need for a basic input / output system configuration method for servers to address these issues. Summary of the Invention
[0005] In view of at least one of the above technical problems existing in the prior art, this application is proposed. According to one aspect of this application, a configuration method is provided, the method comprising:
[0006] When a basic input / output system is in a configuration mode, a request for obtaining customized configuration data corresponding to a configuration item is sent to a baseboard management controller in a preset order; wherein the basic input / output system includes at least one configuration item;
[0007] receiving the customized configuration data corresponding to the configuration item returned by the baseboard management controller;
[0008] Configuring the configuration items according to the customized configuration data;
[0009] After all the configuration items are configured, the basic input and output system is exited from the configuration mode.
[0010] In some embodiments, before sending a request for obtaining customized configuration data corresponding to the configuration items to the baseboard management controller in a preset order, the method further includes:
[0011] Send a query request to the baseboard management controller to obtain user-customized configuration item information; wherein the configuration item includes at least one of the following: a logo file configuration item, a human-machine interface infrastructure configuration item, a component asset information configuration item, a system management and version configuration item.
[0012] In some embodiments, the configuration item includes a logo file configuration item; the method further includes:
[0013] Sending a request to the baseboard management controller to obtain a logo configuration file;
[0014] Receiving a logo configuration file corresponding to the user information to be configured from the baseboard management controller through a preset communication method; wherein the logo configuration file is obtained by the baseboard management controller through a configuration file library stored in an embedded multimedia card;
[0015] The basic input and output system is configured with a logo file based on the logo configuration file.
[0016] Configuring the basic input and output system with the logo file based on the logo configuration file includes:
[0017] storing the logo configuration file in a first preset area of a flash memory of a basic input / output system;
[0018] Parsing the logo configuration file to obtain a logo file;
[0019] Generate a display control instruction to display the logo file on a display interface.
[0020] In some embodiments, the configuration item includes a human-machine interface infrastructure configuration item; the method further comprises:
[0021] Sending a request to the baseboard management controller to obtain a human-machine interface infrastructure configuration file;
[0022] Receiving a human-machine interface infrastructure configuration file from the baseboard management controller through a preset communication method; wherein the human-machine interface infrastructure configuration file is obtained by the baseboard management controller through a configuration file library stored in an embedded multimedia card;
[0023] The human-machine interface infrastructure is configured for the basic input / output system based on the human-machine interface infrastructure configuration file.
[0024] Configuring the human-machine interface infrastructure of the basic input / output system based on the human-machine interface infrastructure configuration file includes:
[0025] Parsing the human-machine interface infrastructure configuration file;
[0026] storing a human-machine interface infrastructure file obtained by parsing the human-machine interface infrastructure configuration file in a human-machine interface infrastructure database, and applying the human-machine interface infrastructure file to setting a browser;
[0027] The human-machine interface infrastructure file is stored in a second preset area of the flash memory of the basic input and output system.
[0028] In some embodiments, the configuration item includes a component asset information configuration item; the method further includes:
[0029] Sending a request to the baseboard management controller to obtain a component asset information configuration file;
[0030] Receiving the component asset information configuration file sent from the baseboard management controller through a preset communication method; wherein the component asset information configuration file is obtained by the baseboard management controller through a configuration file library stored in an embedded multimedia card;
[0031] detecting whether initial component asset information of the basic input / output system needs to be updated;
[0032] When the initial component asset information needs to be updated, updating the initial component asset information of the basic input and output system based on the component asset information configuration file;
[0033] The step of detecting whether the initial component asset information of the basic input / output system needs to be updated includes:
[0034] Determining whether the component asset information configuration file is consistent with the initial component asset information in the cache;
[0035] If they are inconsistent, determining that the initial component asset information of the basic input and output system needs to be updated;
[0036] Wherein, when the initial component asset information needs to be updated, updating the initial component asset information of the basic input and output system based on the component asset information configuration file includes:
[0037] parsing the component asset information configuration file to obtain a component asset information file, and storing the component asset information file in a third preset area of the flash memory of the basic input and output system;
[0038] Perform peripheral component interconnection fast bus device enumeration to obtain identification information of all peripheral component interconnection fast bus devices;
[0039] The identification information is matched with the device description information of the stored component asset information to update the device description information.
[0040] In some embodiments, the configuration items include system management and version configuration items; the method further includes:
[0041] Sending a request to the baseboard management controller to obtain the system management and version configuration files;
[0042] Receiving the system management and version configuration files from the baseboard management controller through a preset communication method; wherein the system management and version configuration files are obtained by the baseboard management controller through a configuration file library stored in an embedded multimedia card;
[0043] Configuring system management and version configuration items based on the system management and version configuration files;
[0044] Configuring the system management and version configuration items based on the system management and version configuration files includes:
[0045] Parsing the system management and version configuration files to obtain parsed system management and version files;
[0046] The system management and version files are stored in a fourth preset area of the flash memory of the basic input and output system.
[0047] In some embodiments, the preset order includes: the logo file configuration item takes precedence over the human-machine interface infrastructure configuration item, the human-machine interface infrastructure configuration item takes precedence over the component asset information configuration item, and the component asset information configuration item takes precedence over the system management and version configuration item; and, if any one of the above configuration items does not need to be configured, skip any one of the configuration items to configure the next configuration item.
[0048] In some embodiments, the preset communication mode includes a Redfish communication mode or an IPMI communication mode.
[0049] Another aspect of the present application provides a basic input / output system, the basic input / output system comprising:
[0050] A memory and a processor, wherein the memory stores a computer program to be executed by the processor, and when the computer program is executed by the processor, the processor executes the basic input and output system configuration method for a server as described above.
[0051] On another aspect, an embodiment of the present application provides a server, wherein the server is configured with the basic input and output system as described above.
[0052] In the configuration method of the embodiment of the present application, the basic input / output system (BIOS) sends a request for customized configuration data corresponding to configuration items to the baseboard management controller (BMC) in a preset order in configuration mode, obtains the customized configuration data, and the basic input / output system (BIOS) configures the firmware information of the basic input / output system (BIOS) according to the customized configuration data corresponding to the configuration items, and exits the configuration mode after all the configuration items are configured. The embodiment of the present application solves the problem of manually writing code to customize the configuration of the basic input / output system (BIOS) in traditional technologies. The entire configuration process is fully automated, which greatly shortens the development process of customized configuration, saves labor costs, and improves production efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0054] Figure 1 A schematic flow chart showing a configuration method according to an embodiment of the present application is shown;
[0055] Figure 2 A schematic flow chart illustrating a process 200 of configuring the logo file (LOGO) configuration item according to an embodiment of the present application is shown;
[0056] Figure 3 A schematic flowchart of step S203 according to an embodiment of the present application is shown;
[0057] Figure 4 A schematic flow chart showing a process 400 of configuring the human-machine interface infrastructure configuration items according to an embodiment of the present application;
[0058] Figure 5 A schematic flowchart of step S403 according to an embodiment of the present application is shown;
[0059] Figure 6A schematic flow chart showing a process 600 of configuring the component asset information configuration item according to an embodiment of the present application is shown;
[0060] Figure 7 A schematic flowchart of step S603 according to an embodiment of the present application is shown;
[0061] Figure 8 A schematic flowchart of step S604 according to an embodiment of the present application is shown;
[0062] Figure 9 A schematic flow chart illustrating a process 900 of configuring the system management and version configuration items according to an embodiment of the present application is shown;
[0063] Figure 10 A schematic flowchart of step S903 according to an embodiment of the present application is shown;
[0064] Figure 11 A schematic flow chart showing a basic input and output system configuration method for a server according to another embodiment of the present application is shown;
[0065] Figure 12 FIG. 1 is a schematic block diagram of a basic input / output system 1200 according to an embodiment of the present application;
[0066] Figure 13 A schematic block diagram of a server according to an embodiment of the present application is shown. DETAILED DESCRIPTION
[0067] To help those skilled in the art better understand the technical solutions in the embodiments of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0068] The Basic Input / Output System (BIOS) is a startup program installed on the server's motherboard's Read-Only Memory (ROM) chip. The BIOS is responsible for running the system's Power On Self Test (POST) and system startup routines, making it the first program executed after a computer system boots up. The BIOS program instructions are stored in the ROM chip and retain their original settings even after a power outage. Adjusting BIOS functions, such as changing the startup logo or the startup printout, often requires recompiling the entire BIOS code to generate customized BIOS firmware to replace the default one, as the various function codes are interdependent. However, when the number of servers is large, customizing the BIOS startup process is labor-intensive and requires significant manpower to meet the customization requirements of different users, resulting in significant waste of human resources.
[0069] Even if dedicated configuration software or firmware is used, when customization requirements change, the configuration software or firmware needs to be re-produced, which also increases the workload of R&D personnel and slows down the production cycle. In addition, due to the large number of servers, some requirements are easily missed or lost during the customization process, and it is necessary to repeatedly check for missing items and rewrite the firmware or scripts, which is inefficient and affects the user experience.
[0070] Based on at least one of the aforementioned technical problems, the present application provides a configuration method, the method comprising: when a basic input / output system is in configuration mode, sending a request to a baseboard management controller in a preset order to obtain customized configuration data corresponding to a configuration item; wherein the basic input / output system includes at least one configuration item; receiving the customized configuration data corresponding to the configuration item returned by the baseboard management controller; configuring the configuration item according to the customized configuration data; after all the configuration items are configured, causing the basic input / output system to exit configuration mode. The embodiment of the present application solves the problem of requiring manual writing of code to customize the configuration of the basic input / output system (BIOS) in traditional technologies. The entire configuration process is fully automated, which greatly shortens the development process of customized configuration, saves labor costs, and improves production efficiency.
[0071] Figure 1 A schematic flow chart of a configuration method according to an embodiment of the present application is shown; Figure 1 As shown, the configuration method 100 according to the embodiment of the present application may include the following steps S101, S102, S103, and S104:
[0072] In step S101 , when a basic input / output system (BIOS) is in a configuration mode, a request for obtaining customized configuration data corresponding to a configuration item is sent to a baseboard management controller (BMC) in a preset order.
[0073] In step S102 , the customized configuration data corresponding to the configuration item returned by the baseboard management controller is received.
[0074] In step S103, the configuration items are configured according to the customized configuration data.
[0075] In step S104, after all the configuration items are configured, the basic input and output system exits the configuration mode.
[0076] The embodiments of the present application can be applied to the customized configuration of the basic input and output system (BIOS) of a server. For example, the basic input and output system (BIOS) of a server can be customized in batches or automatically. After the configuration file library of the server is updated, the server is powered on for the first time. When the basic input and output system (BIOS) runs the basic input and output system (BIOS) of the server for the first time, it will enter the configuration mode of the basic input and output system (BIOS). The configuration mode indicates that the current basic input and output system (BIOS) is in a configurable state, rather than a normal boot state.
[0077] When the Basic Input Output System (BIOS) is in configuration mode, after completing basic memory initialization and related basic services, the Basic Input Output System (BIOS) needs to prioritize initializing the Intelligent Platform Management Interface (IPMI) and Redfish service to form a channel for interaction with the Baseboard Management Controller (BMC).
[0078] After initializing the IPMI and Redfish services, the BIOS sends a query request to the BMC in the form of an IPMI command to obtain the configuration information for the currently customized configuration items. The BMC returns the relevant configuration item information to the BIOS, which then parses the data returned by the BMC to obtain the user-customized configuration item information. The BIOS then modifies the configuration information for the relevant configuration items according to a pre-set sequence.
[0079] The baseboard management controller (BMC) and the intelligent platform management interface (IPMI) are the basic core functional subsystems of the server, responsible for the server's core functions such as hardware status management, operating system management, health status management, and power consumption management.
[0080] When a server boots up, the BIOS sends component asset information and current BIOS configuration option value query commands to the baseboard management controller (BMC) via IPMI commands. The BMC packages the component asset information into JSON format for user query and also converts the option values sent by the BIOS into JSON format, exposing them through a RESTful interface. Alternatively, when a server boots up, the BIOS sends Redfish-compliant component asset information and current BIOS configuration option value query commands to the BMC via LANOVERUSB. The BMC then exposes these commands through a RESTful API for user access. Therefore, the IPMI command interactions between the BIOS and BMC must be fully defined in advance. Any newly added devices and BIOS options require reimplementation in both the BIOS and BMC. Furthermore, the BIOS and BMC versions are tightly coupled, and incorrect version combinations can lead to unpredictable results.
[0081] The basic input and output system includes at least one configuration item.
[0082] The configuration items may include at least one of the following: a logo file (LOGO) configuration item, a human-machine interface infrastructure (HII) configuration item, a component asset information configuration item, a system management and version configuration item.
[0083] The baseboard management controller (BMC) of the embodiment of the present application defines an area within the embedded MultiMediaCard (eMMC) as a configuration file library storage space. This configuration file library can be read and written by the baseboard management controller (BMC) and can be read and written by external configuration software. Therefore, the configuration files for various configuration items such as the logo file (LOGO) configuration item, the human-machine interface infrastructure (HII) configuration item, the component asset information configuration item, the system management and version configuration item can all be stored in the configuration file library of the embedded MultiMediaCard (eMMC), so that the baseboard management controller (BMC) can read the configuration files corresponding to each configuration item.
[0084] The configuration file library can store user-defined codes and various configuration files by category. The configuration file library can support external configuration software to modify and configure it, and can also support the baseboard management controller (BMC) to read specific files from various configuration files by index or number.
[0085] After the configuration file library is created or updated, the basic input and output system (BIOS) configurations of servers can be updated in batches through the configuration file library.
[0086] Among them, the customized configuration data corresponding to the configuration item may include whether the configuration item needs to be configured. For example, if the user does not need to configure the logo file configuration item, the customized configuration data corresponding to the logo file configuration item may prompt not to configure the logo file configuration item and directly enter the configuration of the next configuration item.
[0087] The following describes the configuration process of each configuration item.
[0088] Wherein, the configuration items include logo file (LOGO) configuration items. Figure 2 FIG2 is a schematic flow chart of a process 200 for configuring the logo file (LOGO) configuration item. The process 200 for configuring the logo file (LOGO) configuration item includes steps S201, S202, and S203:
[0089] In step S201, a request for obtaining a logo configuration file is sent to a baseboard management controller (BMC);
[0090] In step S202, a logo configuration file corresponding to the user information to be configured is received from a baseboard management controller (BMC) via a preset communication method; wherein the logo configuration file is obtained by the baseboard management controller (BMC) via a configuration file library stored in an embedded multi media card (eMMC);
[0091] In step S203, a logo file (LOGO) is configured for the basic input / output system based on the logo configuration file.
[0092] In the embodiment of the present application, the format of the logo configuration file should support reading by the baseboard management controller (BMC), supporting BIOS parsing, and also supporting configuration software deletion and import operations. For example, the logo configuration file can be in XML, JSON / YAML, or INI format.
[0093] like Figure 3 FIG2 is a schematic flow chart of step S203. Step S203 configures the basic input and output system with the logo file based on the logo configuration file, including steps S301, S302 and S303:
[0094] In step S301, the logo configuration file is stored in a first preset area of a flash memory of a basic input / output system (BIOS);
[0095] In step S302, the logo configuration file is parsed to obtain a logo file (LOGO);
[0096] In step S303, a display control instruction is generated to display the logo file (LOGO) on a display interface.
[0097] The logo configuration file may be parsed to obtain a logo file, which may be in a bitmap format, such as a picture, text, animation, etc.
[0098] In some embodiments, when displaying the logo file (LOGO), the screen may be lit up to highlight the logo file (LOGO).
[0099] The configuration items include human-machine interface infrastructure configuration items. Human-machine interface infrastructure (HII) is a framework in UEFI for managing user interfaces and configuration data. Its configuration files contain configuration items such as interface elements (fonts / strings / images), hardware parameter settings, and security policies, and support interactive configuration through graphical or text interfaces. For example, hardware initialization before system startup (such as RAID mode selection and storage device configuration), user preferences such as UEFI interface language and display resolution, and security policy deployment such as secure boot and password protection.
[0100] like Figure 4 FIG. 4 is a schematic diagram showing a process 400 for configuring the human-machine interface infrastructure configuration item. The process 400 for configuring the human-machine interface infrastructure configuration item includes steps S401, S402, and S403:
[0101] In step S401, a request for obtaining a human-machine interface infrastructure configuration file is sent to a baseboard management controller (BMC);
[0102] In step S402, a human-machine interface infrastructure configuration file is received from a baseboard management controller (BMC) through a preset communication method; wherein the human-machine interface infrastructure configuration file is obtained by the baseboard management controller (BMC) through a configuration file library stored in an embedded MultiMedia Card (eMMC);
[0103] In step S403 , the human-machine interface infrastructure is configured in a basic input / output system (BIOS) based on the human-machine interface infrastructure configuration file.
[0104] like Figure 5 FIG. 4 is a schematic flow chart of step S403. The configuration of the human-machine interface infrastructure of the BIOS based on the human-machine interface infrastructure configuration file in step S403 includes steps S501, S502 and S503:
[0105] In step S501, the human-machine interface infrastructure configuration file is parsed;
[0106] In step S502, the human-machine interface infrastructure file obtained by parsing the human-machine interface infrastructure configuration file is stored in a human-machine interface infrastructure database, and the human-machine interface infrastructure file is applied to a setup browser (Setup Browser);
[0107] In step S503, the human-machine interface infrastructure file is stored in a second preset area of a basic input / output system (BIOS) flash memory.
[0108] In an embodiment of the present application, the human-machine interface infrastructure (HII) configuration file should support baseboard management controller (BMC) reading, support basic input and output system (BIOS) parsing, and also support configuration operations of configuration software. The human-machine interface infrastructure (HII) configuration file can use the Json format for data transmission. For the basic input and output system (BIOS), the Json file parsing technology of Redfish in traditional technology can be used for parsing. The human-machine interface infrastructure (HII) configuration file uses the Json format, which can facilitate the baseboard management controller (BMC) to read and transmit data, facilitate configuration software to perform configuration, and facilitate human-computer interaction.
[0109] The configuration items include component asset information configuration items. Server component asset information here refers to the detailed technical parameters, configuration information, and maintenance records of the key components that make up the server hardware system, used for systematic management and maintenance. It primarily covers core hardware component information, auxiliary asset information, and asset management tools and methods. Core hardware component information can include information on components such as the central processing unit, memory (RAM), storage devices, power supply and cooling systems, and network and expansion components.
[0110] For example, a central processing unit (CPU) can include technical parameters and status monitoring; technical parameters may include model, main frequency (GHz), number of cores / threads, number of paths (physical CPUs), etc.; status monitoring may include utilization, temperature, power consumption, etc. Memory (RAM) can include configuration details and operating status; configuration details may include capacity (GB), type (such as DDR4), frequency (MHz), and slot location; operating status may include occupancy rate, error rate, etc. Storage devices may include hard disks / solid-state drives (HDDs) and storage arrays; hard disks / solid-state drives may include type (HDD / SSD), capacity (TB), interface (SATA / NVMe), and RAID configuration; storage arrays may include logical volume division and read / write performance indicators. The power supply and cooling system may include the power supply unit (PSU) and cooling components; the power supply unit (PSU) may include power (Watts), redundancy configuration (dual power supplies), and input voltage; cooling components may include fan speed, heat sink status, and temperature alarm thresholds. Network and expansion components may include network cards (NICs) and expansion cards; network cards (NICs) may include model, speed (such as 10Gbps) and MAC address, etc.; expansion cards may include: GPU model and FPGA acceleration card configuration, etc.
[0111] For another example, the auxiliary asset information of the motherboard and chassis may include the motherboard model, chipset, firmware version and number of PCIe slots, etc.; the chassis information of the auxiliary asset information may include size (such as 1U / 2U), asset tag and physical location (cabinet number), etc.
[0112] For another example, maintenance records may include hardware replacement and warranty information; hardware replacement may include the time of component replacement, operator, and reason for replacement; warranty information may include supplier, warranty period, and service agreement.
[0113] For another example, asset management tools may include automated monitoring tools and asset management systems.
[0114] Since the server's component asset information includes hardware technical parameters (such as CPU, memory, storage), operating status (such as temperature, power consumption) and maintenance records (such as replacement logs, warranty information), reasonable and efficient configuration of component asset information can ensure stable server operation and optimize resource utilization.
[0115] like Figure 6 FIG. 6 is a flow chart showing a process 600 for configuring the component asset information configuration item. The process 600 for configuring the component asset information configuration item includes steps S601, S602, S603, and S604:
[0116] Step S601: Send a request to a baseboard management controller (BMC) to obtain a component asset information configuration file;
[0117] Step S602: receiving the component asset information configuration file sent from a baseboard management controller (BMC) through a preset communication method; wherein the component asset information configuration file is obtained by the baseboard management controller (BMC) through a configuration file library stored in an embedded MultiMedia Card (eMMC);
[0118] Step S603, detecting whether the initial component asset information of the basic input and output system needs to be updated;
[0119] Step S604 : When the initial component asset information needs to be updated, the initial component asset information of the basic input / output system is updated based on the component asset information configuration file.
[0120] In one example, if Figure 7 FIG. 5 is a schematic flow chart of step S603. Step S603 detects whether the initial component asset information of the basic input and output system needs to be updated, including steps S701 and S702:
[0121] In step S701, it is determined whether the component asset information configuration file is consistent with the initial component asset information in the cache; if so, the process ends; otherwise, step S702 is executed;
[0122] In step S702 , it is determined that the initial component asset information of the basic input / output system needs to be updated.
[0123] In one example, if Figure 8 FIG. 8 is a schematic flow chart of step S604. In step S604, when the initial component asset information configuration file of the BIOS needs to be updated, the component asset information of the BIOS is configured based on the component asset information configuration file, including steps S801, S802 and S803:
[0124] In step S801, the component asset information configuration file is parsed to obtain a component asset information file, and the component asset information file is stored in a third preset area of a flash memory of a basic input and output system (BIOS);
[0125] In step S802, peripheral component interconnect express (PCIe) device enumeration is performed to obtain identification (ID) information of all peripheral component interconnect express (PCIe) devices;
[0126] In step S803, the identification (ID) information is matched with the device description information of the stored component asset information to update the device description information.
[0127] In an embodiment of the present application, the component asset information configuration file should support baseboard management controller (BMC) reading, support basic input and output system (BIOS) parsing, support configuration file configuration and maintenance, and the component asset information configuration file can be synchronized with the component material system to ensure real-time updating of component information.
[0128] Wherein, the configuration items include system management and version configuration items. Figure 9 , a schematic flow chart of a process 900 for configuring the system management and version configuration items is shown. The process 900 for configuring the system management and version configuration items includes steps S901, S902, S903, and S904:
[0129] In step S901, a request for obtaining the system management and version configuration files is sent to a baseboard management controller (BMC);
[0130] In step S902, the system management and version configuration files are received from a baseboard management controller (BMC) through a preset communication method; wherein the system management and version configuration files are obtained by the baseboard management controller (BMC) through a configuration file library stored in an embedded MultiMedia Card (eMMC);
[0131] In step S903, the system management and version configuration items are configured based on the system management and version configuration files.
[0132] In one example, if Figure 10 FIG. 1 shows a schematic flow chart of step S903. The process 1000 of configuring the system management and version configuration items based on the system management and version configuration files in step S903 includes steps S1001 and S1002:
[0133] In step S1001, the system management and version configuration files are parsed to obtain the parsed system management and version files;
[0134] In step S1002, the system management and version files are stored in a fourth preset area of a flash memory of a basic input and output system (BIOS).
[0135] In an embodiment of the present application, the system management and version configuration items including the Smbios configuration table and BIOS version configuration information should support the reading of the baseboard management controller (BMC), support the basic input and output system (BIOS) parsing, and should also support the configuration file maintenance.
[0136] The basic input / output system (BIOS) and the baseboard management controller (BMC) in this application can communicate using a preset communication method, which includes a Redfish communication method or an IPMI communication method.
[0137] Among them, the Redfish communication method is a communication method based on HTTP and HTTPS protocols of RESTful API. The Redfish communication method uses HTTP / HTTPS as the communication protocol and provides device operation and management functions through RESTful API. It uses HTTP methods (such as GET, POST, PUT and DELETE) to perform various operations, such as obtaining resources, creating resources, updating resources and deleting resources. The main features of the Redfish protocol include: (1) Web-based management interface: (2) Redfish implements a Web-based management interface, and administrators can operate devices through simple HTTP requests and obtain device status and attribute information. Clear and structured data model: (3) Redfish uses a clear and structured data model to describe the attributes and behaviors of devices. The data model is a hierarchical structure consisting of multiple resources, each of which has its own attributes and associations.
[0138] Among them, the IPMI communication method (Intelligent Platform Management Interface) is a remote management standard that is independent of the operating system and hardware platform, and is mainly used to monitor and manage the physical status of devices such as servers. The IPMI communication method is based on the Intelligent Platform Management Bus (IPMB) protocol, and realizes communication between devices through a low-bandwidth serial interface. In remote scenarios, RMCP (Remote Management Control Protocol) can also be used to transmit data in the local area network (LAN), and supports UDP encapsulation. The IPMI communication method can achieve cross-platform compatibility, support multiple architecture devices such as x86 / ARM, and is compatible with operating systems such as Windows / Linux. The IPMI communication method is independent of the out-of-band communication mechanism of the host system, ensuring the separation of management channels and business data, facilitating security isolation, and is compatible with multiple hardware manufacturers.
[0139] It's worth noting that the configuration of each of the above configuration items should also follow a certain preset order. The preset order includes: the logo file configuration item takes precedence over the human interface infrastructure (HII) configuration item, which takes precedence over the component asset information configuration item, which takes precedence over the system management and version configuration items. Furthermore, if any of the above configuration items does not need to be configured, it will be skipped to configure the next configuration item.
[0140] like Figure 11 As shown, a schematic flow chart of a configuration method 1100 according to another embodiment of the present application is shown; Figure 11 As shown, the configuration method 1100 according to the embodiment of the present application may include the following steps S1101, S1102, and S1103:
[0141] In step S1101, when the computer is powered on for the first time, the BIOS is controlled to enter a configuration mode.
[0142] In step S1102, the Redfish communication interface of the BIOS is initialized.
[0143] Please note that if you choose to use the IPMI communication interface, you also need to initialize the IPMI communication interface at this time.
[0144] In step S1103, a query request for the configuration content customized by the target user is sent to the BMC, and a return value is received to determine the configuration item to be modified.
[0145] The configuration items to be modified may include at least one of the following: a logo file (LOGO) configuration item, a human-machine interface infrastructure (HII) configuration item, a component asset information configuration item, a system management and version configuration item.
[0146] In step S1104 , it is determined based on the return value whether to modify the LOGO configuration file; if so, step S1105 is executed; otherwise, step S1108 is executed.
[0147] In step S1105 , a request for obtaining a LOGO configuration file is sent to the BMC.
[0148] In step S1106, a LOGO configuration file sent by the BMC is received through the Redfish communication interface; wherein the LOGO configuration file is searched and read by the BMC in a configuration file library in the eMMC.
[0149] In step S1107, the LOGO configuration file is stored in the first preset area of the BIOS Flash and overwrites the default LOGO configuration file; at the same time, the LOGO configuration file is parsed, and the new LOGO file obtained after parsing is displayed on the display interface.
[0150] Among them, the new LOGO file can be a picture, text, animation or other files.
[0151] In step S1108 , based on the return value, it is determined whether to modify the HII configuration file; if so, step S1109 is executed; otherwise, step S1112 is executed.
[0152] In step S1109 , a request for obtaining an HII configuration file is sent to the BMC.
[0153] In step S1110, an HII configuration file sent by the BMC is received through the Redfish communication interface; wherein the HII configuration file is searched and read by the BMC in a configuration file library in the eMMC.
[0154] In step S1111, the HII configuration file is stored in the HII database and parsed to obtain an HII file; the HII file is applied to the device browser and updated to the second preset area (Variable area) of the BIOS Flash, overwriting the default HII file.
[0155] In step S1112, the component asset information configuration file sent by the BMC is received through the Redfish communication interface; wherein the component asset information configuration file is searched and read by the BMC in the configuration file library in the eMMC.
[0156] In step S1113, the component asset information configuration file is parsed, and the component asset information file obtained after parsing is compared with the default component asset information file in the cache to determine whether the two are consistent; if so, step S1114 is executed; otherwise, step S1115 is executed.
[0157] In step S1114 , the parsed component information file overwrites the default component asset information file.
[0158] In step S1115, PCIe device enumeration is performed to obtain ID information of all PCIe devices, and the ID information is matched with the device description information in the cache to update the device description information based on the matching result.
[0159] In step S1116, based on the return value, determine whether the system management and version number need to be modified. If so, execute step S1117; otherwise, execute step S1120.
[0160] In step S1117, a request for obtaining system management and version number configuration files is sent to the BMC.
[0161] In step S1118, the system management and version number configuration files sent by the BMC are received through the Redfish communication interface; wherein, the system management and version number configuration files are searched and read by the BMC in the configuration file library in the eMMC.
[0162] In step S1119, the system management and version number configuration file is parsed to obtain the system management and version number file, and the system management and version number file is stored in the cache; at the same time, the system management and version number file is applied to the BIOS, and the system management and version number file is stored in the third preset area in the BIOS Flash and overwrites the default system management and version number file.
[0163] In step S1120 , the configuration mode is exited to switch the BIOS to the fixed mode.
[0164] After all configuration items are configured, the Basic Input and Output System (BIOS) will exit configuration mode and switch to fixed mode. You can enter fixed mode by automatically restarting the server, that is, performing the normal server startup process.
[0165] The embodiment of the present application is based on the modular concept, and regards each configuration item as a module. The customized BIOS content is first stripped according to each module. Each module contains a type of BIOS configuration parameters, including LOGO files, OptionRom files required by the BIOS package, HII data, component asset information and other descriptive information. After adding user index values to these configuration parameters, they are stored in a configuration file library accessible to the BMC by category. The configuration file library contains all user information and customized configuration content. When the server is powered on for the first time, the customized configuration information is corresponding to the specific user information by reading the specific user information. The BIOS actively sends the required configuration information to the BMC, and uses the traditional shared memory solution or LanOverUsb solution, Redfish or IPMI communication method to use the BMC as an intermediary to obtain the configuration file. The configuration files corresponding to different configuration items are read at different stages of the startup, and the configuration parameters of each configuration item are written into the BIOS flash chip to achieve a fixed configuration for the first startup.
[0166] The embodiment of the present application only requires inputting relevant user customization requirements to achieve large-scale, rapid and deep customization on the factory side, saving many intermediate links and ensuring the accuracy and timeliness of the requirements; at the same time, the modular configuration solution can also save BIOS developers the maintenance costs for different user requirements and avoid repetitive work.
[0167] The following combination Figure 12 The basic input and output system of this application is described, wherein: Figure 12 A schematic block diagram of a basic input / output system 1200 according to an embodiment of the present application is shown.
[0168] like Figure 12 As shown, the basic input and output system 1200 includes: one or more memories 1201 and one or more processors 1202, and the memory 1201 stores a computer program run by the processor 1202. When the computer program is run by the processor 1202, the processor 1202 executes the basic input and output system configuration method for the server described above.
[0169] The BIOS 1200 may be part or all of a computer device that can implement a BIOS configuration method for a server through software, hardware, or a combination of software and hardware.
[0170] like Figure 12 As shown, the basic input and output system 1200 includes one or more memories 1201, one or more processors 1202, a display (not shown) and a communication interface, etc. These components are interconnected through a bus system and / or other forms of connection mechanisms (not shown). It should be noted that Figure 12 The components and structure of the basic input and output system 1200 shown are merely exemplary and non-limiting. The basic input and output system 1200 may also have other components and structures as needed.
[0171] The memory 1201 is used to store various data and executable program instructions generated during the operation of the relevant methods, such as for storing various application programs or algorithms for implementing various specific functions. It can include one or more computer program products, which can include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory can include, for example, random access memory (RAM) and / or cache memory. The non-volatile memory can include, for example, read-only memory (ROM), hard disk, flash memory, etc.
[0172] The processor 1202 may be a central processing unit (CPU), a graphics processing unit (GPU), an application-specific integrated circuit (ASIC), a field programmable gate array (FPGA), or other forms of processing units with data processing capabilities and / or instruction execution capabilities, and may be other components in the basic input and output system 1200 to perform desired functions.
[0173] In one example, the basic input and output system 1200 also includes an output device that can output various information (such as images or sounds) to the outside (such as a user), and can include one or more of a display device, a speaker, etc.
[0174] The communication interface can be an interface of any currently known communication protocol, such as a wired interface or a wireless interface, wherein the communication interface may include one or more serial ports, USB interfaces, Ethernet ports, WiFi, wired networks, DVI interfaces, device integrated interconnection modules or other suitable ports, interfaces, or connections.
[0175] like Figure 13 As shown, according to an embodiment of the present application, a server 1300 is further provided, and the server is configured with the basic input and output system 1200 as described above.
[0176] In addition, according to an embodiment of the present application, a storage medium is further provided, on which program instructions are stored, and when the program instructions are executed by a computer or processor, the corresponding steps of the basic input and output system configuration method for a server in an embodiment of the present application are executed. The storage medium may include, for example, a memory card of a smart phone, a storage component of a tablet computer, a hard disk of a personal computer, a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a portable compact disk read-only memory (CD-ROM), a USB memory, or any combination of the above storage media.
[0177] The basic input and output system, server and storage medium of the embodiments of the present application have the same advantages as the above-mentioned basic input and output system configuration method for the server because they can implement the above-mentioned basic input and output system configuration method for the server.
[0178] Although example embodiments have been described herein with reference to the accompanying drawings, it should be understood that the above example embodiments are merely illustrative and are not intended to limit the scope of the present application. Various changes and modifications may be made therein by those skilled in the art without departing from the scope and spirit of the present application. All such changes and modifications are intended to be included within the scope of the present application as required by the appended claims.
[0179] In the description provided herein, a large number of specific details are described. However, it is understood that the embodiments of the present application can be practiced without these specific details. In some instances, well-known methods, structures, and techniques are not shown in detail so as not to obscure the understanding of this description.
[0180] Similarly, it should be understood that in order to streamline the present application and aid in understanding one or more of the various inventive aspects, in the description of the exemplary embodiments of the present application, the various features of the present application are sometimes grouped together into a single embodiment, figure, or description thereof. However, this approach of the present application should not be interpreted as reflecting the intention that the application claimed for protection requires more features than those explicitly recited in each claim. More precisely, as reflected in the corresponding claims, the inventive point is that the corresponding technical problem can be solved with fewer features than all the features of a single disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into the detailed description, with each claim itself serving as a separate embodiment of the present application.
[0181] It will be understood by those skilled in the art that, except where mutually exclusive, all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or apparatus disclosed herein may be combined in any combination. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature providing the same, equivalent, or similar purpose.
[0182] Furthermore, those skilled in the art will appreciate that although some embodiments described herein include certain features included in other embodiments but not other features, combinations of features from different embodiments are intended to be within the scope of this application and to form different embodiments. For example, in the claims, any of the claimed embodiments may be used in any combination.
[0183] It should be noted that the above embodiments illustrate rather than limit the present application, and that a person skilled in the art may devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference symbols placed between brackets should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The present application may be implemented by means of hardware comprising several different elements and by means of appropriately programmed computers. In a unit claim enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third etc. does not indicate any order. These words may be interpreted as names.
[0184] The above description is merely a specific embodiment or illustration of a specific embodiment of the present application, and the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present application should be included in the scope of protection of the present application. The scope of protection of the present application should be based on the scope of protection of the claims.
Claims
1. A configuration method, characterized in that: The method comprises: When a basic input / output system is in a configuration mode, a request for obtaining customized configuration data corresponding to a configuration item is sent to a baseboard management controller in a preset order; wherein the basic input / output system includes at least one configuration item; receiving the customized configuration data corresponding to the configuration item returned by the baseboard management controller; Configuring the configuration items according to the customized configuration data; After all the configuration items are configured, the basic input and output system is exited from the configuration mode.
2. The method according to claim 1, characterized in that Before sending a request for obtaining customized configuration data corresponding to the configuration items to the baseboard management controller in a preset order, the method further includes: Send a query request to the baseboard management controller to obtain user-customized configuration item information; wherein the configuration item includes at least one of the following: a logo file configuration item, a human-machine interface infrastructure configuration item, a component asset information configuration item, a system management and version configuration item.
3. The method according to claim 2, characterized in that The configuration item includes a logo file configuration item; the method further includes: Sending a request to the baseboard management controller to obtain a logo configuration file; Receiving a logo configuration file corresponding to the user information to be configured from the baseboard management controller through a preset communication method; wherein the logo configuration file is obtained by the baseboard management controller through a configuration file library stored in an embedded multimedia card; The basic input and output system is configured with a logo file based on the logo configuration file. Configuring the basic input and output system with the logo file based on the logo configuration file includes: storing the logo configuration file in a first preset area of a flash memory of a basic input / output system; Parsing the logo configuration file to obtain a logo file; Generate a display control instruction to display the logo file on a display interface.
4. The method according to claim 2, characterized in that The configuration items include human-machine interface infrastructure configuration items; the method further includes: Sending a request to the baseboard management controller to obtain a human-machine interface infrastructure configuration file; Receiving a human-machine interface infrastructure configuration file from the baseboard management controller through a preset communication method; wherein the human-machine interface infrastructure configuration file is obtained by the baseboard management controller through a configuration file library stored in an embedded multimedia card; The human-machine interface infrastructure is configured for the basic input / output system based on the human-machine interface infrastructure configuration file. Configuring the human-machine interface infrastructure of the basic input / output system based on the human-machine interface infrastructure configuration file includes: Parsing the human-machine interface infrastructure configuration file; storing a human-machine interface infrastructure file obtained by parsing the human-machine interface infrastructure configuration file in a human-machine interface infrastructure database, and applying the human-machine interface infrastructure file to setting a browser; The human-machine interface infrastructure file is stored in a second preset area of the flash memory of the basic input and output system.
5. The method according to claim 2, characterized in that The configuration item includes a component asset information configuration item; the method further includes: Sending a request to the baseboard management controller to obtain a component asset information configuration file; Receiving the component asset information configuration file sent from the baseboard management controller through a preset communication method; wherein the component asset information configuration file is obtained by the baseboard management controller through a configuration file library stored in an embedded multimedia card; detecting whether initial component asset information of the basic input / output system needs to be updated; When the initial component asset information needs to be updated, updating the initial component asset information of the basic input and output system based on the component asset information configuration file; The step of detecting whether the initial component asset information of the basic input / output system needs to be updated includes: Determining whether the component asset information configuration file is consistent with the initial component asset information in the cache; If they are inconsistent, determining that the initial component asset information of the basic input and output system needs to be updated; Wherein, when the initial component asset information needs to be updated, updating the initial component asset information of the basic input and output system based on the component asset information configuration file includes: parsing the component asset information configuration file to obtain a component asset information file, and storing the component asset information file in a third preset area of the flash memory of the basic input and output system; Perform peripheral component interconnection fast bus device enumeration to obtain identification information of all peripheral component interconnection fast bus devices; The identification information is matched with the device description information of the stored component asset information to update the device description information.
6. The method according to claim 2, characterized in that The configuration items include system management and version configuration items; the method further includes: Sending a request to the baseboard management controller to obtain the system management and version configuration files; Receiving the system management and version configuration files from the baseboard management controller through a preset communication method; wherein the system management and version configuration files are obtained by the baseboard management controller through a configuration file library stored in an embedded multimedia card; Configuring system management and version configuration items based on the system management and version configuration files; Configuring the system management and version configuration items based on the system management and version configuration files includes: Parsing the system management and version configuration files to obtain parsed system management and version files; The system management and version files are stored in a fourth preset area of the flash memory of the basic input and output system.
7. The method according to any one of claims 1 to 6, characterized in that The preset order includes: the logo file configuration item takes precedence over the human-machine interface infrastructure configuration item, the human-machine interface infrastructure configuration item takes precedence over the component asset information configuration item, and the component asset information configuration item takes precedence over the system management and version configuration item; and, if any of the above configuration items does not need to be configured, skip the any one of the configuration items to configure the next configuration item.
8. The method according to any one of claims 3 to 6, characterized in that The preset communication mode includes a Redfish communication mode or an IPMI communication mode.
9. A basic input and output system, characterized in that: The basic input and output system includes: A memory and a processor, wherein the memory stores a computer program executed by the processor, and when the computer program is executed by the processor, the processor executes the configuration method according to any one of claims 1 to 8.
10. A server, characterized in that: The server is equipped with the basic input and output system according to claim 14.
Citation Information
Cited By
On-line upgrading method and on-line upgrading system for startup flag
CN121050749A