Embedded BMC software construction method

Through the embedded BMC software construction method, the problems of high maintenance and serious coupling of traditional BMC software are solved, efficient resource management and security enhancement are achieved, remote management and monitoring are supported, and suitable for running on multiple hardware platforms.

CN119718274AActive Publication Date: 2025-03-28EAST CHINA INST OF COMPUTING TECH

Patent Information

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

AI Technical Summary

Technical Problem

Traditional BMC software is expensive to maintain and has severe coupling between parts. It relies on the operating system and BMC chip architecture, making it difficult to transplant.

Method used

It provides an embedded BMC software construction method, which realizes the management of the hardware platform by configuring and compiling the boot program to the target platform's hardware architecture, integrating hardware support packages, configuring pin function multiplexing modules and kernel boot channels, compiling kernel code and loading kernel modules and drivers.

Benefits of technology

It reduces the maintenance cost of BMC software, improves the replaceability of software and hardware, enhances the flexibility and security of the system, simplifies the deployment process, and supports remote management and monitoring.

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

Abstract

According to the embedded BMC software construction method, an operating system kernel which is specially designed and passes verification is provided for a BMC chip, addition of various debugging tools and complex applications is supported, and operability of the transplantation process is improved. The operation steps of the kernel can be displayed by disassembling and various JTAG tools, and the modularization and systematization degree of software solution construction work is enhanced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of BMC chips, and in particular to an embedded BMC software construction method. Background Art

[0002] BMC chip is a general term for a type of server management professional chip, which is connected to the server chip and peripheral devices through various physical paths on the server motherboard. BMC software refers to the server management software running on the BMC chip, which assumes the core function of the intelligent solution in the server management process and provides a software operation interface for system users. BMC software is built on the basis of the IPMI / Redfish protocol stack and accesses specific sensor registers and various records of the system itself based on the underlying interfaces such as I2C / LPC / PCIe.

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

[0004] Among the existing BMC software development methods, the pure software-based construction method occupies more resources and relies on the operating system because the development process is mostly incremental development; the hardware-software integrated construction method based on the embedded platform relies on the hardware platform and BMC chip architecture, which is extremely difficult to transplant, and the coupling between the various parts is serious, and the difficulty of reconstructing the code is relatively high. The above traditional methods have obvious shortcomings, the maintenance cost is too high, and the coupling between the constructed BMC software modules becomes increasingly serious as the development time increases. Therefore, a BMC software construction method with easy software maintenance and high hardware and software interchangeability is needed. Summary of the invention

[0005] The technical problems to be solved by the technical solution of the present invention are: 1. The high maintenance cost of traditional BMC software and the serious coupling between its parts; 2. The dependence of traditional BMC software on the operating system and BMC chip architecture when building.

[0006] In order to solve the above technical problems, the technical solution of the present invention provides an embedded BMC software construction method.

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

[0008] In the boot storage medium, a pin function multiplexing module in the boot program is configured, the pin function multiplexing module is used to set specific parameters of pin multiplexing, and the pin function multiplexing module is set to be in an activated state when the kernel is started;

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

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

[0011] After self-checking and hardware initialization, the boot program loads and starts the kernel mapping file through the kernel boot channel, kernel module and driver. The boot program passes the kernel startup parameters. After the kernel is started, the hardware resources are initialized and system services are loaded.

[0012] After the kernel is loaded, the kernel is configured to prohibit mapping of the pin function multiplexing module under the premise that the function of the pin function multiplexing module remains unchanged;

[0013] Select and load the BMC management software module according to the requirements. The BMC management software module includes protocol stacks such as IPMI and Redfish. Configure the interface between kernel services and hardware devices, start the BMC management software module in the kernel, and manage the hardware platform.

[0014] Preferably, the boot program includes initialization hardware settings such as CPU, memory, and peripherals.

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

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

[0017] Configure the kernel loading path in the boot program and set the location of the kernel image;

[0018] Configures a device tree that identifies hardware resources and kernel initialization information.

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

[0020] The technical solution of the present invention proposes an embedded BMC software construction method, which provides a specially designed and verified operating system kernel for the BMC chip, supports the addition of various debugging tools and complex applications, and increases the operability of the transplantation process. The kernel's running steps can be displayed by disassembly and various JTAG tools, enhancing the modularization and systematization of the software solution construction work. DETAILED DESCRIPTION

[0021] The present invention will be further described below in conjunction with specific embodiments. It should be understood that these embodiments are only used to illustrate the present invention and are not intended to limit the scope of the present invention. In addition, it should be understood that after reading the content taught by the present invention, those skilled in the art can make various changes or modifications to the present invention, and these equivalent forms fall within the scope limited by the appended claims of the application equally.

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

[0023] BMC: It is a small operating system (or device) that is independent of the server system and is used to manage the server system. The full name in English is "Baseboard Management Controller".

[0024] IPMI: Intelligent Platform Management Interface, through which the physical health characteristics of the server can be monitored. The full name in English is "Intelligent Platform Management Interface".

[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] Target: 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 boot program, 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 boot program to the boot storage medium of the target device (such as flash memory, eMMC, etc.).

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

