An Embedded BMC Software Construction Method

By using an embedded BMC software construction method, the problems of high maintenance costs and severe coupling in traditional BMC software are solved. Modular design and efficient resource management are achieved, improving the system's flexibility and security, and supporting remote management.

CN119718274BActive Publication Date: 2025-10-31EAST CHINA INST OF COMPUTING TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411921250.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-25
Publication Date
2025-10-31
Estimated Expiration
2044-12-25

AI Technical Summary

Technical Problem

Traditional BMC software is costly to maintain and its components are heavily coupled. It relies on the operating system and BMC chip architecture, making it difficult to port and consuming a lot of resources.

Method used

By adopting an embedded BMC software construction method, this solution provides an integrated solution by configuring the hardware architecture, compiling the bootloader, integrating the hardware support package, configuring the kernel loading path and boot channel, disabling pin function multiplexing module mapping, and loading the BMC management software module.

Benefits of technology

It achieves modular design, improves the ease of software maintenance and hardware compatibility, enhances system flexibility and security, reduces the risk of resource conflicts, supports remote management and monitoring functions, and adapts to different platforms.

✦ Generated by Eureka AI based on patent content.
Patent Text Reader

Abstract

This invention proposes an embedded BMC software construction method, providing a specially designed and verified operating system kernel for the BMC chip, and supporting the addition of various debugging tools and complex applications, thus increasing the operability of the porting process. The kernel's execution steps can be displayed using disassemblers and various JTAG tools, enhancing the modularity and systematization of the software solution construction work.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of BMC chip technology, and more specifically to an embedded BMC software construction method. Background Technology

[0002] BMC chips are a general term for a class of specialized server management chips, which connect to server chips and peripheral devices on the server motherboard through various physical paths. BMC software refers to the server management software running on the BMC chip. It undertakes the core functions of intelligent solutions during server management and provides a software interface for system users. BMC software is built on the IPMI / Redfish protocol stack and uses low-level interfaces such as I2C / LPC / PCIe to access specific sensor registers and various system records.

[0003] Existing BMC software construction methods are divided into pure software-based construction methods, such as VNC remote desktop, and hardware-software integrated construction methods based on embedded platforms, such as AMI.

[0004] Currently, among existing BMC software development methodologies, pure software-based approaches are resource-intensive due to their incremental development process and reliance on the operating system; while embedded platform-based integrated hardware and software approaches depend on the hardware platform and BMC chip architecture, making portability extremely difficult, and resulting in severe coupling between components and high code refactoring complexity. These traditional methods have significant drawbacks, high maintenance costs, and the coupling between BMC software modules worsens with development time. Therefore, a BMC software development method that is easy to maintain and offers high hardware and software replaceability is needed. Summary of the Invention

[0005] The technical problems that the present invention needs to solve are: 1. The high maintenance cost and severe coupling between various parts of traditional BMC software; 2. The dependence of traditional BMC software on the operating system and BMC chip architecture during construction.

[0006] To address the aforementioned technical problems, the present invention provides a method for constructing embedded BMC software.

[0007] Configure the hardware architecture of the target platform and compile the bootloader, integrate the hardware support package for the bootloader to correctly identify and initialize the hardware, and burn the integrated bootloader into the boot storage medium corresponding to the target device of the target platform.

[0008] In the boot storage medium, configure the pin function multiplexing module in the bootloader. The pin function multiplexing module is used to set the specific parameters of pin multiplexing and to ensure that the pin function multiplexing module is active when the kernel starts.

[0009] In the boot storage medium, configure the kernel boot channel within the bootloader. The kernel boot channel is used to set the kernel load path for the kernel to be correctly loaded from the storage medium.

[0010] Configure the kernel source code, version, and hardware drivers according to the target platform; configure kernel options and compile kernel code according to the hardware characteristics of the target platform to generate the kernel mapping file corresponding to the target platform; and compile kernel modules and drivers according to the kernel startup file.

