Server startup control method and apparatus, and server
By determining multiple signals of the motherboard during the server startup process, selecting configuration information that matches the target customer needs and loading BIOS parameters, the problems of high server configuration cost and poor availability are solved, and efficient server adaptation and multi-type support are achieved.
Patent Information
- Application Number
- PCT/CN2024/094785
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-12-28
- Filing Date
- 2024-05-22
- Publication Date
- 2025-07-03
AI Technical Summary
In the prior art, the cost of configuring servers for customer needs is high and the availability is poor, especially when the server needs to meet the general server needs, storage type and GPU computing servers, customized development is required, resulting in an increase in R&D firmware costs.
During the server startup process, by determining a plurality of first signals of the motherboard, using these signals to determine the multiple motherboard configuration information, and selecting configuration information that matches the target customer needs, loading BIOS parameters to configure the operation of the server.
Adapting servers through firmware reduces the need for customized development, improves server availability and cost-effectiveness, and supports different types of server startup and use.
Smart Images

Figure CN2024094785_03072025_PF_FP_ABST
Abstract
Description
Server startup control method and device, server
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to the Chinese patent application filed with the China Patent Office on December 28, 2023, with application number 202311839055.7 and application name “Server startup control method and device, server”, all contents of which are incorporated by reference in this application. Technical Field
[0003] The embodiments of the present application relate to the field of computers, and more specifically, to a method and device for controlling startup of a server, and a server. Background Art
[0004] Currently, server products are often designed based on a single processor. This is because the same processor can be configured and configured differently to meet the diverse business needs of different customers. If a server chip needs to meet general server requirements, support storage types, and support graphics processing unit (GPU) computing servers, customized development will be required for each server, significantly increasing the cost of firmware development.
[0005] Summary of the Invention
[0006] The embodiments of the present application provide a server startup control method and device, and a server, so as to at least solve the problems of high cost of configuring servers according to customer needs and poor server availability in the related art.
[0007] According to one embodiment of the present application, a server startup control method is provided, which is applied to a Basic Input Output System (BIOS), where the BIOS is set in the server's motherboard, including: during server startup, determining N first signals of the motherboard, where the first signal is used to identify the motherboard, and the N is a natural number greater than 1; when the N is greater than or equal to a first preset threshold, determining multiple motherboard configuration information using the N first signals; determining target motherboard configuration information that matches target customer requirements from the multiple motherboard configuration information, where the target customer requirements are used to represent the target customer's configuration requirements for the motherboard; and loading BIOS parameters based on the target motherboard configuration information to configure the operation of the server according to the BIOS parameters.
[0008] According to another embodiment of the present application, a server startup control device is provided, which is applied to BIOS, and the BIOS is set in the mainboard of the server, including: a first determination module, configured to determine N first signals of the above-mentioned mainboard during the server startup process, wherein the first signal is used to identify the mainboard, and the above-mentioned N is a natural number greater than 1; a second determination module, configured to use the N above-mentioned first signals to determine multiple mainboard configuration information when the above-mentioned N is greater than or equal to a first preset threshold; a third determination module, configured to determine target mainboard configuration information that matches the target customer requirements from the multiple above-mentioned mainboard configuration information, wherein the above-mentioned target customer requirements are used to represent the target customer's configuration requirements for the above-mentioned mainboard; a first loading module, configured to load BIOS parameters based on the above-mentioned target mainboard configuration information, so as to configure the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0009] In an exemplary embodiment, the above-mentioned second determination module includes: a first reading unit, configured to read the status value of each of the above-mentioned first signals through the BMC; a first combination unit, configured to randomly combine the status values of N of the above-mentioned first signals to obtain multiple of the above-mentioned motherboard configuration information, wherein each of the above-mentioned motherboard configuration information includes at least M combinations of the status values of the above-mentioned first signals, and the combination of the status values of the M above-mentioned first signals is a hexadecimal value, the above-mentioned M is a natural number less than or equal to the above-mentioned N, and the above-mentioned M is greater than or equal to the second preset threshold.
[0010] In an exemplary embodiment, the above-mentioned device also includes: a first storage module, configured to load BIOS parameters based on the above-mentioned target motherboard configuration information, so as to store the above-mentioned target motherboard configuration information into variables in the above-mentioned BIOS before configuring the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0011] In an exemplary embodiment, the above-mentioned first loading module includes: a first determination unit, configured to determine the status values of the M above-mentioned first signals included in the above-mentioned target motherboard configuration information when the above-mentioned server is in the initialization stage, wherein the combination of the status values of the M above-mentioned first signals is a hexadecimal value, the above-mentioned M is a natural number less than or equal to the above-mentioned N, and the above-mentioned M is greater than or equal to the second preset threshold; the first loading unit, configured to load the above-mentioned BIOS parameters based on the status values of the M above-mentioned first signals and the above-mentioned target customer requirements; the first operation unit, configured to use the above-mentioned BIOS parameters to perform initialization operations on the devices in the above-mentioned server.
[0012] In an exemplary embodiment, the above-mentioned initialization operation includes at least one of the following: initializing variable information of memory, initializing variable information of PCI (Peripheral Component Interconnect) link, initializing variable information of baseboard management controller (Baseboard Management Controller, referred to as BMC), and initializing option variable information of the above-mentioned BIOS.
[0013] In an exemplary embodiment, the above-mentioned device also includes: a second reading unit, configured to, during the server startup process, after determining the N first signals of the above-mentioned mainboard, read the field replaceable unit (Field Replaceable Unit, FRU for short) information in the BMC based on the Intelligent Platform Management Interface (IPMI) protocol when the above-mentioned N is less than the above-mentioned first preset threshold, or when an abnormality occurs in reading the N above-mentioned first signals, wherein the above-mentioned FRU information includes the above-mentioned target customer information and / or the device information in the above-mentioned server; a first configuration unit, configured to load the above-mentioned BIOS parameters based on the above-mentioned FRU information to configure the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0014] In an exemplary embodiment, the above-mentioned first configuration unit includes: a first determination subunit, configured to determine the first motherboard configuration information corresponding to the above-mentioned target customer information when the above-mentioned FRU information includes the above-mentioned target customer information; a first loading subunit, configured to load BIOS parameters based on the above-mentioned first motherboard configuration information to configure the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0015] In an exemplary embodiment, the above-mentioned first configuration unit includes: a second determination subunit, configured to determine the second mainboard configuration information corresponding to the above-mentioned target customer information when the above-mentioned FRU information includes the above-mentioned target customer information and the device information in the above-mentioned server; a second loading subunit, configured to load BIOS parameters based on the above-mentioned second mainboard configuration information to configure the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0016] In an exemplary embodiment, the above-mentioned first configuration unit includes: a third determination sub-unit, configured to include the device information in the above-mentioned server in the above-mentioned FRU information, or when the above-mentioned FRU information is empty, determine the third motherboard configuration information corresponding to the above-mentioned target customer information, wherein the above-mentioned third motherboard configuration information is the default parameter set when the above-mentioned BIOS is started; a third loading sub-unit, configured to load BIOS parameters based on the above-mentioned third motherboard configuration information to configure the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0017] In an exemplary embodiment, the above-mentioned device also includes: a first setting module, configured to, during the server startup process, after determining N first signals of the above-mentioned mainboard, if the above-mentioned N is less than the above-mentioned first preset threshold, or if an abnormality occurs when reading the N above-mentioned first signals, set an expansion chip through a bus set in the above-mentioned mainboard; a first generation module, configured to generate N above-mentioned first signals through the above-mentioned expansion chip; a first reading module, configured to read the status value of each above-mentioned first signal from the BMC through the IPMI protocol, wherein the above-mentioned BMC is configured to assign the status value of each above-mentioned first signal to the corresponding variable in the above-mentioned BMC.
[0018] In an exemplary embodiment, the above-mentioned device also includes: a second reading module, configured to obtain the status value of each of the above-mentioned first signals through the BMC, and after assigning the status value of each of the above-mentioned first signals to the corresponding variable in the above-mentioned BMC, read the status value of each of the above-mentioned first signals from the above-mentioned BMC through the bus protocol; a first combination module, configured to randomly combine the status values of N of the above-mentioned first signals to obtain multiple of the above-mentioned motherboard configuration information, wherein each of the above-mentioned motherboard configuration information includes at least M combinations of the status values of the above-mentioned first signals, and the combination of the status values of the M above-mentioned first signals is a hexadecimal value, the above-mentioned M is a natural number less than or equal to the above-mentioned N, and the above-mentioned M is greater than or equal to the second preset threshold.
[0019] In an exemplary embodiment, the apparatus further includes: a second setting module configured to, after generating N of the first signals through the expansion chip, set the status value of each of the first signals to a preset status value when an abnormality occurs in the status value of each of the first signals obtained from the BMC; and a fourth determination module configured to determine the target motherboard configuration information according to the preset status value.
[0020] In an exemplary embodiment, the above-mentioned device also includes: a first trigger module, configured to load BIOS parameters based on the above-mentioned target motherboard configuration information, so as to trigger the above-mentioned server to enter an operating system or other environment system after configuring the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0021] According to another embodiment of the present application, a server is provided, comprising: a BIOS and a motherboard, wherein the BIOS is configured to implement the steps of the above-mentioned method; the motherboard comprises a plurality of processors, each of the processors comprises N signal devices, the signal devices are configured to generate the above-mentioned first signal, the plurality of processors are connected to each other via an interconnection bus, and the plurality of processors are connected to the BIOS via a protocol bus.
[0022] In an exemplary embodiment, the server further includes a BMC, wherein the BMC is configured to read the status value of each of the first signals and send the status value of each of the first signals to the BIOS when the N is greater than or equal to a first preset threshold; or, the BMC is configured to send the FRU information to the BIOS through the IPMI protocol when the N is less than the first preset threshold or when an abnormality occurs when the BIOS reads N of the first signals.
[0023] In an exemplary embodiment, the server further includes an expansion chip, wherein the expansion chip is configured to generate N of the above-mentioned first signals, wherein the expansion chip is a chip set via a bus set in the above-mentioned mainboard when the above-mentioned N is less than the above-mentioned first preset threshold, or when an abnormality occurs in reading the N above-mentioned first signals, and the expansion chip is connected to the above-mentioned processor via an I2C bus.
[0024] In an exemplary embodiment, the status value of each of the above-mentioned first signals is obtained through the above-mentioned BMC, and the status value of each of the above-mentioned first signals is assigned to the corresponding variable in the above-mentioned BMC through the above-mentioned BMC, and the above-mentioned BIOS reads the status value of each of the above-mentioned first signals from the above-mentioned BMC through the IPMI protocol.
[0025] An embodiment of the present application further provides a computer non-volatile readable storage medium, in which a computer program is stored.
[0026] An embodiment of the present application further provides an electronic device, comprising at least one processor; and a memory, wherein the memory stores computer instructions that can be run on the processor, and when the instructions are executed by the processor, the steps of the above method are implemented.
[0027] An embodiment of the present application further provides a computer program product, including a computer program, which implements the steps of the above method when executed by a processor.
[0028] Through this application, the BIOS determines N first signals of the motherboard during server startup. When a certain number of N first signals are met, the BIOS uses the N first signals to determine multiple motherboard configuration information. From the multiple motherboard configuration information, target motherboard configuration information that matches the target customer's needs is determined, and BIOS parameters are loaded according to the target motherboard configuration information to configure the server operation according to the BIOS parameters. This allows server adaptation through firmware in conjunction with the motherboard's unique identification information, eliminating the need for customized development for each server. This allows a single BIOS image to support the startup and use of different types of servers with different processors, thereby improving server availability. BRIEF DESCRIPTION OF THE DRAWINGS
[0029] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other embodiments can be obtained based on these drawings without paying any creative work.
[0030] FIG1 is a hardware structure block diagram of a mobile terminal for a method for controlling startup of a server according to an embodiment of the present application;
[0031] FIG2 is a flow chart of a method for controlling the startup of a server according to an embodiment of the present application;
[0032] 3 is a hardware structure diagram of the setting of the BIOS parameters and environment variables according to the state value of the first signal and the loading of the corresponding according to the embodiment of the present application;
[0033] FIG4 is a schematic diagram of interactions between devices provided in a server mainboard according to an embodiment of the present application;
[0034] FIG5 is a flowchart of interactions between devices provided in a server mainboard according to an embodiment of the present application;
[0035] FIG6 is a schematic diagram of configuration information according to an embodiment of the present application;
[0036] 7 is a hardware structure diagram of the settings for determining and loading corresponding BIOS parameters and environment variables through FRU information according to an embodiment of the present application;
[0037] FIG8 is a schematic diagram of interactions between devices provided in a server mainboard according to an embodiment of the present application;
[0038] 9 is a flowchart of interactions between devices provided in a server motherboard according to an embodiment of the present application;
[0039] FIG10 is a schematic diagram of FRU information according to an embodiment of the present application;
[0040] 11 is a hardware structure diagram of loading corresponding BIOS parameters and environment variables by setting an expansion chip according to an embodiment of the present application;
[0041] 12 is a schematic diagram of interactions between devices provided in a server motherboard according to an embodiment of the present application;
[0042] 13 is a flowchart of interactions between devices provided in a server motherboard according to an embodiment of the present application;
[0043] 14 is a structural block diagram of a server startup control device according to an embodiment of the present application;
[0044] FIG15 is a schematic diagram of an embodiment of a computer non-volatile readable storage medium for the server startup control method provided by the present application;
[0045] FIG16 is a schematic diagram of the hardware structure of an embodiment of an electronic device of the server startup control method provided in the present application. DETAILED DESCRIPTION
[0046] The embodiments of the present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0047] It should be noted that the terms "first", "second", etc. in the description and claims of this application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
[0048] The method embodiments provided in the embodiments of the present application can be executed in a mobile terminal, a computer terminal or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 is a hardware structure block diagram of a mobile terminal of a startup control method of a server in an embodiment of the present application. As shown in Figure 1, the mobile terminal may include one or more (only one is shown in Figure 1) processors 102 (the processor 102 may include but is not limited to a microprocessor MCU or a field programmable gate array (Field Programmable Gate Array, referred to as FPGA) and a memory 104 configured to store data, wherein the above-mentioned mobile terminal may also include a transmission device 106 configured for communication functions and an input and output device 108. It can be understood by those skilled in the art that the structure shown in Figure 1 is only for illustration and does not limit the structure of the above-mentioned mobile terminal. For example, the mobile terminal may also include more or fewer components than those shown in Figure 1, or have a configuration different from that shown in Figure 1.
[0049] The memory 104 can be configured to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the startup control method of the server in the embodiment of the present application. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implementing the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely located relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of the above-mentioned network include but are not limited to the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0050] The transmission device 106 is configured to receive or transmit data via a network. A specific example of the aforementioned network may include a wireless network provided by the mobile terminal's communications provider. In one embodiment, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to enable communication with the Internet. In another embodiment, the transmission device 106 may be a radio frequency (RF) module configured to communicate with the Internet wirelessly.
[0051] In this embodiment, a server startup control method is provided, which is applied to BIOS. The BIOS is set in the server motherboard. FIG2 is a flow chart of the server startup control method according to an embodiment of the present application. As shown in FIG2 , the process includes the following steps:
[0052] Step S202: During the server startup process, determine N first signals of the mainboard, where the first signal is used to identify the mainboard, and N is a natural number greater than 1;
[0053] Step S204: when N is greater than or equal to a first preset threshold, determine a plurality of mainboard configuration information using the N first signals;
[0054] Step S206, determining target motherboard configuration information that matches the target customer's requirements from the plurality of motherboard configuration information, wherein the target customer's requirements are used to indicate the target customer's requirements for motherboard configuration;
[0055] Step S208: Loading BIOS parameters based on the target motherboard configuration information to configure the operation of the server according to the BIOS parameters.
[0056] Through the above steps, since the BIOS determines the N first signals of the motherboard during the server startup process, when the N first signals meet a certain number, the N first signals are used to determine multiple motherboard configuration information, and the target motherboard configuration information that matches the target customer needs is determined from the multiple motherboard configuration information, and the BIOS parameters are loaded according to the target motherboard configuration information to configure the server operation according to the BIOS parameters. This makes it possible to adapt the server through firmware in combination with the unique identification information of the motherboard, and does not require customized development for each server separately, so that one BIOS image supports the startup and use of different types of servers with different processors, thereby improving the availability of the server. Therefore, the problems of high cost and poor server availability in the related technology of configuring servers according to customer needs can be solved, thereby saving the cost of configuring servers and improving the availability of servers.
[0057] Optionally, the motherboard is configured to install the server central processing unit (CPU) and other related components, including processors, memory, graphics cards, storage devices, etc. The motherboard includes multiple slots and interfaces configured to connect these hardware devices. The server CPU is the central processing unit of the server application. It usually has more cores, larger caches and higher frequencies to provide more powerful computing power and faster data processing speeds to meet the server's needs for high-performance computing and multi-tasking. Server CPUs include but are not limited to processors on the Intel platform and processors on the AMD platform.
[0058] Optionally, the BIOS parameters loaded based on the target motherboard configuration information are parameters corresponding to the target motherboard configuration information.
[0059] Optionally, a general purpose input output (GPIO) signal is a digital signal used for data transmission between control and communication devices. It is usually configured as a single-chip microcomputer or embedded system, and is configured to connect various external devices, such as sensors, actuators, LEDs, etc. GPIO signals can be used to input or output digital signals to control the state of the device or receive data from external sensors. The state value of the GPIO signal refers to the digital value used to represent the switch state in the digital circuit. The state value of the GPIO signal can be 0 or 1, indicating a low level and a high level, respectively. The state value of the GPIO signal can represent other states, such as 2, 3, etc.
[0060] Optionally, this embodiment is applicable to server chips of any architecture that have built-in GPIO signals and can be combined for customized use. For example, on Intel platform processors, because the CPU portion has built-in GPIO signals, they can be distinguished based on the GPIO signals during BIOS startup. For example, at least four GPIO signals can be combined to form 16 unique motherboard identification numbers, namely, identification numbers from 0x00 to 0x0F corresponding to multiple motherboard configuration information. The status values of the four GPIO signals can confirm a specific server motherboard.
[0061] Alternatively, the first signal may be a GPIO signal generated by a GPIO, or a signal generated by other signaling devices that uniquely identifies the motherboard. BIOS (Basic Input / Output System) parameters are firmware settings loaded when a computer boots up and are configured to configure and control the computer hardware. BIOS parameters include, but are not limited to, the following information:
[0062] Boot Order: Determines the order of devices to be read when the computer starts, such as hard drive, optical drive, USB devices, etc.
[0063] Hardware configuration: including CPU, memory, hard disk, graphics card and other hardware related settings, such as clock frequency, cache size, transmission mode, etc.
[0064] Security Settings: You can set BIOS password, enable / disable USB ports, enable / disable boot devices and other security-related settings.
[0065] Power Management: Includes sleep mode, energy-saving mode, fan control and other power management-related settings.
[0066] Other settings: also includes date and time settings, virtualization support, device information and other related settings.
[0067] BIOS parameters can be configured and modified by accessing the BIOS setup interface when the computer boots up. Loading the corresponding BIOS parameters and environment variable settings is used to configure and optimize the server system's operating environment to meet specific needs and performance requirements. These settings can adjust the server's hardware and software for better performance, security, and manageability. For example, loading the corresponding BIOS parameters and environment variable settings can achieve the following functions:
[0068] Hardware Configuration: By setting BIOS parameters, you can adjust the server hardware's operating mode, performance parameters, power management, and more to meet the requirements of specific application scenarios. For example, you can adjust CPU frequency, memory speed, and hard disk controller settings.
[0069] System security: Setting environment variables can enhance system security, such as setting password policies, enabling secure boot options, etc., to protect the system from unauthorized access or attacks.
[0070] Environmental monitoring: By setting environmental variables, you can configure the sensor monitoring parameters of the server system, monitor hardware indicators such as temperature, voltage, fan speed in real time, and promptly detect and respond to abnormal system health conditions.
[0071] Power Management: By setting BIOS parameters, you can configure power management policies to achieve energy saving and environmental protection, reducing energy consumption and heat emissions.
[0072] System tuning: Based on specific application requirements, you can tune the system by loading corresponding BIOS parameters and setting environment variables to improve system performance and stability.
[0073] Loading the corresponding BIOS parameters and environment variable settings plays an important role in the performance, security, and stability of the server system. The server can be customized according to actual needs.
[0074] In an exemplary embodiment, when N is greater than a first preset threshold, multiple motherboard configuration information is determined using N first signals, including: reading the status value of each first signal through the BMC; randomly combining the status values of the N first signals to obtain multiple motherboard configuration information, wherein each motherboard configuration information includes at least a combination of the status values of M first signals, the combination of the status values of the M first signals is a hexadecimal value, M is a natural number less than or equal to N, and M is greater than or equal to the second preset threshold.
[0075] Alternatively, for example, if the CPU in the motherboard has four or more GPIO signals, the BIOS reads the status value of each GPIO when it starts up, and combines them into multiple hexadecimal values according to random rules, such as 0000, 0001, 0010, etc. This embodiment can quickly select target motherboard configuration information that matches the target customer's needs by randomly combining hexadecimal values.
[0076] In an exemplary embodiment, before loading BIOS parameters based on the target motherboard configuration information to configure the server according to the BIOS parameters, the method further includes storing the target motherboard configuration information in a variable in the BIOS. This facilitates quickly reading the target motherboard configuration information from the variable when the target customer's needs are obtained.
[0077] In an exemplary embodiment, BIOS parameters are loaded based on the target motherboard configuration information to configure the operation of the server according to the BIOS parameters, including: when the server is in the initialization phase, determining the status values of M first signals included in the target motherboard configuration information, wherein the combination of the status values of the M first signals is a hexadecimal value, M is a natural number less than or equal to N, and M is greater than or equal to a second preset threshold; loading BIOS parameters based on the status values of the M first signals and target customer requirements; and performing initialization operations on the devices in the server using the BIOS parameters. Optionally, the server is in the initialization phase including a memory initialization phase or a PCI initialization phase. The value of M is at least 4. The initialization operation includes at least one of the following: initializing variable information of the memory, initializing variable information of the PCI link, initializing variable information of the BMC, and initializing option variable information of the BIOS. This embodiment performs initialization operations on the devices in the server using BIOS parameters, and can perform settings according to the customer's expected setting requirements, thereby improving the availability of the server.
[0078] In one specific embodiment, when the first signal is a GPIO signal, the hardware structure for determining and loading corresponding BIOS parameters and environment variable settings based on the GPIO signal status value is shown in Figure 3. A server motherboard is provided with a master processor CPU0 and a slave processor CPU1. CPU0 and CPU1 are connected via an interconnect bus. GPIO0, GPIO1, GPIO2, and GPIO3 are provided in both CPU0 and CPU1. Both CPU0 and CPU1 are connected to the BIOS, which reads the status values of GPIO0, GPIO1, GPIO2, and GPIO3 via the protocol bus.
[0079] FIG4 is a schematic diagram of the interaction between devices provided on the server motherboard. FIG5 is a flow chart of the interaction between devices provided on the server motherboard, which specifically includes the following steps:
[0080] S501: The server is powered on and the BIOS reads the status value of the GPIO signal in the motherboard. The status of the GPIO signal of motherboards with different configurations is fixed and non-repeated.
[0081] S502, BIOS confirms the status value of the GPIO signal. As shown in FIG6 , the status values of the four GPIO signals constitute a configuration, which includes a total of eight configuration information.
[0082] S503, during the BIOS option default value setting or BMC interaction phase, first compare the obtained hexadecimal value with the specific customer configuration information to confirm, for example, as shown in FIG6 , select one configuration information that matches customer A's requirements from the eight configuration information;
[0083] S504, saving the determined state value of the GPIO signal that matches the customer information and the configuration information required by the customer to a variable in the BIOS. For example, if the state value of the GPIO signal that matches the configuration information required by the customer is 0111, then 0111 is stored in the variable in the BIOS.
[0084] S505, the memory initializes the memory variable information according to the customer's configuration information;
[0085] S506, the PCI link initializes PCI link variable information according to the client's configuration information;
[0086] S507, the BMC initializes BMC variable information according to the customer's configuration information;
[0087] S508, BIOS initializes BIOS option variable information according to the customer's configuration information;
[0088] S509: After the BIOS information is set, the server continues to start up and enters the operating system or other environment system.
[0089] In an exemplary embodiment, during the server startup process, after determining N first signals of the mainboard, the above method also includes: when N is less than a first preset threshold, or when an abnormality occurs in reading the N first signals, reading the FRU information in the BMC based on the IPMI protocol, wherein the FRU information includes information of the target customer and / or device information in the server; loading BIOS parameters based on the FRU information to configure the server operation according to the BIOS parameters.
[0090] Optionally, this embodiment is applicable to ARM architecture servers. When the BIOS is started because the number of first GPIO signals provided by the CPU is insufficient or the status value of the GPIO first signal cannot be obtained, the FRU information will be used to confirm which server motherboard and configuration the current server corresponds to. That is, if N is less than the first preset threshold, it means that there is no GPIO first signal in the motherboard, or the number of GPIO first signals is less than 4. Abnormalities in reading N GPIO first signals include the absence of GPIO first signals in the motherboard, or the number of GPIO first signals is less than 4, and insufficient status values of the GPIO first signals cannot be read.
[0091] Optionally, FRU information includes, but is not limited to: hard drive: model, capacity, and interface type; memory module: model, capacity, and speed; battery: model and capacity; power supply: model and power; display: model and resolution; CPU: model and frequency; fan: model and size; motherboard: model and interface type; network card: model and interface type; and printer ink cartridge: model and color. This information can help users quickly find suitable replacement parts when they need them.
[0092] Optionally, BIOS parameters are loaded based on the FRU information to configure the operation of the server according to the BIOS parameters, including: when the FRU information includes information of the target customer, determining the first motherboard configuration information corresponding to the target customer information; and loading BIOS parameters based on the first motherboard configuration information to configure the operation of the server according to the BIOS parameters.
[0093] Optionally, BIOS parameters are loaded based on the FRU information to configure the operation of the server according to the BIOS parameters, including: when the FRU information includes the target customer's information and the device information in the server, determining the second mainboard configuration information corresponding to the target customer's information; and loading the BIOS parameters based on the second mainboard configuration information to configure the operation of the server according to the BIOS parameters.
[0094] Optionally, BIOS parameters are loaded based on the FRU information to configure the operation of the server according to the BIOS parameters, including: when the FRU information includes device information in the server, or when the FRU information is empty, determining the third motherboard configuration information corresponding to the target customer's information, wherein the third motherboard configuration information is the default parameters set when the BIOS is started; loading the BIOS parameters based on the third motherboard configuration information to configure the operation of the server according to the BIOS parameters.
[0095] This embodiment loads BIOS parameters through FRU information, and can quickly determine the configuration information required by the customer when the status value of the first signal cannot be read, thereby improving the availability of the server.
[0096] In a specific embodiment, the hardware structure for determining and loading the corresponding BIOS parameters and environment variable settings through FRU information is shown in FIG7 . A main processor CPU0 and a slave processor CPU1 are provided in the server motherboard. CPU0 and CPU1 are connected via an interconnection bus, and both CPU0 and CPU1 are connected to the BMC and BIOS.
[0097] FIG8 is a schematic diagram of the interaction between devices provided on the server motherboard. FIG9 is a flow chart of the interaction between devices provided on the server motherboard, which specifically includes the following steps:
[0098] S901, server startup;
[0099] S902, BIOS interacts with BMC through IPMI protocol to read FRU information, the FRU information is shown in Figure 10;
[0100] S903, BIOS determines whether the customer information and device information of the read FRU information are empty;
[0101] S904, BIOS determines that the client information is not empty and determines whether the device information is empty;
[0102] S905: The BIOS determines that the client information is not empty, and if the device information is empty, the BIOS loads the default configuration information (i.e., the default parameters when the BIOS is started) according to the client information.
[0103] S906: If the BIOS determines that the customer information is not empty and the device information is not empty, the process goes to S907.
[0104] S907, BIOS loads specific configuration information (i.e., second motherboard configuration information) according to the customer information, and goes to S910;
[0105] S908, if the BIOS determines that the customer information is empty and the device information is not empty, it goes to S909;
[0106] S909, BIOS starts according to the default settings;
[0107] S910: The server enters the operating system.
[0108] In an exemplary embodiment, during server startup, after determining N first signals of the mainboard, the method further includes: when N is less than a first preset threshold, or when an abnormality occurs in reading the N first signals, setting an expansion chip through a bus set in the mainboard; generating N first signals through the expansion chip; and reading the status value of each first signal from the BMC through the IPMI protocol, wherein the BMC is configured to assign the status value of each first signal to a corresponding variable in the BMC.
[0109] Optionally, this embodiment is applicable to scenarios where the number of first signals of the CPU is insufficient or the CPU has no first signal, and implements the function of the BIOS obtaining the server motherboard information confirmed by the BMC through the IPMI command to load the BIOS image of different hardware motherboards with the same processor.
[0110] Optionally, after obtaining the status value of each first signal through the BMC and assigning the status value of each first signal to a corresponding variable in the BMC, the method further includes: reading the status value of each first signal from the BMC through a bus protocol; and randomly combining the status values of N first signals to obtain multiple motherboard configuration information, wherein each motherboard configuration information includes at least M combinations of the status values of the first signals, and the M combinations of the status values of the first signals are hexadecimal values, where M is a natural number less than or equal to N, and M is greater than or equal to a second preset threshold. By reading the status value of each first signal, this embodiment can quickly select motherboard configuration information that matches the target customer's needs.
[0111] Optionally, after N first signals are generated by the expansion chip, the above method further includes: in the event that an abnormality occurs in the status value of each first signal obtained from the BMC, setting the status value of each first signal to a preset status value; and determining the target motherboard configuration information according to the preset status value. The preset status value can be a value in the form of 0xFF. The BIOS interacts with the BMC through the I2C protocol to obtain the first status value, and performs corresponding startup according to the obtained status value. If the first status value of the BMC fails to be obtained, the default customer configuration information can be loaded. If the first status value of the BMC is normal, the fixed configuration information of the fixed customer can be loaded according to the obtained status value, and the memory initialization settings can be performed according to the customer's requirements. For example, the memory can correct the error threshold, the BIOS startup option settings such as the startup sequence, and the information transmitted by the BMC such as manufacturer information are customized. This embodiment can accurately determine the target configuration information according to the status value of the first signal.
[0112] In a specific embodiment, when the first signal is a GPIO signal, the hardware structure for setting the corresponding BIOS parameters and environment variables by setting the expansion chip is shown in Figure 11. The server motherboard is provided with a main processor CPU0 and a slave processor CPU1. CPU0 and CPU1 are connected through an interconnection bus. CPU0 and CPU1 are both connected to the BMC and BIOS. CPU0 and CPU1 are connected to the IO expansion chip through the I2C bus.
[0113] FIG12 is a schematic diagram of the interaction between devices provided on the server motherboard. FIG13 is a flow chart of the interaction between devices provided on the server motherboard, which specifically includes the following steps:
[0114] S1301: The server starts up and the BIOS reads the status value of the GPIO signal in the motherboard. The status of the GPIO signal of the IO expansion chip of the motherboard with different configurations is fixed and non-repeated.
[0115] S1302, BIOS confirms the status value of the GPIO signal. As shown in FIG6 , the status values of the four GPIO signals constitute a configuration, which includes a total of eight configuration information.
[0116] S1303, during the BIOS option default setting or BMC interaction phase, the configuration information for the specific customer is first compared with the obtained hexadecimal value to confirm the configuration information. For example, as shown in FIG6 , a configuration information that matches the requirements of customer A is selected from the eight configuration information.
[0117] S1304, saving the determined state value of the GPIO signal that matches the customer information and the configuration information required by the customer to a variable in the BIOS;
[0118] S1305: Initialize memory variables according to the client's configuration information.
[0119] S1306, the PCI link initializes PCI link variable information according to the client's configuration information;
[0120] S1307, the BMC initializes BMC variable information according to the customer's configuration information;
[0121] S1308, BIOS initializes BIOS option variable information according to the customer's configuration information;
[0122] S1309, after the BIOS information is set, continue booting;
[0123] S1310: The server enters the operating system or other environment system.
[0124] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus the necessary general hardware platform, and of course it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.
[0125] This embodiment also provides a server startup control device, which is configured to implement the above-mentioned embodiments and preferred implementations. Details already described will not be repeated here. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.
[0126] FIG14 is a block diagram of a server startup control according to an embodiment of the present application, which is applied to BIOS. The BIOS is set in the mainboard of the server. As shown in FIG14 , the device includes:
[0127] A first determining module 1402 is configured to determine N first signals of the mainboard during the server startup process, wherein the first signal is used to identify the mainboard, and N is a natural number greater than 1;
[0128] The second determining module 1404 is configured to determine a plurality of mainboard configuration information using the N first signals when N is greater than or equal to a first preset threshold;
[0129] The third determining module 1406 is configured to determine target motherboard configuration information that matches the target customer's requirements from the plurality of motherboard configuration information, wherein the target customer's requirements are used to indicate the target customer's requirements for the motherboard configuration;
[0130] The first loading module 1408 is configured to load BIOS parameters based on the target motherboard configuration information, so as to configure the operation of the server according to the BIOS parameters.
[0131] In an exemplary embodiment, the above-mentioned second determination module includes: a first reading unit, configured to read the status value of each of the above-mentioned first signals through the BMC; a first combination unit, configured to randomly combine the status values of N of the above-mentioned first signals to obtain multiple of the above-mentioned motherboard configuration information, wherein each of the above-mentioned motherboard configuration information includes at least M combinations of the status values of the above-mentioned first signals, and the combination of the status values of the M above-mentioned first signals is a hexadecimal value, the above-mentioned M is a natural number less than or equal to the above-mentioned N, and the above-mentioned M is greater than or equal to the second preset threshold.
[0132] In an exemplary embodiment, the above-mentioned device also includes: a first storage module, configured to load BIOS parameters based on the above-mentioned target motherboard configuration information, so as to store the above-mentioned target motherboard configuration information into variables in the above-mentioned BIOS before configuring the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0133] In an exemplary embodiment, the above-mentioned first loading module includes: a first determination unit, configured to determine the status values of the M above-mentioned first signals included in the above-mentioned target motherboard configuration information when the above-mentioned server is in the initialization stage, wherein the combination of the status values of the M above-mentioned first signals is a hexadecimal value, the above-mentioned M is a natural number less than or equal to the above-mentioned N, and the above-mentioned M is greater than or equal to the second preset threshold; the first loading unit, configured to load the above-mentioned BIOS parameters based on the status values of the M above-mentioned first signals and the above-mentioned target customer requirements; the first operation unit, configured to use the above-mentioned BIOS parameters to perform initialization operations on the devices in the above-mentioned server.
[0134] In an exemplary embodiment, the initialization operation includes at least one of the following: initializing variable information of a memory, initializing variable information of a PCI link, initializing variable information of a BMC, and initializing option variable information of the BIOS.
[0135] In an exemplary embodiment, the above-mentioned device also includes: a second reading unit, configured to, during the server startup process, after determining the N first signals of the above-mentioned mainboard, read the FRU information in the BMC based on the IPMI protocol when the above-mentioned N is less than the above-mentioned first preset threshold, or when an abnormality occurs in reading the N above-mentioned first signals, wherein the above-mentioned FRU information includes the above-mentioned target customer information and / or the device information in the above-mentioned server; a first configuration unit, configured to load the above-mentioned BIOS parameters based on the above-mentioned FRU information to configure the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0136] In an exemplary embodiment, the above-mentioned first configuration unit includes: a first determination subunit, configured to determine the first motherboard configuration information corresponding to the above-mentioned target customer information when the above-mentioned FRU information includes the above-mentioned target customer information; a first loading subunit, configured to load BIOS parameters based on the above-mentioned first motherboard configuration information to configure the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0137] In an exemplary embodiment, the above-mentioned first configuration unit includes: a second determination subunit, configured to determine the second mainboard configuration information corresponding to the above-mentioned target customer information when the above-mentioned FRU information includes the above-mentioned target customer information and the device information in the above-mentioned server; a second loading subunit, configured to load BIOS parameters based on the above-mentioned second mainboard configuration information to configure the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0138] In an exemplary embodiment, the above-mentioned first configuration unit includes: a third determination sub-unit, configured to include the device information in the above-mentioned server in the above-mentioned FRU information, or when the above-mentioned FRU information is empty, determine the third motherboard configuration information corresponding to the above-mentioned target customer information, wherein the above-mentioned third motherboard configuration information is the default parameter set when the above-mentioned BIOS is started; a third loading sub-unit, configured to load BIOS parameters based on the above-mentioned third motherboard configuration information to configure the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0139] In an exemplary embodiment, the above-mentioned device also includes: a first setting module, configured to, during the server startup process, after determining N first signals of the above-mentioned mainboard, if the above-mentioned N is less than the above-mentioned first preset threshold, or if an abnormality occurs when reading the N above-mentioned first signals, set an expansion chip through a bus set in the above-mentioned mainboard; a first generation module, configured to generate N above-mentioned first signals through the above-mentioned expansion chip; a first reading module, configured to read the status value of each above-mentioned first signal from the BMC through the IPMI protocol, wherein the above-mentioned BMC is configured to assign the status value of each above-mentioned first signal to the corresponding variable in the above-mentioned BMC.
[0140] In an exemplary embodiment, the above-mentioned device also includes: a second reading module, configured to obtain the status value of each of the above-mentioned first signals through the BMC, and after assigning the status value of each of the above-mentioned first signals to the corresponding variable in the above-mentioned BMC, read the status value of each of the above-mentioned first signals from the above-mentioned BMC through the bus protocol; a first combination module, configured to randomly combine the status values of N of the above-mentioned first signals to obtain multiple of the above-mentioned motherboard configuration information, wherein each of the above-mentioned motherboard configuration information includes at least M combinations of the status values of the above-mentioned first signals, and the combination of the status values of the M above-mentioned first signals is a hexadecimal value, the above-mentioned M is a natural number less than or equal to the above-mentioned N, and the above-mentioned M is greater than or equal to the second preset threshold.
[0141] In an exemplary embodiment, the apparatus further includes: a second setting module configured to, after generating N of the first signals through the expansion chip, set the status value of each of the first signals to a preset status value when an abnormality occurs in the status value of each of the first signals obtained from the BMC; and a fourth determination module configured to determine the target motherboard configuration information according to the preset status value.
[0142] In an exemplary embodiment, the above-mentioned device also includes: a first trigger module, configured to load BIOS parameters based on the above-mentioned target motherboard configuration information, so as to trigger the above-mentioned server to enter an operating system or other environment system after configuring the operation of the above-mentioned server according to the above-mentioned BIOS parameters.
[0143] An embodiment of the present application also provides a server, comprising: a BIOS and a motherboard, wherein the BIOS is configured to implement the steps of the above method; the motherboard includes multiple processors, each processor includes N signal devices, the signal device is configured to generate a first signal, the multiple processors are connected to each other via an interconnection bus, and the multiple processors and the BIOS are connected via a protocol bus.
[0144] Optionally, the server also includes a BMC, wherein the BMC is configured to read the status value of each first signal and send the status value of each first signal to the BIOS when N is greater than or equal to a first preset threshold; or, the BMC is configured to send the FRU information to the BIOS through the IPMI protocol when N is less than the first preset threshold, or when an abnormality occurs when the BIOS reads N first signals.
[0145] Optionally, the server also includes an expansion chip, wherein the expansion chip is configured to generate N first signals, wherein the expansion chip is a chip set through a bus set in the mainboard when N is less than a first preset threshold, or when an abnormality occurs in reading the N first signals, and the expansion chip is connected to the processor through an I2C bus.
[0146] Optionally, the state value of each first signal is obtained through the BMC, and the state value of each first signal is assigned to a corresponding variable in the BMC through the BMC, and the BIOS reads the state value of each first signal from the BMC through the IPMI protocol.
[0147] It should be noted that the above modules can be implemented through software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.
[0148] The present application also provides a computer non-volatile readable storage medium, which stores a computer program that executes the server startup control method when executed by a processor.
[0149] FIG15 is a schematic diagram of an embodiment of a non-volatile computer-readable storage medium for the server startup control method provided herein. Taking the non-volatile computer-readable storage medium shown in FIG15 as an example, the non-volatile computer-readable storage medium 1501 stores a computer program 1502 that, when executed by a processor, performs the method described above.
[0150] As shown in FIG16 , it is a schematic diagram of the hardware structure of an embodiment of an electronic device of the server startup control method provided in this application.
[0151] Taking the device shown in FIG. 16 as an example, the device includes a processor 1601 and a memory 1602 .
[0152] The processor 1601 and the memory 1602 may be connected via a bus or other means. FIG16 takes the bus connection as an example.
[0153] Memory 1602, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer executable programs, and modules, such as the program instructions / modules corresponding to the server startup control method in the embodiments of the present application. Processor 1601 executes the non-volatile software programs, instructions, and modules stored in memory 1602 to execute various functional applications and data processing of the server, thereby implementing the server startup control method.
[0154] The memory 1602 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created based on the use of the server's startup control method, etc. In addition, the memory 1602 may include a high-speed random access memory and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 1602 may optionally include a memory remotely located relative to the processor 1601, and these remote memories may be connected to the local module via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0155] Computer instructions 1603 corresponding to the startup control method for one or more servers are stored in the memory 1602. When executed by the processor 1601, the startup control method for the server in any of the above method embodiments is executed.
[0156] Any embodiment of the computer device that executes the above-mentioned server startup control method can achieve the same or similar effects as the corresponding any of the above-mentioned method embodiments.
[0157] An embodiment of the present application further provides a computer program product, which includes a computer program. When the computer program is executed by a processor, the steps in any one of the above method embodiments are implemented.
[0158] An embodiment of the present application further provides another computer program product, comprising a non-volatile computer-readable storage medium, wherein the non-volatile computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above method embodiments are implemented.
[0159] An embodiment of the present application also provides a computer program, which includes computer instructions, which are stored in a computer-readable storage medium; a processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any of the above method embodiments.
[0160] Finally, it should be noted that those skilled in the art will understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing the relevant hardware through a computer program. The program of the server startup control method can be stored in a computer non-volatile readable storage medium. When the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the non-volatile readable storage medium of the program can be a magnetic disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc. The above-mentioned computer program embodiment can achieve the same or similar effects as any of the corresponding aforementioned method embodiments.
[0161] The above are exemplary embodiments disclosed in the present application, but it should be noted that various changes and modifications may be made without departing from the scope of the present application as defined in the claims. The functions, steps and / or actions of the method claims according to the disclosed embodiments described herein do not need to be performed in any particular order. In addition, although the elements disclosed in the embodiments of the present application may be described or required in individual form, they may also be understood as multiple unless expressly limited to the singular.
[0162] It should be understood that, as used herein, the singular forms "a" and "an" are intended to include the plural forms as well, unless the context clearly supports an exception. It should also be understood that, as used herein, "and / or" is intended to include any and all possible combinations of one or more of the associated listed items.
[0163] The serial numbers of the embodiments disclosed in the above embodiments of the present application are only for description and do not represent the advantages or disadvantages of the embodiments.
[0164] Those skilled in the art will understand that all or part of the steps for implementing the above embodiments may be accomplished by hardware, or may be accomplished by instructing the relevant hardware through a program, and the program may be stored in a computer non-volatile readable storage medium, and the above-mentioned non-volatile readable storage medium may be a read-only memory, a disk or an optical disk, etc.
[0165] Those skilled in the art should understand that the discussion of any of the above embodiments is merely illustrative and is not intended to imply that the scope of the disclosure of the embodiments of the present application (including the claims) is limited to these examples; based on the ideas of the embodiments of the present application, the technical features of the above embodiments or different embodiments can also be combined, and there are many other variations of different aspects of the embodiments of the present application as described above, which are not provided in detail for the sake of simplicity. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the embodiments of the present application should be included in the scope of protection of the embodiments of the present application.
Claims
1. A startup control method for a server, applied to the BIOS, where the BIOS is set in the motherboard of the server, characterized in that Including: During the startup process of the server, determine N first signals of the motherboard, where the first signals are used to identify the motherboard, and N is a natural number greater than 1; When N is greater than or equal to a first preset threshold, determine multiple motherboard configuration information by using the N first signals; Determine target motherboard configuration information that matches the target customer requirements from the multiple motherboard configuration information, where the target customer requirements are used to represent the configuration requirements of the target customer for the motherboard; Load BIOS parameters based on the target motherboard configuration information to configure the operation of the server according to the BIOS parameters.
2. The method according to claim 1, characterized in that When N is greater than the first preset threshold, determining multiple motherboard configuration information by using the N first signals includes: Read the status value of each first signal through BMC; Randomly combine the status values of the N first signals to obtain multiple motherboard configuration information, where each motherboard configuration information at least includes a combination of M status values of the first signals, the combination of M status values of the first signals is a hexadecimal value, M is a natural number less than or equal to N, and M is greater than or equal to a second preset threshold.
3. The method according to claim 1, characterized in that, Before loading the BIOS parameters based on the target motherboard configuration information to configure the operation of the server according to the BIOS parameters, the method further includes: Store the target motherboard configuration information into a variable in the BIOS.
4. The method according to claim 1, characterized in that Loading the BIOS parameters based on the target motherboard configuration information to configure the operation of the server according to the BIOS parameters includes: When the server is in the initialization stage, determine the M status values of the first signals included in the target motherboard configuration information, where the combination of M status values of the first signals is a hexadecimal value, M is a natural number less than or equal to N, and M is greater than or equal to the second preset threshold; Load the BIOS parameters based on the M status values of the first signals and the target customer requirements; Use the BIOS parameters to perform initialization operations on the devices in the server.
5. The method according to claim 4, characterized in that, The initialization operation includes at least one of the following: initializing the variable information of the memory, initializing the variable information of the PCI link, initializing the variable information of the BMC, and initializing the option variable information of the BIOS.
6. The method according to claim 1, wherein After determining the N first signals of the motherboard during the startup process of the server, the method further includes: When N is less than the first preset threshold, or when an abnormality occurs in reading the N first signals, read the FRU information in the BMC based on the IPMI protocol, where the FRU information includes the information of the target customer and / or the device information in the server; Load the BIOS parameters based on the FRU information to configure the operation of the server according to the BIOS parameters.
7. The method according to claim 6, characterized in that, Loading the BIOS parameters based on the FRU information to configure the operation of the server according to the BIOS parameters includes: When the information of the target customer is included in the FRU information, determine the first main board configuration information corresponding to the information of the target customer; Load the BIOS parameters based on the first main board configuration information to configure the operation of the server according to the BIOS parameters.
8. The method according to claim 6, wherein Loading the BIOS parameters based on the FRU information to configure the operation of the server according to the BIOS parameters includes: When the information of the target customer and the device information in the server are included in the FRU information, determine the second main board configuration information corresponding to the information of the target customer; Load the BIOS parameters based on the second main board configuration information to configure the operation of the server according to the BIOS parameters.
9. The method according to claim 6, wherein Loading the BIOS parameters based on the FRU information to configure the operation of the server according to the BIOS parameters includes: When the device information in the server is included in the FRU information, or the FRU information is empty, determine the third main board configuration information corresponding to the information of the target customer, where the third main board configuration information is the default parameter when the BIOS is set to start; Load the BIOS parameters based on the third main board configuration information to configure the operation of the server according to the BIOS parameters.
10. The method according to claim 1, characterized in that After determining N first signals of the main board during the startup process of the server, the method further includes: When N is less than the first preset threshold, or when reading the N first signals is abnormal, set the expansion chip through the bus set in the main board; Generate N first signals through the expansion chip; Read the status value of each first signal from the BMC through the IPMI protocol, where the BMC is configured to assign the status value of each first signal to the corresponding variable in the BMC.
11. The method according to claim 10, characterized in that, After obtaining the status value of each first signal through the BMC and assigning the status value of each first signal to the corresponding variable in the BMC, the method further includes: Read the status value of each first signal from the BMC through the bus protocol; Randomly combine the status values of N first signals to obtain multiple main board configuration information, where each main board configuration information at least includes a combination of M status values of the first signals, the combination of M status values of the first signals is a hexadecimal value, M is a natural number less than or equal to N, and M is greater than or equal to the second preset threshold.
12. The method according to claim 10, wherein After generating N first signals through the expansion chip, the method further includes: When obtaining the status value of each first signal from the BMC is abnormal, set the status value of each first signal to a preset status value; Determine the target main board configuration information according to the preset status value.
13. The method according to claim 1, wherein After loading the BIOS parameters based on the target main board configuration information to configure the operation of the server according to the BIOS parameters, the method further includes: Trigger the server to enter the operating system or other environment systems.
14. A startup control device for a server, applied to the BIOS, where the BIOS is set in the motherboard of the server, characterized in that, Includes: A first determination module, configured to determine N first signals of the main board during the startup process of the server, where the first signals are used to identify the main board, and N is a natural number greater than 1; A second determination module, configured to determine a plurality of main board configuration information by using the N first signals when N is greater than or equal to a first preset threshold; A third determination module, configured to determine target main board configuration information that matches the target customer requirements from the plurality of main board configuration information, where the target customer requirements are used to represent the configuration requirements of the target customer for the main board; A first loading module, configured to load BIOS parameters based on the target main board configuration information to configure the operation of the server according to the BIOS parameters.
15. A server, characterized in that, Including: BIOS and a main board, where the BIOS is configured to implement the steps of the method described in any one of claims 1 to 13; the main board includes a plurality of processors, and each processor includes N signal devices, the signal devices are configured to generate the first signals, the plurality of processors are connected by an interconnection bus, and the plurality of processors and the BIOS are both connected by a protocol bus.
16. The server according to claim 15, characterized in that, The server further includes a BMC, where The BMC is configured to, when N is greater than or equal to the first preset threshold, read the status value of each first signal and send the status value of each first signal to the BIOS; or The BMC is configured to, when N is less than the first preset threshold, or when the BIOS reads an abnormality in the N first signals, send FRU information to the BIOS through the IPMI protocol.
17. The server according to claim 15, characterized in that, The server further includes an expansion chip, where The expansion chip is configured to generate the N first signals, where the expansion chip is a chip set through the bus provided in the main board when N is less than the first preset threshold, or when an abnormality occurs in reading the N first signals, and the expansion chip is connected to the processor through an I2C bus.
18. The server according to claim 17, wherein The status value of each first signal is obtained through the BMC, and the status value of each first signal is assigned to a corresponding variable in the BMC through the BMC, and the BIOS reads the status value of each first signal from the BMC through the IPMI protocol.
19. A computer non-volatile readable storage medium, characterized in that, A computer non-volatile readable storage medium stores a computer program, where the computer program, when executed by a processor, implements the steps of the method described in any one of claims 1 to 13.
20. An electronic device, comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, characterized in that, When the processor executes the computer program, the steps of the method described in any one of claims 1 to 13 are implemented.
21. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, the steps of the method described in any one of claims 1 to 13 are implemented.
Citation Information
Patent Citations
Method for implementing BIOS capable of self-adapting to different main boards, BIOS, and main board
CN106598564A
Server self-starting method and device, readable storage medium and electronic equipment
CN115658113A
Server starting control method and device and server
CN117519836A
Impersonating a specific physical hardware configuration on a standard server
US20160316043A1
Cited By
Data processing method and device, electronic equipment, storage medium and program product
CN120523665A
Server starting method, electronic equipment and storage medium
CN120892097A