Server starting method and device, computer equipment and storage medium
The server startup method uses a target logic device to verify and isolate BMC and BIOS firmware paths, preventing unauthorized control and enhancing server security by ensuring firmware verification integrity and reducing reliance on external modules.
Patent Information
- Application Number
- CN202411095473.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-09
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2044-08-09
AI Technical Summary
Existing server security is compromised when BMC or BIOS firmware is tampered with or infected with a virus, as TPM or TCM verification can be bypassed, allowing unauthorized control of the server.
A server startup method using a target logic device (CPLD) to verify BMC and BIOS firmware independently, isolating the firmware paths until verification is complete, and enabling connections only after successful verification, thereby preventing unauthorized control.
Enhances server security by ensuring that firmware cannot bypass verification to control the server, reduces reliance on external TPM/TCM, saves costs, and provides clear visual feedback on verification status.
Smart Images

Figure CN119128896A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of servers, and in particular to a server startup method, device, computer equipment and storage medium. Background Art
[0002] With the booming development of big data and cloud computing industries, servers, as core components of big data and cloud computing industries, have higher and higher security requirements. The firmware security of the baseboard management controller (BMC) and the basic input and output system (BIOS) directly affects the security level of the server. Therefore, it is crucial to ensure the firmware security of BMC and BIOS.
[0003] In the related art, before the server is started, the firmware of the BMC and the firmware of the BIOS are verified by a Trusted Platform Module (TPM) or a Trusted Cryptography Module (TCM). If the firmware verification passes, the BMC and the Central Processing Unit (CPU) load the firmware to start the server.
[0004] However, since the TPM or TCM is connected in parallel between the chip where the BMC firmware is located and the BMC, and between the chip where the BIOS firmware is located and the CPU, if the BMC firmware or the BIOS firmware is tampered with or a virus is implanted, the verification of the TPM or TCM can be bypassed to directly control the BMC or CPU to operate the server, and the security of the server is relatively low. Summary of the invention
[0005] In view of this, the present invention provides a server startup method, apparatus, computer equipment and storage medium to solve the problem in the related art that when the BMC firmware or BIOS firmware is tampered with or a virus is implanted, the BMC or CPU can be directly controlled to operate the server by bypassing the TPM or TCM verification, resulting in low security of the server.
[0006] In a first aspect, the present invention provides a server startup method, which is applied to a target logic device, and the method comprises:
[0007] After the server is powered on, the first firmware in the first memory and the second firmware in the second memory are verified, wherein the first firmware is the firmware of the baseboard management controller and the second firmware is the firmware of the input and output system;
[0008] When the first firmware passes the verification, a first selection signal is sent to the first multiplexer, so that the first multiplexer cuts off the first link between the first memory and the target logic device based on the first selection signal, and connects the second link between the first memory and the baseboard management controller, and the baseboard management controller obtains the first firmware based on the second link and starts based on the first firmware;
[0009] When the second firmware passes the verification, a second selection signal is sent to the second multiplexer, so that the second multiplexer cuts off the third link between the second memory and the target logic device based on the second selection signal, and connects the fourth link between the second memory and the central processing unit. The central processing unit obtains the second firmware based on the fourth link, and starts the input and output system based on the second firmware.
[0010] The server startup method provided in this embodiment verifies the firmware of the baseboard management controller and the firmware of the input and output system through the target logic. During the verification process, there is no connection link between the first memory storing the first firmware and the baseboard management controller, and there is no connection link between the second memory storing the second firmware and the central processing unit. Only when the first firmware passes the verification, the link between the first memory and the baseboard management controller is enabled; only when the second firmware passes the verification, the link between the second memory and the central processing unit is enabled. It ensures that the firmware cannot bypass the verification to directly control the baseboard management controller or the central processing unit to operate the server, thereby improving the security of the server.
[0011] In an optional implementation, verifying the first firmware in the first memory includes:
[0012] Obtain a first verification code;
[0013] Parsing the first firmware to obtain a second verification code;
[0014] Compare the first verification code with the second verification code to obtain a first comparison result;
[0015] When the first comparison result is that the first verification code is consistent with the second verification code, it is determined that the first firmware verification has passed.
[0016] The server startup method provided in this embodiment obtains a first verification code through a target logic device, and compares the first verification code with a second verification code obtained by parsing the first firmware to determine whether the first firmware has passed the verification, thereby avoiding the insecurity of verifying the firmware using an external card such as TPM or TCM.
[0017] In an optional implementation, verifying the second firmware in the second memory includes:
[0018] Obtain a first verification code;
[0019] Parsing the second firmware to obtain a third verification code;
[0020] Compare the first verification code with the third verification code to obtain a second comparison result;
[0021] When the second comparison result is that the first verification code is consistent with the third verification code, it is determined that the second firmware verification passes.
[0022] The server startup method provided in this embodiment obtains a first verification code through a target logic device, and compares the first verification code with a third verification code obtained by parsing the second firmware to determine whether the second firmware has passed the verification, thereby avoiding the insecurity of verifying the firmware using an external card such as TPM or TCM.
[0023] In an optional embodiment, the method further includes:
[0024] If the first firmware fails to pass the verification, the step of verifying the second firmware in the second memory ends;
[0025] If the second firmware fails the verification, the step of verifying the first firmware in the first memory ends.
[0026] The server startup method provided in this embodiment immediately stops verifying the firmware in the second memory when the first firmware verification fails, and vice versa, thereby avoiding unnecessary verification operations and saving time and system resources.
[0027] In an optional embodiment, the method further includes:
[0028] Based on the verification status of the first firmware, a corresponding lighting signal is sent to the first light emitting diode to indicate the verification status of the first firmware;
[0029] Based on the verification status of the second firmware, a corresponding lighting signal is sent to the second light emitting diode to indicate the verification status of the second firmware.
[0030] The server startup method provided in this embodiment allows users or maintenance personnel to intuitively understand the verification progress and results of each firmware through the lighting status of the first light-emitting diode and the second light-emitting diode, without having to check complex system logs or display information, thereby improving user experience and maintenance efficiency.
[0031] In an optional implementation, the step of sending a corresponding lighting signal to the first light emitting diode based on the verification status of the first firmware includes:
[0032] When the verification state of the first firmware is that the first firmware is being verified, controlling the first lighting signal sent to the first light-emitting diode to flip the high and low levels at a first frequency, so that the state of the first light-emitting diode is a green flashing state, indicating that the first firmware is being verified;
[0033] When the verification state of the first firmware is that the verification has passed, the first lighting signal sent to the first light-emitting diode is controlled to be at a low level, so that the state of the first light-emitting diode is a long green state, indicating that the first firmware has passed the verification;
[0034] When the verification state of the first firmware is verification failure, controlling the second lighting signal sent to the first light-emitting diode to be low level, so that the state of the first light-emitting diode is red and long-on state, indicating that the first firmware verification has failed;
[0035] The step of sending a corresponding lighting signal to the second light emitting diode based on the verification state of the second firmware includes:
[0036] When the verification state of the second firmware is that the second firmware is being verified, controlling the third lighting signal sent to the second light-emitting diode to flip the high and low levels at the first frequency, so that the state of the second light-emitting diode is a green flashing state, indicating that the second firmware is being verified;
[0037] When the verification state of the second firmware is verification passed, the third lighting signal sent to the second light emitting diode is controlled to be low level, so that the state of the second light emitting diode is green and long-on state, indicating that the second firmware verification has passed;
[0038] When the verification status of the second firmware is verification failure, the fourth lighting signal sent to the second light emitting diode is controlled to be low level, so that the state of the second light emitting diode is red and long-on state, indicating that the second firmware verification has failed.
[0039] The server startup method provided in this embodiment provides clear and easy-to-understand visual feedback to users and maintenance personnel through LEDs of different colors (green, red) and states (flashing, long on), and can quickly identify the status of firmware verification in progress, passed or failed without having to read the system log in depth or use complex diagnostic tools. This not only improves the efficiency and convenience of system maintenance, but also enhances the user's interactive experience.
[0040] In an optional implementation, obtaining the first verification code includes:
[0041] Based on a plurality of lines correspondingly connected to a plurality of check code acquisition pins in the target logic device, obtaining a level corresponding to each line;
[0042] Based on the level corresponding to each line, a first check code is determined.
[0043] The server startup method provided in this embodiment directly reads the verification code through a physical line, which reduces potential errors in the data transmission process. Compared with the software reading method, it is more stable and reliable, and enhances the overall security and data integrity of the system.
[0044] In a second aspect, the present invention provides a server startup device, the device comprising:
[0045] A verification module, used for verifying the first firmware in the first memory and the second firmware in the second memory after the server is powered on, wherein the first firmware is the firmware of the baseboard management controller and the second firmware is the firmware of the input and output system;
[0046] A first sending module is used for sending a first selection signal to a first multiplexer when the first firmware passes the verification, so that the first multiplexer cuts off a first link between the first memory and the target logic device based on the first selection signal, and connects a second link between the first memory and the baseboard management controller, and the baseboard management controller obtains the first firmware based on the second link and starts based on the first firmware;
[0047] The second sending module is used to send a second selection signal to the second multiplexer when the second firmware is verified, so that the second multiplexer cuts off the third link between the second memory and the target logic device based on the second selection signal and connects the fourth link between the second memory and the central processing unit. The central processing unit obtains the second firmware based on the fourth link and starts the input and output system based on the second firmware.
[0048] In a third aspect, the present invention provides a computer device, comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the server startup method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0049] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the server startup method of the first aspect or any corresponding embodiment thereof.
[0050] In a fifth aspect, the present invention provides a computer program product, comprising computer instructions for causing a computer to execute the server startup method of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in the related technologies, the drawings required for use in the specific embodiments or the related technical descriptions will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0052] Figure 1 It is a structural block diagram of firmware verification in the related art;
[0053] Figure 2 is a flow chart of a server startup method according to an embodiment of the present invention;
[0054] Figure 3 is a structural block diagram of verifying firmware according to an embodiment of the present invention;
[0055] Figure 4 is a schematic diagram of another server startup process according to an embodiment of the present invention;
[0056] Figure 5 is a schematic diagram of a verification status indication circuit according to an embodiment of the present invention;
[0057] Figure 6 is a schematic diagram of the structure of a check code generating circuit according to an embodiment of the present invention;
[0058] Figure 7 is a structural block diagram of a server startup device according to an embodiment of the present invention;
[0059] Figure 8 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0060] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of the present invention.
[0061] Servers are core components of industries such as big data and cloud computing. With the continuous development of big data and cloud computing industries, the requirements for server security are getting higher and higher. BMC is used for management, fault monitoring and alarm, network service provision, fan control and other functions in server systems. BIOS is a set of programs solidified on the flash chip on the motherboard of the server. It stores the most important basic input and output programs of the server, the self-test program after power-on, and the system self-starting program. Its main function is to provide the lowest-level and most direct hardware settings and control for the server. Given the important role of BMC and BIOS in the server system, the firmware security of BMC and BIOS will directly affect the security level of the server. In other words, once the firmware of BMC and BIOS is tampered with, it will pose a serious threat to the security of the server. Therefore, it is crucial to ensure the firmware security of BMC and BIOS.
[0062] The BMC and BIOS firmware are stored in the Flash chip on the server motherboard. After the server is powered on, the BMC firmware and BIOS firmware are loaded from the Flash chip to start the boot process.
[0063] In the related art, in order to ensure the security of BMC and BIOS firmware, before the server is started, the BMC firmware and the BIOS firmware are verified through TPM or TCM. Figure 1 This is a structural diagram of firmware verification in the related art. Figure 1 As shown, the TPM / TCM is connected in parallel to the link between the BMC Flash chip and the BMC and in parallel to the link between the BIOS Flash chip and the CPU. After the server is powered on, the TPM / TCM will verify the BMC firmware stored in the BMC Flash chip and the BIOS firmware stored in the BIOS Flash chip.
[0064] It should be noted that the BMC Flash chip is used to store the BMC firmware, and the BIOS Flash chip is used to store the BIOS firmware. The BMC Flash chip is connected to the BMC via a serial peripheral interface (SPI). The BIOS Flash chip is also connected to the CPU via SPI.
[0065] When the firmware verification passes, the BMC and CPU load the corresponding firmware to start the server. However, since the TPM or TCM is connected in parallel between the BMC firmware chip, i.e., the BMC Flash chip, and the BMC, and in parallel between the BIOS firmware chip, i.e., the BIOS Flash chip, and the CPU, the path between the BMC Flash chip and the BMC and the path between the BIOS Flash chip and the CPU always exist, when the BMC firmware or the BIOS firmware is tampered with or a virus is implanted, the TPM or TCM verification can be bypassed to directly control the BMC or the CPU to operate the server, thereby posing a threat to the security of the server, and the server security is relatively low.
[0066] That is to say, the related technology cannot isolate the path between the Flash chip and the BMC and the CPU before completing the firmware verification, and thus cannot prevent the threat to the server security caused by the tampering of the BMC and BIOS firmware.
[0067] Furthermore, TPM or TCM is an external module for the server, and its firmware may be tampered with or infected with viruses. If the TPM / TCM firmware is not properly controlled, it will increase the security risk of the server. And using an external TPM or TCM to verify the firmware will increase the cost of the server.
[0068] The embodiment of the present invention provides a server startup method, which verifies the firmware of the baseboard management controller and the firmware of the input and output system through the target logic. During the verification process, there is no connection link between the first memory storing the first firmware and the baseboard management controller, and there is no connection link between the second memory storing the second firmware and the central processing unit. Only when the first firmware passes the verification, the link between the first memory and the baseboard management controller is enabled; only when the second firmware passes the verification, the link between the second memory and the central processing unit is enabled to ensure that the firmware cannot bypass the verification to directly control the baseboard management controller or the central processing unit to operate the server, thereby improving the security of the server.
[0069] According to an embodiment of the present invention, a server startup method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.
[0070] In this embodiment, a server startup method is provided, which can be used in a mobile terminal, such as a target logic in a server, Figure 2 is a flow chart of a server startup method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:
[0071] Step S201 , after the server is powered on, verify the first firmware in the first memory and the second firmware in the second memory, wherein the first firmware is firmware of the baseboard management controller and the second firmware is firmware of the input / output system.
[0072] The target logic device is a complex programmable logic device (CPLD), which is used for timing control, logic control, etc. in the server system. The input and output system is BIOS.
[0073] Figure 3 1 is a structural block diagram of checking firmware according to an embodiment of the present invention. Figure 3 As shown, the BMC Flash chip is used to store the firmware of the BMC, and the BIOS Flash chip is used to store the firmware of the BIOS. The first multiplexer (MUX chip 1) is used to switch the SPI bus between the BMC Flash chip, the CPLD and the BMC. Among them, the SPI signal of the BMC Flash chip is connected to the A terminal of the MUX chip 1, the SPI signal of the CPLD is connected to the B1 terminal of the MUX chip 1, and the SPI signal of the BMC is connected to the B2 terminal of the MUX chip 1.
[0074] When the server is powered on, the A and B1 terminals of the MUX chip 1 are connected by default, and the CPLD can verify the BMC firmware in the BMC Flash chip. The A and B2 terminals of the MUX chip 1 are disconnected, cutting off the path for the BMC firmware to control the BMC before the verification is completed.
[0075] It can be understood that the first memory is a BMC Flash chip.
[0076] like Figure 3 As shown, the second multiplexer (MUX chip 2) is used to switch the SPI bus between the BIOS Flash chip, the CPLD and the CPU. The SPI signal of the BIOS Flash chip is connected to the A terminal of the MUX chip 2, the SPI signal of the CPLD is connected to the B1 terminal of the MUX chip 2, and the SPI signal of the CPU is connected to the B2 terminal of the MUX chip 2.
[0077] When the server is powered on, the A and B1 terminals of MUX chip 2 are connected by default, and the CPLD can verify the BIOS firmware in the BIOS Flash chip. The A and B2 terminals of MUX chip 2 are disconnected, cutting off the path for the BIOS firmware to control the CPU before the verification is completed.
[0078] It is understandable that the second memory is a BIOS Flash chip.
[0079] The target logic is used to verify the first firmware and the second firmware, and is also used to control the path switching of the first multiplexer after the first firmware is verified and control the path switching of the second multiplexer after the second firmware is verified.
[0080] Step S202, when the first firmware is verified and passed, a first selection signal is sent to the first multiplexer, so that the first multiplexer cuts off the first link between the first memory and the target logic device based on the first selection signal, and connects the second link between the first memory and the baseboard management controller. The baseboard management controller obtains the first firmware based on the second link and starts based on the first firmware.
[0081] The fact that the first firmware passes the verification indicates that the first firmware is safe, and the BMC can be started by using the first firmware.
[0082] When the first firmware is verified, the CPLD sends a first selection signal (selection signal 1) to the first multiplexer, and cuts off the link between the A end and the B1 end of the MUX chip 1, that is, the first multiplexer cuts off the first link between the first memory and the target logic device based on the first selection signal, and connects the link between the A end and the B2 end of the MUX chip 1, that is, connects the second link between the first memory and the baseboard management controller, and establishes a path between the BMC Flash chip and the BMC, so that the BMC obtains the first firmware based on the second link and starts based on the first firmware.
[0083] Step S203, when the second firmware is verified, a second selection signal is sent to the second multiplexer, so that the second multiplexer cuts off the third link between the second memory and the target logic device based on the second selection signal, and connects the fourth link between the second memory and the central processing unit. The central processing unit obtains the second firmware based on the fourth link, and starts the input and output system based on the second firmware.
[0084] The server startup includes the startup of the BMC and the startup of the input and output system.
[0085] The fact that the second firmware passes the verification indicates that the second firmware is safe, and the CPU can start the BIOS through the second firmware.
[0086] When the second firmware is verified and passed, the CPLD sends a second selection signal (selection signal 2) to the second multiplexer, and cuts off the link between the A end and the B1 end of the MUX chip 2, that is, the second multiplexer cuts off the third link between the second memory and the target logic device based on the second selection signal, and connects the link between the A end and the B2 end of the MUX chip 2, that is, connects the fourth link between the second memory and the central processing unit, and establishes a path between the BIOS Flash chip and the CPU, so that the CPU obtains the second firmware based on the fourth link and performs BIOS startup based on the second firmware.
[0087] It should be noted that after the BMC and BIOS are started normally, the server can start normally.
[0088] The server startup method provided in this embodiment verifies the firmware of the baseboard management controller and the firmware of the input and output system through the target logic. During the verification process, there is no connection link between the first memory storing the first firmware and the baseboard management controller, and there is no connection link between the second memory storing the second firmware and the central processing unit. That is, before the verification passes, the SPI path between the first memory storing the first firmware and the baseboard management controller is cut off, and the SPI path between the second memory storing the second firmware and the central processing unit is cut off, and the unverified BMC firmware and BIOS firmware are isolated to avoid threats to the security of the server. Only when the first firmware verification passes, the link between the first memory and the baseboard management controller will be enabled; only when the second firmware verification passes, the link between the second memory and the central processing unit will be enabled. It ensures that the firmware cannot bypass the verification to directly control the baseboard management controller or the central processing unit to operate the server, thereby improving the security of the server.
[0089] In addition, this embodiment uses the inherent CPLD chip on the server mainboard to complete the verification of the BMC firmware and the BIOS firmware, saving the cost of using a TPM / TCM plug-in card and further ensuring the security of the server.
[0090] In this embodiment, a server startup method is provided, which can be used in a mobile terminal, such as a target logic in a server, Figure 4 is a flow chart of a server startup method according to an embodiment of the present invention. Figure 4 As shown, the process includes the following steps:
[0091] Step S401, after the server is powered on, verify the first firmware in the first memory and the second firmware in the second memory, wherein the first firmware is the firmware of the baseboard management controller, and the second firmware is the firmware of the input / output system.
[0092] Specifically, the above step S401 includes:
[0093] Step S4011, obtaining a first verification code.
[0094] Among them, Figure 3 As shown, the CPLD obtains the first check code through the check code generation circuit. The check code generation circuit is used to generate the first check code.
[0095] Step S4012, parse the first firmware to obtain a second verification code.
[0096] After the server is powered on, the target logic device parses the first firmware in the first memory to obtain the second verification code.
[0097] Parsing the first firmware to obtain the second verification code specifically includes:
[0098] Based on the preset position information of the second verification code, the second verification code is obtained from the first firmware.
[0099] It should be noted that the preset position information of the second verification code is the position information of the second verification code in the first firmware, which is preset by a technician.
[0100] Step S4013, comparing the first verification code with the second verification code to obtain a first comparison result.
[0101] After the first verification code and the second verification code are obtained, the first verification code is compared with the second verification code to obtain a first comparison result.
[0102] Step S4014: when the first comparison result is that the first verification code is consistent with the second verification code, it is determined that the first firmware verification has passed.
[0103] It can be understood that if the first verification code is inconsistent with the second verification code, it is determined that the first firmware has failed the verification and there is an abnormality in the first firmware.
[0104] Step S402: If the first firmware passes the verification, a first selection signal is sent to the first multiplexer, so that the first multiplexer cuts off the first link between the first memory and the target logic device based on the first selection signal, and connects the second link between the first memory and the baseboard management controller. The baseboard management controller obtains the first firmware based on the second link and starts based on the first firmware. For details, please refer to Figure 2 Step S202 of the illustrated embodiment will not be described in detail here.
[0105] Step S403, if the second firmware passes the verification, send a second selection signal to the second multiplexer, so that the second multiplexer cuts off the third link between the second memory and the target logic device based on the second selection signal, and connects the fourth link between the second memory and the central processor. The central processor obtains the second firmware based on the fourth link and starts the input and output system based on the second firmware. For details, please refer to Figure 2 Step S203 of the illustrated embodiment will not be described in detail here.
[0106] The server startup method provided in this embodiment obtains a first verification code through a target logic device, and compares the first verification code with a second verification code obtained by parsing the first firmware to determine whether the first firmware has passed the verification, thereby avoiding the insecurity of verifying the firmware using an external card such as TPM or TCM.
[0107] In some optional implementations, the above step S201 further includes:
[0108] Step a1, obtain the first verification code. Figure 3 As shown, the CPLD obtains the first check code through the check code generation circuit.
[0109] Step a2, parsing the second firmware to obtain a third verification code.
[0110] After the server is powered on, the target logic device parses the second firmware in the second memory to obtain a third verification code.
[0111] Parsing the second firmware to obtain the third verification code specifically includes:
[0112] Based on the preset position information of the third verification code, the third verification code is obtained from the second firmware.
[0113] It should be noted that the preset position information of the third verification code is the position information of the third verification code in the second firmware, which is preset by a technician.
[0114] Step a3, comparing the first verification code with the third verification code to obtain a second comparison result.
[0115] After obtaining the first verification code and the third verification code, the first verification code is compared with the third verification code to obtain a second comparison result.
[0116] Step a4: when the second comparison result is that the first verification code is consistent with the third verification code, it is determined that the second firmware has passed the verification.
[0117] It can be understood that if the first verification code is inconsistent with the third verification code, it is determined that the second firmware has failed the verification and an abnormality exists in the second firmware.
[0118] The server startup method provided in this embodiment obtains a first verification code through a target logic device, and compares the first verification code with a third verification code obtained by parsing the second firmware to determine whether the second firmware has passed the verification, thereby avoiding the insecurity of verifying the firmware using an external card such as TPM or TCM.
[0119] In some optional implementations, the server startup method further includes:
[0120] Step b1, when the first firmware fails to pass the verification, the step of verifying the second firmware in the second memory ends.
[0121] It is understandable that the verification of the first firmware and the verification of the second firmware can be performed simultaneously or sequentially.
[0122] If the first firmware fails to pass the verification, it means that there is an abnormality in the first firmware and the server cannot start normally. If the verification step of the second firmware is being performed at this time, the step of verifying the second firmware is terminated. If the verification step of the second firmware has not been performed, there is no need to perform the step of verifying the second firmware.
[0123] Step b2, when the second firmware fails to pass the verification, end the step of verifying the first firmware in the first memory.
[0124] If the second firmware fails to pass the verification, it means that there is an abnormality in the second firmware and the server cannot start normally. If the verification step of the first firmware is being performed at this time, the step of verifying the first firmware is terminated. If the verification step of the first firmware has not been performed, there is no need to perform the step of verifying the first firmware.
[0125] The server startup method provided in this embodiment immediately stops verifying the firmware in the second memory when the first firmware verification fails, and vice versa, thereby avoiding unnecessary verification operations and saving time and system resources.
[0126] In some optional implementations, the server startup method further includes:
[0127] Step c1, based on the verification status of the first firmware, sending a corresponding lighting signal to the first light emitting diode to indicate the verification status of the first firmware.
[0128] The server includes a verification status indication circuit, and the verification status indication circuit is used to indicate the verification status of the firmware. Figure 5 Schematic diagram of a verification status indication circuit according to an embodiment of the present invention. Figure 5As shown, the verification status indication circuit includes a target logic and two red and green dual-color light emitting diodes LED1 and LED2. The following description is made with the first light emitting diode being LED1 and the second light emitting diode being LED2.
[0129] The state of LED1 is controlled by CPLD. The first lighting signal (lighting signal G1) sent by the M pin of CPLD controls the state of the green light of LED1. The second lighting signal (lighting signal R1) sent by the N pin of CPLD controls the state of the red light of LED1.
[0130] It should be noted that the state of the first light emitting diode is used to indicate the verification state of the first firmware. According to the verification state of the first firmware, the CPLD sends a corresponding lighting signal to the first light emitting diode to indicate different verification states of the first firmware.
[0131] Step c2: Based on the verification status of the second firmware, a corresponding lighting signal is sent to the second light emitting diode to indicate the verification status of the second firmware.
[0132] The state of LED2 is controlled by CPLD. The third lighting signal (lighting signal G2) sent by the P pin of CPLD controls the state of the green light of LED2. The fourth lighting signal (lighting signal R2) sent by the Q pin of CPLD controls the state of the red light of LED2.
[0133] It should be noted that the state of the second light emitting diode is used to indicate the verification state of the second firmware. According to the verification state of the second firmware, the CPLD sends a corresponding lighting signal to the second light emitting diode to indicate different verification states of the second firmware.
[0134] The server startup method provided in this embodiment allows users or maintenance personnel to intuitively understand the verification progress and results of each firmware through the lighting status of the first light-emitting diode and the second light-emitting diode, without having to check complex system logs or display information, thereby improving user experience and maintenance efficiency.
[0135] In some optional embodiments, step c1 includes:
[0136] Step c11, when the verification status of the first firmware is that the first firmware is being verified, control the first lighting signal sent to the first light-emitting diode to flip the high and low levels at a first frequency, so that the state of the first light-emitting diode is a green flashing state, indicating that the first firmware is being verified.
[0137] Among them, LED1 is used to indicate the verification status of the BMC firmware, that is, the verification status of the first firmware. When LED1 is off, it indicates that the verification of the first firmware has not started. When LED1 flashes green, it indicates that the CPLD is verifying the first firmware. When LED1 is always green, it indicates that the first firmware verification has passed. When LED1 is always red, it indicates that the first firmware verification has not passed, that is, the first firmware verification has failed.
[0138] When the first lighting signal is at a high level, the state of LED1 is the green light off state. When the first lighting signal is at a low level, the state of LED1 is the green constant light state. When the first lighting signal is high and low levels and flips at a first frequency, that is, when the first lighting signal flips high and low levels at the first frequency, the state of LED1 is the green flashing state. Among them, the first frequency is set by a technician, and illustratively, the first frequency is 1Hz. The green constant light state is the green light constant light state, and the green flashing state is the green light flashing state.
[0139] Step c12, when the verification status of the first firmware is passed, control the first lighting signal sent to the first light-emitting diode to be low level, so that the state of the first light-emitting diode is green and long-on state, indicating that the first firmware verification has passed.
[0140] The first lighting signal is at a low level, and the state of LED1 is a steady green state, indicating that the first firmware verification has passed.
[0141] Step c13, when the verification status of the first firmware is verification failure, control the second lighting signal sent to the first light-emitting diode to be low level, so that the state of the first light-emitting diode is red and long-on state, indicating that the first firmware verification has failed.
[0142] Among them, when the second lighting signal is at a high level, the state of LED1 is the red light off state. When the second lighting signal is at a low level, the state of LED1 is the red constant light state. When the second lighting signal is high and low levels and flips at the first frequency, that is, when the second lighting signal flips high and low levels at the first frequency, the state of LED1 is the red flashing state. The red constant light state is the red light constant light state, and the red flashing state is the red light flashing state.
[0143] The second lighting signal is at a low level, and the state of LED1 is a red steady light state, indicating that the first firmware verification has failed.
[0144] Step c2 includes:
[0145] Step c21, when the verification status of the second firmware is that the second firmware is being verified, control the third lighting signal sent to the second light-emitting diode to flip the high and low levels at the first frequency, so that the state of the second light-emitting diode is a green flashing state, indicating that the second firmware is being verified.
[0146] Among them, LED2 is used to indicate the verification status of the BIOS firmware, that is, the verification status of the second firmware. When LED2 is off, it indicates that the verification of the second firmware has not started. When LED2 flashes green, it indicates that the CPLD is verifying the second firmware. When LED2 is always green, it indicates that the second firmware verification has passed. When LED2 is always red, it indicates that the second firmware verification has not passed, that is, the second firmware verification has failed.
[0147] When the third lighting signal is at a high level, the state of LED2 is the green light off state. When the third lighting signal is at a low level, the state of LED2 is the green light constantly on state. When the third lighting signal is high and low level and flips at the first frequency, that is, when the third lighting signal flips high and low level at the first frequency, the state of LED2 is the green flashing state.
[0148] Step c22, when the verification status of the second firmware is passed, control the third lighting signal sent to the second light-emitting diode to be low level, so that the state of the second light-emitting diode is green and long-on state, indicating that the second firmware verification has passed.
[0149] The third lighting signal is at a low level, and the state of LED2 is a steady green state, indicating that the second firmware verification has passed.
[0150] Step c23, when the verification status of the second firmware is verification failure, control the fourth lighting signal sent to the second light-emitting diode to be low level, so that the state of the second light-emitting diode is red and long-on state, indicating that the second firmware verification has failed.
[0151] Among them, when the fourth lighting signal is at a high level, the state of LED2 is a red light off state. When the fourth lighting signal is at a low level, the state of LED2 is a red constant light state. When the fourth lighting signal is high and low levels and flips at the first frequency, that is, when the fourth lighting signal flips high and low levels at the first frequency, the state of LED2 is a red flashing state.
[0152] The fourth lighting signal is at a low level, and the state of LED2 is a red steady light state, indicating that the second firmware verification has failed.
[0153] The server startup method provided in this embodiment provides clear and easy-to-understand visual feedback to users and maintenance personnel through LEDs of different colors (green, red) and states (flashing, long on), and can quickly identify the status of firmware verification in progress, passed or failed without having to read the system log in depth or use complex diagnostic tools. This not only improves the efficiency and convenience of system maintenance, but also enhances the user's interactive experience.
[0154] This embodiment uses a simple LED circuit to indicate the verification process and results, which is convenient for quickly locating problems during debugging.
[0155] In some optional implementations, the above step S4011 or step a1 includes:
[0156] Step d1, based on multiple lines connected to multiple check code acquisition pins in the target logic device, obtain the level corresponding to each line.
[0157] Figure 6 Schematic diagram of the structure of the verification code generating circuit according to an embodiment of the present invention. Figure 6 As shown, the check code generation circuit includes 8 groups of level setting circuits composed of pull-up and pull-down resistors.
[0158] The level setting circuit composed of the first pull-up resistor R1 and the second pull-down resistor R2 is connected to the A pin among the multiple check code acquisition pins of the CPLD, and is used to set the level of the A pin.
[0159] When the first pull-up resistor R1 is connected and the second pull-down resistor R2 is not connected, the A pin of the CPLD is set to a high level because the first pull-up resistor R1 is connected to the power supply (Power). It should be noted that resistor connection usually refers to the operation of installing a resistor element on a printed circuit board (PCB) or other circuit carrier during the electronic assembly or production process.
[0160] When the first pull-up resistor R1 is not on and the second pull-down resistor R2 is on, the A pin of the CPLD is set to a low level because the second pull-down resistor R2 is connected to the ground. The CPLD records the high level as 1 and the low level as 0.
[0161] The level setting circuit composed of the third pull-up resistor R3 and the fourth pull-down resistor R4 is connected to the B pin among the multiple check code acquisition pins of the CPLD, and is used to set the level of the B pin.
[0162] When the third pull-up resistor R3 is on and the fourth pull-down resistor R4 is not on, since the third pull-up resistor R3 is connected to the power supply (Power), the B pin of the CPLD is set to a high level.
[0163] When the third pull-up resistor R3 is not on and the fourth pull-down resistor R4 is on, since the fourth pull-down resistor R4 is connected to the ground (Ground), the B pin of the CPLD is set to a low level.
[0164] The level setting circuit composed of the fifth pull-up resistor R5 and the sixth pull-down resistor R6 is connected to the C pin among the multiple check code acquisition pins of the CPLD, and is used to set the level of the C pin.
[0165] When the fifth pull-up resistor R5 is on and the sixth pull-down resistor R6 is not on, since the fifth pull-up resistor R5 is connected to the power supply (Power), the C pin of the CPLD is set to a high level.
[0166] When the fifth pull-up resistor R5 is not on and the sixth pull-down resistor R6 is on, since the sixth pull-down resistor R6 is connected to the ground (Ground), the C pin of the CPLD is set to a low level.
[0167] The level setting circuit composed of the seventh pull-up resistor R7 and the eighth pull-down resistor R8 is connected to the D pin among the multiple check code acquisition pins of the CPLD, and is used to set the level of the D pin.
[0168] When the seventh pull-up resistor R7 is on and the eighth pull-down resistor R8 is not on, since the seventh pull-up resistor R7 is connected to the power supply (Power), the D pin of the CPLD is set to a high level.
[0169] When the seventh pull-up resistor R7 is not on and the eighth pull-down resistor R8 is on, since the eighth pull-down resistor R8 is connected to the ground (Ground), the D pin of the CPLD is set to a low level.
[0170] The level setting circuit composed of the ninth pull-up resistor R9 and the tenth pull-down resistor R10 is connected to the E pin among the multiple check code acquisition pins of the CPLD, and is used to set the level of the E pin.
[0171] When the ninth pull-up resistor R9 is on and the tenth pull-down resistor R10 is not on, since the ninth pull-up resistor R9 is connected to the power supply (Power), the E pin of the CPLD is set to a high level.
[0172] When the ninth pull-up resistor R9 is not on and the tenth pull-down resistor R10 is on, since the tenth pull-down resistor R10 is connected to the ground, the E pin of the CPLD is set to a low level.
[0173] The level setting circuit composed of the eleventh pull-up resistor R11 and the twelfth pull-down resistor R12 is connected to the F pin among the multiple check code acquisition pins of the CPLD, and is used to set the level of the F pin.
[0174] When the eleventh pull-up resistor R11 is turned on and the twelfth pull-down resistor R12 is not turned on, since the eleventh pull-up resistor R11 is connected to the power supply (Power), the F pin of the CPLD is set to a high level.
[0175] When the eleventh pull-up resistor R11 is not on and the twelfth pull-down resistor R12 is on, since the twelfth pull-down resistor R12 is connected to the ground, the F pin of the CPLD is set to a low level.
[0176] The level setting circuit composed of the thirteenth pull-up resistor R13 and the fourteenth pull-down resistor R14 is connected to the G pin among the multiple check code acquisition pins of the CPLD, and is used to set the level of the G pin.
[0177] When the thirteenth pull-up resistor R13 is turned on and the fourteenth pull-down resistor R14 is not turned on, since the thirteenth pull-up resistor R13 is connected to the power supply (Power), the G pin of the CPLD is set to a high level.
[0178] When the thirteenth pull-up resistor R13 is not on and the fourteenth pull-down resistor R14 is on, since the fourteenth pull-down resistor R14 is connected to the ground (Ground), the G pin of the CPLD is set to a low level.
[0179] The level setting circuit composed of the fifteenth pull-up resistor R15 and the sixteenth pull-down resistor R16 is connected to the H pin among the multiple check code acquisition pins of the CPLD, and is used to set the level of the H pin.
[0180] When the fifteenth pull-up resistor R15 is on and the sixteenth pull-down resistor R16 is not on, since the fifteenth pull-up resistor R15 is connected to the power supply (Power), the H pin of the CPLD is set to a high level.
[0181] When the fifteenth pull-up resistor R15 is not on and the sixteenth pull-down resistor R16 is on, since the sixteenth pull-down resistor R16 is connected to the ground, the H pin of the CPLD is set to a low level.
[0182] It should be noted that the technicians decide whether to power on each resistor, and then the CPLD determines the levels of multiple lines connected to the pins of multiple check codes according to the power-on status of each resistor.
[0183] Step d2, determining a first check code based on the level corresponding to each line.
[0184] Among them, the first verification code is determined according to the level corresponding to each line. In this embodiment, the levels corresponding to 8 lines will be obtained, so the first verification code is an 8-digit number, and the order can be the level of the line corresponding to the A pin, the level of the line corresponding to the B pin, the level of the line corresponding to the C pin, the level of the line corresponding to the D pin, the level of the line corresponding to the E pin, the level of the line corresponding to the F pin, the level of the line corresponding to the G pin, and the level of the line corresponding to the H pin. Of course, it can also be other orders. The specific order of the corresponding numbers in the first verification code can be set by the technician, and no specific restrictions are made here.
[0185] The CPLD compares the 8-bit check code received from the check code generation circuit with the check code parsed from the SPI signal of the BMC Flash chip. If the two are consistent, it is considered that the first firmware has passed the check, otherwise the check has failed.
[0186] The CPLD will compare the 8-bit check code received from the check code generation circuit with the check code parsed from the SPI signal of the BIOS Flash chip. If the two are consistent, it is considered that the second firmware has passed the check, otherwise the check has failed.
[0187] The server startup method provided in this embodiment directly generates a verification code through a physical line, that is, a pure hardware circuit, which reduces potential errors in the data transmission process. Compared with the software reading method, it is simpler, more stable, reliable, and tamper-proof, and enhances the overall security and data integrity of the system, avoiding security risks that may be introduced by TPM / TCM external cards.
[0188] In some optional implementations, the above step S4013 includes:
[0189] Step e1, comparing the first check code and the second check code bit by bit.
[0190] Step e2, when every bit of the first check code and the second check code are the same, determining that the first comparison result is that the first check code is consistent with the second check code.
[0191] Step e3: when there is at least one bit difference between the first check code and the second check code, determine that the first comparison result is that the first check code and the second check code are inconsistent.
[0192] The server startup method provided in this embodiment can accurately detect the difference between the second verification code of the first firmware and the obtained first verification code by comparing the verification code bit by bit, ensuring that the first firmware verification is determined to have passed only when the second verification code and the first verification code are completely consistent, thereby improving the reliability and accuracy of the first firmware when the server is started.
[0193] In some optional implementations, the above step a3 includes:
[0194] Step a31, comparing the first check code and the third check code bit by bit.
[0195] Step a32, when every bit of the first check code and the third check code are the same, determining that the second comparison result is that the first check code is consistent with the third check code.
[0196] Step a33, when there is at least one bit difference between the first check code and the third check code, determining that the second comparison result is that the first check code and the third check code are inconsistent.
[0197] The server startup method provided in this embodiment can accurately detect the difference between the third verification code of the second firmware and the obtained first verification code by comparing the verification code bit by bit, ensuring that the second firmware verification is determined to have passed only when the third verification code and the first verification code are completely consistent, thereby improving the reliability and accuracy of the second firmware when the server is started.
[0198] In order to make the embodiments of the present invention clearer, a specific embodiment is described below.
[0199] 1) The server is powered on, the A terminal of MUX chip 1 is connected to the B1 terminal, and the CPLD and BMC Flash chip establish an SPI path. The A terminal of MUX chip 2 is connected to the B1 terminal, and the CPLD and BIOS Flash chip establish an SPI path.
[0200] 2) CPLD starts to verify the BMC firmware and controls the green LED1 to flash at a frequency of 1HZ. CPLD parses the verification code information in the BMC firmware through the SPI link and compares it with the verification code read from the verification code generation circuit.
[0201] 3) When the information in step 2) is consistent, CPLD controls LED1 to keep its green light on, indicating that the verification is passed. At the same time, it sends a selection signal 1 to MUX chip 1 to cut off the link between A and B1 of MUX chip 1 and connect the link between A and B2.
[0202] 4) When the information comparison in step 2) is inconsistent, CPLD controls LED1 to light up red, indicating that the verification has failed, and ends the verification process without performing BIOS firmware verification.
[0203] 5) CPLD starts to check the BIOS firmware and controls the green LED2 to flash at a frequency of 1HZ. CPLD parses the check code information in the BIOS firmware through the SPI link and compares it with the check code read from the check code generation circuit.
[0204] 6) When the information in step 5) is consistent, CPLD controls LED2 to light up green, indicating that the verification is passed. At the same time, it sends selection signal 2 to MUX chip 2 to cut off the link between A and B1 of MUX chip 2 and connect the link between A and B2.
[0205] 7) When the information comparison in step 5) is inconsistent, CPLD controls LED2 to make it always red, indicating that the verification has failed, and ends the verification process without performing BMC firmware verification.
[0206] 8) After verification, the server can be safely started.
[0207] If the information comparison in step 2) is consistent and the information comparison in step 5) is consistent, the server can be securely started. That is, the BMC starts the BMC based on the BMC firmware, and the CPU starts the BIOS based on the BIOS firmware.
[0208] The server startup method provided in this embodiment uses simple resistors, LEDs, and a CPLD chip inherent in the mainboard to complete the verification of the BMC firmware and the BIOS firmware, thereby saving the cost of using a TPM / TCM plug-in card.
[0209] In this embodiment, a server startup device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made will not be repeated. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.
[0210] This embodiment provides a server startup device, such as Figure 7 As shown, including:
[0211] The verification module 701 is used to verify the first firmware in the first memory and the second firmware in the second memory after the server is powered on, wherein the first firmware is the firmware of the baseboard management controller and the second firmware is the firmware of the input / output system.
[0212] The first sending module 702 is used to send a first selection signal to the first multiplexer when the first firmware is verified, so that the first multiplexer cuts off the first link between the first memory and the target logic device based on the first selection signal, and connects the second link between the first memory and the baseboard management controller. The baseboard management controller obtains the first firmware based on the second link and starts based on the first firmware.
[0213] The second sending module 703 is used to send a second selection signal to the second multiplexer when the second firmware is verified, so that the second multiplexer cuts off the third link between the second memory and the target logic device based on the second selection signal, and connects the fourth link between the second memory and the central processing unit. The central processing unit obtains the second firmware based on the fourth link and starts the input and output system based on the second firmware.
[0214] In some optional implementations, the verification module 701 includes:
[0215] The first acquisition unit is used to acquire a first verification code.
[0216] The first parsing unit is used to parse the first firmware to obtain a second verification code.
[0217] The first comparison unit is used to compare the first verification code with the second verification code to obtain a first comparison result.
[0218] The first determination unit is configured to determine that the first firmware has passed verification if the first comparison result is that the first verification code is consistent with the second verification code.
[0219] In some optional implementations, the verification module 701 includes:
[0220] The second acquiring unit is used to acquire the first verification code.
[0221] The second parsing unit is used to parse the second firmware to obtain a third verification code.
[0222] The second comparison unit is used to compare the first check code with the third check code to obtain a second comparison result.
[0223] The second determination unit is configured to determine that the second firmware has passed the verification if the second comparison result is that the first verification code is consistent with the third verification code.
[0224] In some optional implementations, the server startup device further includes:
[0225] The first ending execution module is used to end the step of verifying the second firmware in the second memory when the first firmware fails to pass the verification.
[0226] The second ending execution module is used to end the step of verifying the first firmware in the first memory when the second firmware fails to pass the verification.
[0227] In some optional implementations, the server startup device further includes:
[0228] The third sending module is used to send a corresponding lighting signal to the first light-emitting diode based on the verification status of the first firmware to indicate the verification status of the first firmware.
[0229] The fourth sending module is used to send a corresponding lighting signal to the second light-emitting diode based on the verification status of the second firmware to indicate the verification status of the second firmware.
[0230] In some optional implementations, the third sending module includes:
[0231] The first sending unit is used to control the first lighting signal sent to the first light-emitting diode to flip the high and low levels at a first frequency when the verification status of the first firmware is that the first firmware is being verified, so that the state of the first light-emitting diode is a green flashing state, indicating that the first firmware is being verified.
[0232] The second sending unit is used to control the first lighting signal sent to the first light-emitting diode to be low level when the verification status of the first firmware is passed, so that the state of the first light-emitting diode is green and long-on state, indicating that the first firmware verification has passed.
[0233] The third sending unit is used to control the second lighting signal sent to the first light-emitting diode to be low level when the verification status of the first firmware is verification failure, so that the state of the first light-emitting diode is a long red state, indicating that the first firmware verification has failed.
[0234] The fourth sending module includes:
[0235] The fourth sending unit is used to control the third lighting signal sent to the second light-emitting diode to flip the high and low levels at the first frequency when the verification status of the second firmware is that the second firmware is being verified, so that the state of the second light-emitting diode is a green flashing state, indicating that the second firmware is being verified.
[0236] The fifth sending unit is used to control the third lighting signal sent to the second light-emitting diode to be low level when the verification status of the second firmware is passed, so that the state of the second light-emitting diode is green and long-on state, indicating that the second firmware verification has passed.
[0237] The sixth sending unit is used to control the fourth lighting signal sent to the second light-emitting diode to be low level when the verification status of the second firmware is verification failure, so that the state of the second light-emitting diode is red and long-on state, indicating that the second firmware verification has failed.
[0238] In some optional implementations, the first acquisition unit or the second acquisition unit includes:
[0239] The acquisition subunit is used to obtain the level corresponding to each line based on multiple lines connected to the corresponding pins of multiple check codes in the target logic device.
[0240] The third determining unit is used to determine the first check code based on the level corresponding to each line.
[0241] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.
[0242] The server startup device in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.
[0243] The embodiment of the present invention also provides a computer device having the above Figure 7 The server boot device is shown.
[0244] See also Figure 8 , Figure 8 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 8 As shown, the computer device includes: one or more processors 801, memory 802, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Each component utilizes different buses to communicate with each other, and can be installed on a common mainboard or installed in other ways as required. The processor can process the instructions executed in the computer device, including instructions stored in the memory or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Similarly, multiple computer devices can be connected, and each device provides part of the necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 8 A processor 801 is taken as an example.
[0245] The processor 801 may be a central processing unit, a network processor or a combination thereof. The processor 801 may further include a hardware chip. The hardware chip may be a dedicated integrated circuit, a programmable logic device or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable logic gate array, a general purpose array logic or any combination thereof.
[0246] The memory 802 stores instructions executable by at least one processor 801, so that the at least one processor 801 executes the method shown in the above embodiment.
[0247] The memory 802 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 802 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 802 may optionally include a memory remotely arranged relative to the processor 801, and these remote memories may be connected to the computer device 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.
[0248] The memory 802 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid state drive; the memory 802 may also include a combination of the above types of memory.
[0249] The computer device also includes a communication interface 803, which is used for the computer device to communicate with other devices or a communication network.
[0250] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. It can be understood that a computer, a processor, a microprocessor controller, or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor, or hardware, the method shown in the above embodiment is implemented.
[0251] A part of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the existence of the computer program instruction in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc., and accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium accessible to the computer.
[0252] Although the embodiments of the present invention have been described in conjunction with the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations are all within the scope defined by the appended claims.
Claims
1. A server startup method, characterized in that: Applied to a target logic device, the method comprises: After the server is powered on, the first firmware in the first memory and the second firmware in the second memory are verified, wherein the first firmware is the firmware of the baseboard management controller and the second firmware is the firmware of the input and output system; When the first firmware passes the verification, a first selection signal is sent to the first multiplexer, so that the first multiplexer cuts off the first link between the first memory and the target logic device based on the first selection signal, and connects the second link between the first memory and the baseboard management controller, and the baseboard management controller obtains the first firmware based on the second link and starts based on the first firmware; When the second firmware passes the verification, a second selection signal is sent to the second multiplexer, so that the second multiplexer cuts off the third link between the second memory and the target logic device based on the second selection signal, and connects the fourth link between the second memory and the central processing unit. The central processing unit obtains the second firmware based on the fourth link, and starts the input and output system based on the second firmware.
2. The method according to claim 1, characterized in that Verifying the first firmware in the first memory includes: Obtain a first verification code; Parsing the first firmware to obtain a second verification code; Compare the first verification code with the second verification code to obtain a first comparison result; When the first comparison result is that the first verification code is consistent with the second verification code, it is determined that the first firmware verification has passed.
3. The method according to claim 1, characterized in that Verifying the second firmware in the second memory includes: Obtain a first verification code; Parsing the second firmware to obtain a third verification code; Compare the first verification code with the third verification code to obtain a second comparison result; When the second comparison result is that the first verification code is consistent with the third verification code, it is determined that the second firmware verification passes.
4. The method according to claim 1, characterized in that: The method further comprises: If the first firmware fails to pass the verification, the step of verifying the second firmware in the second memory ends; If the second firmware fails the verification, the step of verifying the first firmware in the first memory ends.
5. The method according to claim 1, characterized in that The method further comprises: Based on the verification status of the first firmware, a corresponding lighting signal is sent to the first light emitting diode to indicate the verification status of the first firmware; Based on the verification status of the second firmware, a corresponding lighting signal is sent to the second light emitting diode to indicate the verification status of the second firmware.
6. The method according to claim 5, characterized in that The step of sending a corresponding lighting signal to the first light emitting diode based on the verification state of the first firmware includes: When the verification state of the first firmware is that the first firmware is being verified, controlling the first lighting signal sent to the first light-emitting diode to flip the high and low levels at a first frequency, so that the state of the first light-emitting diode is a green flashing state, indicating that the first firmware is being verified; When the verification state of the first firmware is that the verification has passed, the first lighting signal sent to the first light-emitting diode is controlled to be at a low level, so that the state of the first light-emitting diode is a long green state, indicating that the first firmware has passed the verification; When the verification state of the first firmware is verification failure, controlling the second lighting signal sent to the first light-emitting diode to be low level, so that the state of the first light-emitting diode is red and long-on state, indicating that the first firmware verification has failed; The step of sending a corresponding lighting signal to the second light emitting diode based on the verification state of the second firmware includes: When the verification state of the second firmware is that the second firmware is being verified, controlling the third lighting signal sent to the second light-emitting diode to flip the high and low levels at the first frequency, so that the state of the second light-emitting diode is a green flashing state, indicating that the second firmware is being verified; When the verification state of the second firmware is verification passed, the third lighting signal sent to the second light emitting diode is controlled to be low level, so that the state of the second light emitting diode is green and long-on state, indicating that the second firmware verification has passed; When the verification status of the second firmware is verification failure, the fourth lighting signal sent to the second light emitting diode is controlled to be low level, so that the state of the second light emitting diode is red and long-on state, indicating that the second firmware verification has failed.
7. The method according to claim 2 or claim 3, characterized in that: The obtaining of the first verification code comprises: Based on a plurality of lines correspondingly connected to a plurality of check code acquisition pins in the target logic device, obtaining a level corresponding to each line; Based on the level corresponding to each line, a first check code is determined.
8. A server startup device, characterized in that: The device comprises: A verification module, used for verifying the first firmware in the first memory and the second firmware in the second memory after the server is powered on, wherein the first firmware is the firmware of the baseboard management controller and the second firmware is the firmware of the input and output system; A first sending module is used for sending a first selection signal to a first multiplexer when the first firmware passes the verification, so that the first multiplexer cuts off a first link between the first memory and the target logic device based on the first selection signal, and connects a second link between the first memory and the baseboard management controller, and the baseboard management controller obtains the first firmware based on the second link and starts based on the first firmware; The second sending module is used to send a second selection signal to the second multiplexer when the second firmware is verified, so that the second multiplexer cuts off the third link between the second memory and the target logic device based on the second selection signal and connects the fourth link between the second memory and the central processing unit. The central processing unit obtains the second firmware based on the fourth link and starts the input and output system based on the second firmware.
9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the server startup method according to any one of claims 1 to 7 by executing the computer instructions.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the server startup method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Serial general input / output system
CN111198833A
Server starting method and system, electronic equipment and storage medium
CN111399919A
Server starting management system and method
CN115729647A
Storage unit monitoring system and method of server, electronic equipment and storage medium
CN117215899A