[0011] After self-test and hardware initialization, the bootloader loads and starts the kernel mapping file through the kernel boot channel, kernel modules and drivers. The bootloader passes kernel boot parameters. After the kernel starts, it initializes hardware resources and begins loading system services.

[0012] After the kernel is loaded, configure the kernel to disable the mapping of the pin function multiplexing module, while keeping the function of the pin function multiplexing module unchanged;

[0013] Select and load the BMC management software module according to your needs. The BMC management software module includes protocol stacks such as IPMI and Redfish, configures the interface between kernel services and hardware devices, and starts the BMC management software module in the kernel to realize the management of the hardware platform.

[0014] Preferably, the bootloader includes initialization hardware settings for the CPU, memory, peripherals, etc.

[0015] Preferably, the boot storage medium includes flash memory and eMMC.

[0016] Preferably, the configuration steps for the kernel loading path are as follows:

[0017] Configure the kernel load path and set the location of the kernel image in the bootloader;

[0018] Configure the device tree used to identify hardware resources and kernel initialization information.

[0019] Preferably, the hardware features include CPU architecture, memory size, and peripheral support, and the kernel options include preemptive kernel and hardware interrupt support.

[0020] This invention proposes an embedded BMC software construction method, providing a specially designed and verified operating system kernel for the BMC chip, and supporting the addition of various debugging tools and complex applications, thus increasing the operability of the porting process. The kernel's execution steps can be displayed using disassembly and various JTAG tools, enhancing the modularity and systematization of the software solution construction work. Detailed Implementation

[0021] The present invention will be further illustrated below with reference to specific embodiments. It should be understood that these embodiments are for illustrative purposes only and are not intended to limit the scope of the invention. Furthermore, it should be understood that after reading the teachings of this invention, those skilled in the art can make various alterations or modifications to the invention, and these equivalent forms also fall within the scope defined by the appended claims.

[0022] The relevant terms and concepts used in the embodiments of this invention are as follows:

[0023] BMC: A small operating system (or device) that operates independently of the server system and is used to manage the server system. Its full English name is "Baseboard Management Controller".

[0024] IPMI: Intelligent Platform Management Interface, which allows monitoring of the physical health characteristics of servers.

[0025] An embedded BMC software construction method provided by an embodiment of the present invention includes the following steps:

[0026] 1. Compile the bootloader

[0027] • Objective: To generate a bootloader suitable for the target platform.

[0028] ·operate:

[0029] a. Determine the hardware architecture of the target platform.

[0030] b. Configure and compile the bootloader, including initializing hardware settings (such as CPU, memory, peripherals, etc.).

[0031] c. Integrate the necessary Hardware Support Package (BSP) to ensure that the bootloader can correctly identify and initialize the hardware.

[0032] d. Burn the bootloader to the target device's boot storage medium (such as flash memory, eMMC, etc.).

[0033] 2. Enable and configure the pin function multiplexing module in the bootloader.

[0034] • Objective: Configure pin function multiplexing in the bootloader to protect the existing functionality of the pins after kernel startup.

[0035] ·operate:

[0036] a. Configure the pin function multiplexing module in the bootloader to ensure that the pin functions can be adjusted as needed.

[0037] b. Set specific parameters for pin multiplexing to ensure that pin functions can be correctly identified and configured during the boot process.

[0038] c. Ensure that the pin function multiplexing module is active during the boot phase to provide the necessary hardware support for subsequent kernel startup.

[0039] 3. Establish a kernel boot channel in the bootloader.

[0040] • Objective: To establish a boot channel from the bootloader to the kernel, ensuring that the kernel can be correctly loaded from the specified storage medium.

[0041] ·operate:

[0042] a. Configure the kernel load path in the bootloader and set the location of the kernel image.

[0043] b. Configure the device tree to correctly identify hardware resources and kernel initialization information.