[0034] · Goal: Configure pin function multiplexing in the bootloader to preserve the existing function of the pin after the kernel boots.

[0035] ·operate:

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

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

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

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

[0040] Objective: Establish a boot channel from the bootloader to the kernel and ensure that the kernel can be correctly loaded from the specified storage medium.

[0041] ·operate:

[0042] a. Configure the kernel loading path in the boot program 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 that the boot program supports multiple storage media (such as SD card, flash memory, network, etc.) to flexibly load the kernel image.

[0045] 4. Compile the kernel code

[0046] ·Goal: Compile an operating system kernel adapted to 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 through the boot program

[0053] Goal: Start the kernel using the bootloader.

[0054] ·operate:

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

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

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

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

[0059] Objective: Disable the mapping pin function multiplexing module after the kernel is started 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 the pin function multiplexing module.

[0062] b. Ensure that the pin function remains unchanged to avoid accidental modification of the pin function due to core operation.

[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 application software in the kernel

[0065] Objective: 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 and other protocol stacks) as required.

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

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

[0070] d. Start user space applications to provide remote management, monitoring, configuration and other functions.

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

[0072] ·Goal: Generate a deployable BMC software solution and fix it into the device.

[0073] ·operate:

[0074] a. Package all compiled kernel images, bootloaders, applications, and configuration files into an all-in-one solution.

[0075] b. Fix the BMC software solution into the storage medium of the target hardware to ensure that the solution can be loaded and run when the system starts.

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

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

[0078] 9. Deployment and verification

[0079] Objective: Deploy BMC software solutions to production environments and perform functional verification.

[0080] ·operate:

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

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

[0083] c. Adjust and optimize system configuration based on test feedback to ensure that high reliability and high performance requirements are met.

[0084] d. Continuously monitor the operating status of BMC in the actual usage 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 construction process into multiple clear steps, which is easy to understand and maintain. Each module handles specific functions independently, which is easy to update and replace.

[0087] 2. Hardware compatibility: By configuring the hardware support package (BSP) and device tree, the software can be adapted to different hardware platforms, improving the flexibility and compatibility of the system.

[0088] 3. Security enhancement: After the kernel is started, the mapping pin function multiplexing module is prohibited, 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 the function reuse of pins in the boot program, 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 dynamic adjustment of pin functions and kernel loading paths, enhances the system's adaptability, supports multiple storage media, and simplifies the deployment process.

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

[0092] 7. Support 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 devices and troubleshoot problems.

[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 advances.

[0094] 9. Integrated solution: All components are packaged as an integrated solution, which simplifies the deployment process, reduces the user's operational complexity, and improves overall efficiency.

[0095] With the above advantages, this BMC software construction method not only improves the reliability and security of the system, but also enhances its flexibility and adaptability, making it suitable for use in an ever-changing technological environment.

Claims

1. A method for constructing embedded BMC software, characterized in that: The following steps are involved: Configure and compile the boot program for the hardware architecture of the target platform, integrate the hardware support package used for the boot program to correctly identify and initialize the hardware, and burn the integrated boot program to the boot storage medium corresponding to the target device of the target platform; In the boot storage medium, a pin function multiplexing module in the boot program is configured, the pin function multiplexing module is used to set specific parameters of pin multiplexing, and the pin function multiplexing module is set to be in an activated state when the kernel is started; In the boot storage medium, configure the kernel boot channel in the boot program. The kernel boot channel is used to set the kernel loading path for the kernel to be correctly loaded from the storage medium. Configure the kernel source code, version and hardware driver according to the target platform, configure the kernel options according to the hardware characteristics of the target platform and compile the kernel code to generate the kernel mapping file corresponding to the target platform, and compile the kernel module and driver according to the kernel startup file; After self-checking and hardware initialization, the boot program loads and starts the kernel mapping file through the kernel boot channel, kernel module and driver. The boot program passes the kernel startup parameters. After the kernel is started, the hardware resources are initialized and system services are loaded. After the kernel is loaded, the kernel is configured to prohibit mapping of the pin function multiplexing module under the premise that the function of the pin function multiplexing module remains unchanged; Select and load the BMC management software module according to the requirements. The BMC management software module includes protocol stacks such as IPMI and Redfish. Configure the interface between kernel services and hardware devices, start the BMC management software module in the kernel, and manage the hardware platform.

2. The embedded BMC software construction method according to claim 1, characterized in that: The boot program includes initialization hardware settings such as CPU, memory, and peripherals.

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

4. The embedded BMC software construction method according to claim 1, characterized in that: The configuration steps of the kernel loading path are as follows: Configure the kernel loading path in the boot program and set the location of the kernel image; Configures a device tree that identifies hardware resources and kernel initialization information.

5. The method for constructing embedded BMC software according to claim 1, characterized in that: The hardware features include CPU architecture, memory size, and peripheral support, and 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

  • Binary integration boot program and setting method for kernel program

    WO2014075491A1

Cited By

  • BMC optimization method and system of AI server, electronic equipment and storage medium

    CN121029256A