A management controller, a management controller starting method, device, and storage medium
By setting up a hardware switching module and a memory that communicates with different buses in the management controller, the problem of the management controller failing to start due to system firmware abnormalities or memory failures was solved, and the normal startup and fault repair of the management controller were realized.
Patent Information
- Application Number
- CN202510935056.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-08
- Publication Date
- 2026-01-27
- Estimated Expiration
- 2045-07-08
AI Technical Summary
The management controller fails to start properly when there is a system firmware error or memory failure, resulting in server operation and management failure.
The management controller is equipped with a hardware switching module and two memories that communicate with different buses. The hardware switching module switches the location where the processor loads the firmware, ensuring that the system firmware is loaded from the backup memory.
It effectively ensures the normal startup of the management controller, improves the reliability of system firmware loading and the convenience of fault repair.
Smart Images

Figure CN120429026B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer technology, and in particular to a management controller, a management controller startup method, an apparatus, and a storage medium. Background Technology
[0002] The management controller is a crucial component of a server, playing a vital role in managing and operating the server. In related technologies, if the system firmware itself or the storage device containing the system firmware malfunctions, the management controller will fail to boot, affecting its normal operation. Summary of the Invention
[0003] This invention provides a management controller, a management controller startup method, an apparatus, and a storage medium. The location where the processor loads firmware can be switched via a hardware switching module, which can prevent the management controller from being unable to load the system firmware, thereby effectively ensuring the normal operation of the management controller.
[0004] To address the aforementioned technical problems, the present invention provides a management controller, comprising:
[0005] The system includes a processor, a hardware switching module, a first memory, a second memory, and registers. The processor is connected to the hardware switching module and registers, connected to the first memory via a first bus, and connected to the second memory via a second bus. The first bus and the second bus correspond to different bus communication protocols. Both the first memory and the second memory store system firmware.
[0006] Registers are used to store startup configurations;
[0007] The hardware switching module is used to receive input signals and generate selection signals based on the input signals;
[0008] The processor is configured to, upon power-on startup, adjust the startup configuration in the register according to a selection signal; determine the target memory for loading the system firmware in the first memory and the second memory according to the adjusted startup configuration, and load the system firmware from the target memory.
[0009] The present invention also provides a management controller startup method, applied to the aforementioned management controller, the method comprising:
[0010] Upon power-on startup, acquire the selection signal generated by the hardware switching module;
[0011] The startup configuration in the register is adjusted according to the selection signal;
[0012] The target memory for loading the system firmware is determined in the first and second memories based on the adjusted boot configuration, and the system firmware is loaded from the target memory.
[0013] The present invention also provides a management controller startup device, applied to the aforementioned management controller, the device comprising:
[0014] The acquisition module is used to acquire the selection signal generated by the hardware switching module during power-on startup;
[0015] The startup configuration adjustment module is used to adjust the startup configuration in the register according to the selection signal;
[0016] The loading module is used to determine the target memory for loading the system firmware in the first memory and the second memory according to the adjusted boot configuration, and to load the system firmware from the target memory.
[0017] The present invention also provides a non-volatile computer-readable storage medium storing computer-executable instructions, which, when loaded and executed by a processor, implement the above-described management controller startup method.
[0018] The beneficial effects of this invention are as follows: The management controller of this invention can be equipped with a hardware switching module, a first memory, a second memory, and registers. The processor in the management controller is connected to the hardware switching module and registers, and is connected to the first memory via a first bus and to the second memory via a second bus. The first bus and the second bus correspond to different bus communication protocols. The hardware switching module can receive input signals and generate selection signals based on the input signals. Upon power-on, the processor can adjust the startup configuration in the register according to the selection signal, and determine the target memory for loading the system firmware in the first and second memories based on the adjusted startup configuration, and then load the system firmware from the target memory. Thus, this invention can switch the location where the processor loads the firmware via the hardware switching module, thereby effectively ensuring the normal startup of the management controller.
[0019] The present invention also provides a method, apparatus, and storage medium for starting a management controller, which have the above-mentioned beneficial effects. Attached Figure Description
[0020] To more clearly illustrate the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0021] Figure 1 This is a structural block diagram of a management controller provided in an embodiment of the present invention;
[0022] Figure 2 A flowchart illustrating a management controller startup method provided in an embodiment of the present invention;
[0023] Figure 3 A flowchart of a management controller startup process provided in an embodiment of the present invention;
[0024] Figure 4 This is a structural block diagram of a management controller startup device provided in an embodiment of the present invention. Detailed Implementation
[0025] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the protection scope of the present invention.
[0026] It should be noted that, in the description of this invention, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. The terms "first," "second," etc., used in this invention are used to distinguish similar objects and are not used to describe a specific order or sequence.
[0027] To enable those skilled in the art to better understand the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0028] The management controller is a crucial component of a server, playing a vital role in managing its operation. Common management controllers include Baseboard Management Controllers (BMCs), iLO (Integrated Lights-out, remote management port), iDRAC (Integrated Dell Remote Access Controller), and others. In related technologies, if the system firmware itself malfunctions or the storage device containing the system firmware fails, the management controller will fail to boot, and the user will find it difficult to pinpoint the cause of the failure.
[0029] In view of this, to address the technical problem of how to ensure that the management controller can load the system firmware normally and avoid the management controller failing to start normally due to system firmware abnormalities or memory failures, the present invention provides a management controller that can be equipped with a hardware switching module and two memories that communicate using different buses. The hardware switching module can switch the memory location where the processor loads the firmware, thereby effectively ensuring the normal operation of the management controller.
[0030] For easier understanding, please refer to Figure 1 , Figure 1 This is a structural block diagram of a management controller provided in an embodiment of the present invention. The management controller may include:
[0031] The system comprises a processor 1, a hardware switching module 2, a first memory 3, a second memory 4, and a register 7. The processor 1 can connect to the hardware switching module 2 and register 7, and is connected to the first memory 3 via a first bus 5 and to the second memory 4 via a second bus 6. The first bus 5 and the second bus 6 correspond to different bus communication protocols. Both the first memory 3 and the second memory 4 store system firmware.
[0032] It should be noted that this embodiment does not limit the specific bus communication protocol used by the first bus 5 and the second bus 6, and can be set according to actual application requirements. In one embodiment, the first bus 5 can be an SPI bus (Serial Peripheral Interface) and communicate based on the SPI protocol; the second bus 6 can be a MIPIM-PHY bus (Mobile Industry Processor Interface). This embodiment also does not limit the specific types of the first memory 3 and the second memory 4, and can be set according to actual application requirements. In one embodiment, the first memory 3 can be SPI non-volatile flash memory (SPI Nor Flash), and the second memory 4 can be UFS memory (Universal Flash Storage).
[0033] Furthermore, this embodiment does not limit the specific form of the hardware switching module 2, and it can be set according to actual application requirements. For example, the hardware switching module 2 can be a hardware switch or a hardware circuit capable of generating a level signal.
[0034] Furthermore, this embodiment does not limit the specific form of register 7, as long as it can store the startup configuration of the management controller, such as an OTP register (One Time Programmable).
[0035] The following are the specific uses of hardware switching module 2, processor 1, and registers:
[0036] Register 7 is used to store the startup configuration.
[0037] Hardware switching module 2 is used to receive input signals and generate selection signals based on the input signals.
[0038] Processor 1 is configured to, upon power-on startup, adjust the startup configuration in the register according to a selection signal; determine the target memory for loading the system firmware in the first memory and the second memory according to the adjusted startup configuration, and load the system firmware from the target memory.
[0039] In this embodiment, the hardware switching module 2 receives an input signal and generates a selection signal based on the input signal. This input signal is a signal input by the user to the hardware switching module 2, and can be implemented by manipulating the structure within the hardware switching module 2. For example, when the hardware switching module 2 is a hardware switch, the user can input a signal by adjusting the switch's opening and closing; when the hardware switching module 2 is a circuit, the user can input a signal by inputting a level signal to the circuit. The selection signal can have two signal values, corresponding to the first memory 3 and the second memory 4, respectively. Register 7 stores a boot configuration, which is used to start the management controller. This boot configuration includes at least a boot location value, indicating which memory to load the system firmware from. Furthermore, when the processor 1 powers on, it first obtains this selection signal, then adjusts the boot configuration in the register according to the selection signal. Based on the adjusted boot configuration, it determines the target memory for loading the firmware in the first memory 3 and the second memory 4, and loads the system firmware from the target memory. For example, when the selection signal is the first signal value, the processor 1 can load the system firmware in the first memory 3 according to the adjusted startup configuration; when the selection signal is the second signal value, the processor 1 can load the system firmware in the second memory 4 according to the adjusted startup configuration.
[0040] It is worth noting that, since the first memory 3 can be connected to the processor 1 via the first bus 5 and the second memory 4 can be connected to the processor 1 via the second bus 6, and the first bus 5 and the second bus 6 are different communication links and based on different bus communication protocols, the processor 1 can load system firmware from different memories via different buses, and the firmware loading location can be flexibly adjusted by the hardware switching module 2, thereby improving the reliability of system firmware loading.
[0041] For example, in one embodiment, the first memory 3 is the main memory, storing the main system firmware; the second memory 4 is the backup memory, storing the backup system firmware. When the main system firmware is corrupted, the first memory 3 fails, or the first bus 5 fails, the user can send a selection signal to switch to the second memory 4 via the hardware switching module 2. The processor 1 can then load the backup system firmware from the second memory 4 via the second bus 6 based on this selection signal. Thus, even when the main system firmware is corrupted, the first memory 3 fails, or the first bus 5 fails, the processor 1 can still load the backup system firmware from other memories via other buses. This avoids the limitation of the management controller being unable to load system firmware due to main system firmware corruption, memory failure, or bus failure, effectively ensuring the normal startup of the management controller.
[0042] In another implementation, the hardware switching module 2 is a hardware switch. In this case, the processor 1 can also be used for:
[0043] When the hardware switch is in the first state, the boot position value in the boot configuration will be adjusted to the first value;
[0044] When the hardware switch is in the second state, adjust the startup position value to the second value;
[0045] When the startup location value is the first value, the system firmware is loaded from the first memory 3;
[0046] When the startup location value is the second value, the system firmware is loaded from the second memory 4.
[0047] In this embodiment, the hardware switching module 2 can be in the form of a hardware switch. The user can then adjust the state of the hardware switch by turning it on / off, guiding the processor to adjust the boot location value in the boot configuration, and thus guiding the processor to load the system firmware from different memories.
[0048] It should be noted that this embodiment does not limit the specific first state and second state, and can be set according to actual application requirements. For example, the first state can be the switch on state and the second state can be the switch off state; or the first state can be the switch off state and the second state can be the switch on state.
[0049] Based on the above embodiments, the management controller startup method provided by the present invention will be described below. Please refer to... Figure 2 , Figure 2 This is a flowchart illustrating a management controller startup method provided in an embodiment of the present invention. The method is applied to the aforementioned management controller. This method may include:
[0050] S201. Upon power-on startup, acquire the selection signal generated by the hardware switching module.
[0051] In this step, when the processor in the management controller powers on, it first needs to obtain the selection signal generated by the hardware switching module in order to determine from which memory location to load the system firmware.
[0052] It should be noted that this embodiment does not limit the specific form of the selection signal, as it depends on the specific form of the hardware switching module. For example, when the hardware switching module is a hardware switch, the selection signal can be a switch state; when the hardware switching module is a circuit, the selection signal can also be a level signal.
[0053] S202. Adjust the startup configuration in the register according to the selection signal.
[0054] In this step, the processor needs to adjust the boot configuration in the register according to the selection signal mentioned above, so as to enter the subsequent system firmware loading process according to the adjusted boot configuration. The boot configuration must at least contain a boot location value, indicating from which memory the system firmware will be loaded. The following describes the process of adjusting the processor boot configuration using a specific hardware switching module as an example:
[0055] Based on this, the hardware switching module is a hardware switch; adjusting the startup configuration in the register according to the selection signal can include:
[0056] Step 11: When the hardware switch is in the first state, adjust the startup position value in the startup configuration to the first value;
[0057] Step 12: When the hardware switch is in the second state, adjust the startup position value to the second value.
[0058] In steps 11-12, when the boot position value is the first value, it indicates that the system firmware needs to be loaded from the first memory. When the boot position value is the second value, it indicates that the system firmware needs to be loaded from the second memory. This embodiment does not limit the specific values of the first and second values; for example, the first value can be 0 and the second value can be 1. Furthermore, when it is determined that the hardware switch is in the first state, the register value is adjusted to the first value; when it is determined that the hardware switch is in the second state, the register value is adjusted to the second value. This embodiment also does not limit the specific first and second states; for example, the first state can be the switch-on state and the second state can be the switch-off state; or, for example, the first state can be the switch-off state and the second state can be the switch-on state.
[0059] S203. Determine the target memory for loading the system firmware in the first memory and the second memory according to the adjusted boot configuration, and load the system firmware from the target memory.
[0060] In this step, the processor of the management controller can determine the target memory for loading the system firmware from the first and second memories based on the adjusted boot configuration, and load the system firmware from the target memory. This allows the user to flexibly switch the location where the management controller loads the system firmware via a hardware switching module. In the event of a single memory location or a single system firmware failure, this ensures that the management controller can load the system firmware from another memory location, guaranteeing the normal startup of the management controller.
[0061] The following describes the process by which the processor determines the system firmware loading location:
[0062] Based on this, determining the target memory for loading the system firmware in the first and second memories according to the adjusted boot configuration, and loading the system firmware from the target memory, may include:
[0063] Step 21: When the boot location value is the first value, load the system firmware from the first memory;
[0064] Step 22: When the boot location value is the second value, load the system firmware from the second memory.
[0065] Based on the above embodiments, the management controller of the present invention can be equipped with a hardware switching module, a first memory, a second memory, and registers. The processor in the management controller is connected to the hardware switching module and registers, and is connected to the first memory via a first bus and to the second memory via a second bus. The first bus and the second bus correspond to different bus communication protocols. The hardware switching module can receive input signals and generate selection signals based on the input signals. Upon power-on, the processor can adjust the startup configuration in the register according to the selection signal, and determine the target memory for loading the firmware in the first and second memories based on the adjusted startup configuration, and load the system firmware from the target memory. In this way, the present invention can switch the location where the processor loads the firmware via the hardware switching module, thereby effectively ensuring the normal startup of the management controller.
[0066] Based on the above embodiments, as described above, this embodiment can regard the first memory as the main memory and store the main system firmware, while the second memory is regarded as the backup memory and stores the backup system firmware. Furthermore, the management controller generally boots from the first memory; in the event of a failure in the first memory or the main system firmware, the user can use a hardware switching module to switch the management controller to load the backup system firmware from the second memory. The method by which the management controller loads system firmware from the second memory is described below. In one embodiment, the second memory may contain a boot partition and a regular partition; loading system firmware from the second memory may include:
[0067] S401. Load the bootloader from the boot partition.
[0068] S402: Load the operating system kernel from a regular partition using a bootloader.
[0069] In this embodiment, the second memory can be divided into a boot partition and a regular partition according to the boot requirements of the management controller. The boot partition is used to store the boot loader (such as U-boot), while the regular partition is used to store the operating system content (such as the Linux kernel). Therefore, when loading the system firmware, the management controller first needs to load the boot loader from the boot partition, and then use the boot loader to load the operating system kernel from the regular partition.
[0070] To further understand the startup process of the management controller, please refer to [link / reference]. Figure 3 , Figure 3 This is a flowchart illustrating a management controller startup process provided in an embodiment of the present invention. The process may include: 1. Hardware reset; 2. Power and peripheral initialization; 3. Boot ROM execution; 4. Bootloader loading; 5. Bootloader initialization; 6. Kernel loading; 7. Kernel initialization; 8. System service startup. The operation of reading the selection signal must be performed before the "Boot ROM execution" step.
[0071] Furthermore, after booting through the second memory, the management controller can detect the first memory, the first bus, and the system firmware in the first memory.
[0072] Based on this, after loading the system firmware from the second memory, it may also include:
[0073] Step 31: After the system firmware in the second memory is loaded, the first bus is tested.
[0074] Step 32: When it is determined that the first bus has failed the test, the fault of the first bus is logged.
[0075] Step 33: When it is determined that the first bus has passed the test, the system firmware in the first memory is tested.
[0076] Step 34: When it is determined that the system firmware is corrupted, repair the system firmware in the first memory.
[0077] In this embodiment, the first bus can be tested first to determine if the management controller is unable to load the system firmware from the first memory due to a hardware issue. This embodiment does not limit the testing method for the first bus; relevant technologies can be consulted. If the first bus is determined to be faulty, it can be logged for user troubleshooting. If the first bus is determined not to be faulty, the system firmware in the first memory can be tested to determine if the inability to boot is due to firmware corruption. This embodiment does not limit how the system firmware is tested; for example, the integrity of the system firmware can be tested. If the system firmware in the first memory is determined to be corrupted, it can be repaired. Specifically, since the management controller can boot normally based on the system firmware in the second memory, this embodiment can use the system firmware in the second memory to repair the system firmware in the first memory, thereby improving the ease of system firmware repair.
[0078] Based on this, repairing the system firmware in the first memory may include:
[0079] Step 41: Repair the system firmware in the first memory using the system firmware in the second memory.
[0080] The following details the specific methods for setting up the boot partition, regular partition, and system firmware in the second memory. Based on this, after loading the system firmware from the first memory, it may also include:
[0081] Step 51: After the system firmware in the first memory is loaded, set up a boot partition and a regular partition in the second memory.
[0082] Step 52: Write the bootloader to the boot partition and the operating system kernel to the normal partition.
[0083] In steps 51 and 52, when the management controller can boot normally from the first memory, this embodiment can set up a boot partition and a regular partition in the second memory. For example, a 16GB LUN0 (Logical Unit Number) can be allocated as a regular partition in the first memory, and a 4MB LUN1 can be allocated as a boot partition. Furthermore, to improve the reliability of the boot partition, this embodiment can set up two boot partitions in the first memory: LUN1 (primary boot partition) and LUN2 (backup boot partition). This way, if one boot partition becomes corrupted, the system kernel can be booted through the other boot partition. It should be noted that this embodiment does not limit how the primary and backup boot partitions are switched; for example, the user can manually switch between LUN1 and LUN2. As another example, when the management controller loads the system image from the second memory, it can prioritize loading the bootloader from the primary boot partition and can record the boot time based on a timer hardware. If the boot time exceeds a preset threshold, the management controller triggers a restart and switches to loading the bootloader from the backup boot partition.
[0084] Based on the above embodiments, the management controller startup method described above will be fully described below with specific examples. In one implementation, the management controller is a BMC, the first memory is SPI nor Flash, and the second memory is UFS memory. This method may include the following steps:
[0085] 1. Partition the UFS storage in advance and choose which LUN to create as a regular LUN or a boot LUN.
[0086] Create a 16GB LUN0 as the user partition, and create two 4MB LUN1 and LUN2 as boot partitions.
[0087] 2. The BMC kernel driver initializes and configures the UFS memory.
[0088] 3. Burn firmware into the UFS storage while the BMC is running normally.
[0089] - Download the bootloader image "image u-boot" separately to LUN 1 and LUN 2.
[0090] Download the kernel image to LUN 0.
[0091] This step requires extracting the UFS image and manually calculating the image sectors. Users can update their user LUN in the next step using wic.gz-image.
[0092] 4. There is a hardware switch that determines whether to boot from SPI nor flash or UFS, with the boot image stored on a specific partition. Enable UFS booting for uboot.
[0093] 5. Restart BMC, and the image will automatically boot from UFS.
[0094] 6. After the image starts, collect logs and investigate the cause of the problem.
[0095] 7. If it is determined that there is no hardware malfunction and the problem is only due to the image, then the image in the SPI NOR flash can be refreshed again.
[0096] 8. If the problem is caused by an SPI bus malfunction, the malfunction should be logged to ensure the current business can continue to operate normally. Once conditions permit, the equipment should be repaired to avoid affecting business operations.
[0097] 9. Once the machine is in a completely normal state, restore the start button to boot from SPI nor flash and log the process.
[0098] This restores BMC to normal operation.
[0099] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method.
[0100] Please refer to Figure 4 , Figure 4 This invention provides a structural block diagram of a management controller startup device, which is applied to the aforementioned management controller and may include:
[0101] The acquisition module 401 is used to acquire the selection signal generated by the hardware switching module during power-on startup;
[0102] The startup configuration adjustment module 402 is used to adjust the startup configuration in the register according to the selection signal;
[0103] The loading module 403 is used to determine the target memory for loading the system firmware in the first memory and the second memory according to the adjusted boot configuration, and to load the system firmware from the target memory.
[0104] Optionally, the hardware switching module is a hardware switch;
[0105] The startup configuration adjustment module 402 can be used for:
[0106] When the hardware switch is in the first state, the boot position value in the boot configuration is adjusted to the first value; when the hardware switch is in the second state, the boot position value is adjusted to the second value.
[0107] Loading module 403 can be used for:
[0108] When the boot location value is the first value, the system firmware is loaded from the first memory; when the boot location value is the second value, the system firmware is loaded from the second memory.
[0109] Optionally, the second memory includes a boot partition and a regular partition; the firmware loading submodule includes:
[0110] The bootloader loading unit is used to load the bootloader from the boot partition;
[0111] The system kernel loading unit is used to load the operating system kernel from a regular partition using a bootloader.
[0112] Optionally, the device may further include:
[0113] The partitioning module is used to set up a boot partition and a regular partition in the second memory after the system firmware in the first memory has been loaded.
[0114] The burning module is used to write the bootloader to the boot partition and the operating system kernel to the normal partition.
[0115] Optionally, the device may further include:
[0116] The bus detection module is used to detect the first bus after the system firmware in the second memory has been loaded; when it is determined that the first bus fails the test, the fault of the first bus is logged.
[0117] The firmware detection module is used to detect the system firmware in the first memory when it is determined that the first bus has passed the detection; and to repair the system firmware in the first memory when it is determined that the system firmware is damaged.
[0118] Optionally, the firmware detection module may include:
[0119] The firmware repair submodule is used to repair the system firmware in the first memory using the system firmware in the second memory.
[0120] For a description of the features in the embodiment corresponding to the management controller startup device, please refer to the relevant description in the embodiment corresponding to the management controller startup method, which will not be repeated here.
[0121] Embodiments of the present invention also provide a computer-readable storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above-described management controller startup method embodiments when it is run.
[0122] In one exemplary embodiment, the aforementioned computer-readable storage medium may include, but is not limited to, various media capable of storing computer programs, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard disk, magnetic disk, or optical disk.
[0123] Embodiments of the present invention also provide a computer program product, which includes a computer program that, when executed by a processor, implements the steps in any of the above-described management controller startup method embodiments.
[0124] Embodiments of the present invention also provide another computer program product, including a non-volatile computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps in any of the above-described management controller startup method embodiments.
[0125] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementations should not be considered beyond the scope of this invention.
[0126] The above provides a detailed description of the management controller, management controller startup method, apparatus, and storage medium provided by the present invention. Specific examples have been used to illustrate the principles and implementation methods of the present invention. The descriptions of the embodiments above are merely for the purpose of helping to understand the method and core ideas of the present invention. It should be noted that those skilled in the art can make various improvements and modifications to the present invention without departing from its principles, and these improvements and modifications also fall within the protection scope of the present invention.
Claims
1. A management controller, characterized in that, include: The system includes a processor, a hardware switching module, a first memory, a second memory, and registers. The processor is connected to the hardware switching module and the registers, connected to the first memory via a first bus, and connected to the second memory via a second bus. The first bus and the second bus are different communication links, and the first bus and the second bus correspond to different bus communication protocols. Both the first memory and the second memory store system firmware. The register is used to store the startup configuration; The hardware switching module is used to receive input signals and generate selection signals based on the input signals; the input signals are signals input by the user to the hardware switching module, and the user realizes signal input by operating the structure in the hardware switching module; The processor is configured to, upon power-on startup, adjust the startup configuration in the register according to the selection signal; determine the target memory for loading system firmware in the first memory and the second memory according to the adjusted startup configuration; and load the system firmware from the target memory based on the bus between the processor and the target memory and the bus communication protocol corresponding to the bus. The processor is further configured to: detect the first bus after the system firmware in the second memory has been loaded; log the fault of the first bus when it is determined that the first bus has failed the detection; detect the system firmware in the first memory when it is determined that the first bus has passed the detection; and repair the system firmware in the first memory when it is determined that the system firmware is damaged.
2. The management controller according to claim 1, characterized in that, The hardware switching module is a hardware switch; The processor is further configured to adjust the startup position value in the startup configuration to a first value when the hardware switch is in a first state; and to adjust the startup position value to a second value when the hardware switch is in a second state. When the boot location value is the first value, the system firmware is loaded from the first memory; when the boot location value is the second value, the system firmware is loaded from the second memory.
3. A method for starting a management controller, characterized in that, Applied to the management controller as described in claim 1 or 2, the method includes: Upon power-on startup, a selection signal generated by the hardware switching module is acquired. The hardware switching module generates the selection signal based on an input signal, which is a signal input by the user to the hardware switching module. The user inputs the signal by operating the structure in the hardware switching module. The startup configuration in the register is adjusted according to the selection signal; The system firmware is loaded from the first memory and the second memory according to the adjusted boot configuration. The processor of the management controller is connected to the first memory via a first bus and to the second memory via a second bus. The first bus and the second bus are different communication links and correspond to different bus communication protocols. After the system firmware in the second memory is loaded, the first bus is detected; When it is determined that the first bus fails the test, the fault of the first bus is logged. When it is determined that the first bus has passed the detection, the system firmware in the first memory is detected; When it is determined that the system firmware is corrupted, the system firmware in the first memory is repaired.
4. The management controller startup method according to claim 3, characterized in that, The hardware switching module is a hardware switch; Adjusting the startup configuration in the register according to the selection signal includes: When the hardware switch is in the first state, the startup position value in the startup configuration is adjusted to the first value; When the hardware switch is in the second state, the startup position value is adjusted to the second value; Based on the adjusted boot configuration, a target memory for loading the system firmware is determined in the first and second memories, and the system firmware is loaded from the target memory, including: When the startup location value is the first value, the system firmware is loaded from the first memory; When the startup location value is the second value, the system firmware is loaded from the second memory.
5. The management controller startup method according to claim 4, characterized in that, The second memory contains a boot partition and a regular partition; Loading the system firmware from the second memory includes: Load the bootloader from the boot partition; The operating system kernel is loaded from the ordinary partition using the bootloader.
6. The management controller startup method according to claim 5, characterized in that, After loading the system firmware from the first memory, the process further includes: After the system firmware in the first memory is loaded, the boot partition and the normal partition are set in the second memory; The bootloader is written to the boot partition, and the operating system kernel is written to the normal partition.
7. The management controller startup method according to claim 5, characterized in that, The boot partition includes a primary boot partition and a backup boot partition.
8. A management controller start-up device, characterized in that, Applied to the management controller as described in claim 1 or 2, the device comprises: The acquisition module is used to acquire the selection signal generated by the hardware switching module when the power is on; the hardware switching module generates the selection signal according to the input signal, the input signal being the signal input by the user to the hardware switching module, and the user realizes the signal input by operating the structure in the hardware switching module; A startup configuration adjustment module is used to adjust the startup configuration in the register according to the selection signal; The loading module is used to determine the target memory for loading system firmware in the first memory and the second memory according to the adjusted boot configuration, and load the system firmware from the target memory; the processor of the management controller is connected to the first memory through a first bus and to the second memory through a second bus, the first bus and the second bus are different communication links, and the first bus and the second bus correspond to different bus communication protocols; The bus detection module is used to detect the first bus after the system firmware in the second memory has been loaded; when it is determined that the first bus fails the detection, the fault of the first bus is logged. The firmware detection module is used to detect the system firmware in the first memory when it is determined that the first bus has passed the detection; and to repair the system firmware in the first memory when it is determined that the system firmware is damaged.
9. A non-volatile computer-readable storage medium, characterized in that, The non-volatile computer-readable storage medium stores computer-executable instructions, which, when loaded and executed by a processor, implement the management controller startup method as described in any one of claims 3 to 7.
Citation Information
Patent Citations
Firmware program starting method and system, storage medium and equipment
CN115658157A
Firmware switching use method and device and medium
CN116909633A