[0044] c. Ensure the bootloader supports multiple storage media (such as SD card, flash memory, network, etc.) to flexibly load the kernel image.

[0045] 4. Compile kernel code

[0046] • Objective: To compile an operating system kernel adapted for the target platform.

[0047] ·operate:

[0048] a. Configure the kernel source code, select the appropriate kernel version, and enable the required hardware drivers.

[0049] b. Configure kernel options (such as preemptive kernel, hardware interrupt support, etc.) according to the hardware characteristics of the target platform (such as CPU architecture, memory size, peripheral support, etc.).

[0050] c. Compile the kernel code and generate a kernel image file suitable for the target platform.

[0051] d. Compile kernel modules and drivers to ensure that all peripherals on the platform are correctly supported.

[0052] 5. Boot the kernel using the bootloader.

[0053] • Objective: To boot the kernel using a bootloader.

[0054] ·operate:

[0055] a. After the bootloader completes self-test and hardware initialization, it loads and starts the kernel image.

[0056] b. The bootloader passes kernel boot parameters (such as device tree, memory address, etc.).

[0057] c. After the kernel starts, it initializes hardware resources and begins loading system services.

[0058] 6. Disable the mapping pin function multiplexing module in the kernel.

[0059] • Objective: To disable the mapping pin function multiplexing module after kernel startup in order to protect the existing functions of the pins and ensure the safe operation of the BMC.

[0060] ·operate:

[0061] a. After the kernel is loaded, configure the kernel to disable the mapping of pin function multiplexing modules.

[0062] b. Ensure that the pin functions remain unchanged to avoid accidental modification of pin functions due to kernel operations.

[0063] c. Through kernel configuration, ensure that the pin function multiplexing module is not activated during system operation, thereby ensuring the security and stability of the BMC.

[0064] 7. Run BMC applications within the kernel.

[0065] • Objective: To run BMC application software on the kernel to manage the hardware platform.

[0066] ·operate:

[0067] a. Select and load the BMC management software module (such as IPMI, Redfish, or other protocol stacks) according to requirements.

[0068] b. Configure the interfaces between kernel services and hardware devices, including sensors, controllers, etc.

[0069] c. Start the relevant BMC services in the kernel, such as temperature monitoring, voltage acquisition, and logging.

[0070] d. Launch the user-space application to provide remote management, monitoring, configuration and other functions.

[0071] 8. Generate and solidify an integrated solution.

[0072] • Objective: To generate a deployable BMC software solution and embed it into the device.

[0073] ·operate:

[0074] a. Package all compiled kernel images, bootloaders, applications, and configuration files into a single solution.

[0075] b. Imprint the BMC software solution onto the target hardware's storage medium to ensure that the solution can be loaded and run when the system boots up.

[0076] c. Test the system's functionality and stability to ensure it can run smoothly on different platforms and hardware architectures.

[0077] d. Further customize and optimize the solution as needed to adapt to specific application scenarios or hardware platforms.

[0078] 9. Deployment and Verification

[0079] • Objective: Deploy the BMC software solution to the production environment and perform functional verification.

[0080] ·operate:

[0081] a. Deploy the finalized BMC solution onto the target server or embedded platform.

[0082] b. Conduct comprehensive system testing to verify that the BMC software can operate normally and complete the predetermined management tasks.

[0083] c. Based on test feedback, adjust and optimize the system configuration to ensure that high reliability and high performance requirements are met.

[0084] d. Continuously monitor the BMC's operating status in the actual use environment to ensure its long-term stability and security.

[0085] The advantages and beneficial effects of the embodiments of the present invention are as follows:

[0086] 1. Modular Design: This approach divides the BMC software development process into several clear steps, making it easy to understand and maintain. Each module independently handles specific functions, facilitating updates and replacements.

[0087] 2. Hardware compatibility: By configuring the Hardware Support Package (BSP) and device tree, the software is ensured to be compatible with different hardware platforms, improving the system's flexibility and compatibility.

[0088] 3. Enhanced security: After kernel startup, the function multiplexing module of the mapped pins is disabled, which protects the existing functions of the pins, reduces security risks, and ensures the stable and safe operation of the BMC.

[0089] 4. Efficient resource management: By configuring pin function multiplexing in the bootloader, hardware resources can be managed efficiently, resource conflicts can be avoided, and system performance can be improved.

[0090] 5. Automation and Flexibility: This method allows for dynamic adjustment of pin functions and kernel loading paths, enhancing the system's adaptability, supporting multiple storage media, and simplifying the deployment process.

[0091] 6. Comprehensive testing and verification: Emphasis is placed on comprehensive system testing and functional verification during the deployment process to ensure the stability and reliability of the software in the production environment.

[0092] 7. Supports remote management: By integrating BMC management software modules (such as IPMI and Redfish), it provides powerful remote management and monitoring functions, making it convenient for administrators to manage equipment and troubleshoot faults.

[0093] 8. Continuous optimization capability: By collecting feedback and conducting tests, the system configuration can be continuously adjusted and optimized to adapt to new requirements and technological advancements.

[0094] 9. Integrated Solution: All components are packaged into an integrated solution, simplifying the deployment process, reducing the complexity of user operations, and improving overall efficiency.

[0095] With these advantages, this BMC software construction method not only improves the system's reliability and security, but also enhances its flexibility and adaptability, making it suitable for use in constantly changing technological environments.

Claims

1. A method for constructing embedded BMC software, characterized in that, Includes the following steps: Configure the hardware architecture of the target platform and compile the bootloader, integrate the hardware support package for the bootloader to correctly identify and initialize the hardware, and burn the integrated bootloader into the boot storage medium corresponding to the target device of the target platform. In the boot storage medium, configure the pin function multiplexing module in the bootloader. The pin function multiplexing module is used to set the specific parameters of pin multiplexing and to ensure that the pin function multiplexing module is active when the kernel starts. In the boot storage medium, configure the kernel boot channel within the bootloader. The kernel boot channel is used to set the kernel load path for the kernel to be correctly loaded from the storage medium. Configure the kernel source code, version, and hardware drivers according to the target platform; configure kernel options and compile kernel code according to the hardware characteristics of the target platform to generate the kernel mapping file corresponding to the target platform; and compile kernel modules and drivers according to the kernel startup file. After self-test and hardware initialization, the bootloader loads and starts the kernel mapping file through the kernel boot channel, kernel modules and drivers. The bootloader passes kernel boot parameters. After the kernel starts, it initializes hardware resources and begins loading system services. After the kernel is loaded, configure the kernel to disable the mapping of the pin function multiplexing module, while keeping the function of the pin function multiplexing module unchanged; Select and load the BMC management software module according to your needs. The BMC management software module includes IPMI, Redfish protocol stack, configures the interface between kernel services and hardware devices, starts the BMC management software module in the kernel, and realizes the management of hardware platform.

2. The embedded BMC software construction method as described in claim 1, characterized in that, The bootloader includes initial hardware settings for the CPU, memory, and peripherals.

3. The embedded BMC software construction method as described in claim 1, characterized in that, The boot storage medium includes flash memory and eMMC.

4. The embedded BMC software construction method as described in claim 1, characterized in that, The configuration steps for the kernel loading path are as follows: Configure the kernel load path and set the location of the kernel image in the bootloader; Configure the device tree used to identify hardware resources and kernel initialization information.

5. The embedded BMC software construction method as described in claim 1, characterized in that, The hardware features include CPU architecture, memory size, and peripheral support, while the kernel options include preemptive kernel and hardware interrupt support.

Citation Information

Patent Citations

  • BMC firmware generation method and device and BMC system starting method and device

    CN106909362A

  • Built-in equipment integrated development system and its use method

    CN1725177A