Package configuration method and device, equipment and storage medium

By implementing multi-package configuration on a single-version BIOS, the problems of high maintenance costs and operating system restart affecting business operations are solved, and flexible package selection and efficient user experience are achieved.

CN119739431AActive Publication Date: 2025-04-01INSPUR SUZHOU INTELLIGENT TECH CO LTD

Patent Information

Application Number
CN202411585800.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-07
Publication Date
2025-04-01
Estimated Expiration
2044-11-07

AI Technical Summary

Technical Problem

In the prior art, when adjusting the BIOS, there is a problem that multiple versions are maintained at high cost, and restarting the machine under the operating system affects customer business operations.

Method used

A package configuration method is provided, by obtaining the identification of multiple candidate basic input and output system packages of a single basic input and output system version, comparing and matching the identification of the target package, thereby determining the basic input and output system package to be used matching the target package, and loading the basic input and output system package that has been modified by the user without restarting the operating system.

Benefits of technology

It realizes the selection of different basic input and output system packages on a single version of BIOS, and loads the packages that have been modified by users according to the priority of user operations, meeting different customer needs, improving user experience, and reducing maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119739431A_ABST
    Figure CN119739431A_ABST
Patent Text Reader

Abstract

The invention provides a package configuration method and device, equipment and a storage medium, relates to the technical field of computers, and aims to solve the problems that the multi-version maintenance cost is high when a BIOS (Basic Input / Output System) is adjusted and the service operation is influenced by restarting a machine under an operating system in the related technology. The method comprises the following steps: acquiring identifiers of a plurality of candidate basic input and output system packages of a single basic input and output system version, wherein each candidate basic input and output system package is a group of basic input and output system option values based on the single basic input and output system version; comparing the identifiers of the plurality of candidate basic input and output system packages with the identifier of the target package, and determining a first basic input and output system package to be used matched with the identifier of the target package; reading a first identification value of the first basic input and output system package to be used; and under the condition that the first identification value represents that the first to-be-used basic input and output system package is modified by the user, loading the basic input and output system package modified by the user.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present application relate to the field of computer technology, and more specifically, to a package configuration method, apparatus, device, and storage medium. Background Art

[0002] In server design, the BIOS (Basic Output and Input) option settings vary significantly depending on the customer's application scenario. For specific needs of high performance or low power consumption, customers need to adjust the BIOS to achieve them. Therefore, when customizing, customers require the BIOS to support multiple configuration settings, namely BIOS packages.

[0003] In the related technology, each BIOS package corresponds to a BIOS version, and there are deficiencies in adjusting the BIOS by using a customized BIOS version plus a script. For example, the maintenance cost of multiple versions is high, and the script refresh must be executed under the operating system and the machine must be restarted, which will affect the customer's business operations. Summary of the invention

[0004] The embodiments of the present application provide a package configuration method, apparatus, device and storage medium, aiming to solve the problems in the related art of high maintenance cost of multiple versions when adjusting BIOS, and the problem that restarting the machine under the operating system affects customer business operations.

[0005] A first aspect of an embodiment of the present application provides a package configuration method, including: Obtaining identifiers of a plurality of candidate BIOS packages of a single BIOS version, each candidate BIOS package being a set of BIOS option values ​​based on the single BIOS version; Comparing the identifiers of the plurality of candidate BIOS packages with the identifier of the target package, and determining a first BIOS package to be used that matches the identifier of the target package from the plurality of candidate BIOS packages; Reading a first identification value of the first basic input / output system package to be used; In a case where the first identification value indicates that the first basic input / output system package to be used has been modified by the user, the basic input / output system package modified by the user is loaded.

[0006] In an optional embodiment, the method further includes: When the first identification value indicates that the first basic input / output system package to be used has not been modified by the user, reading a second identification value of the first basic input / output system package to be used; If the second identification value indicates that the user has set a reserved configuration refresh for the first basic input / output system package to be used, loading the basic input / output system package that has been modified by the user; In a case where the second identification value indicates that the user has not set a reserved configuration refresh for the first basic input / output system package to be used, the first basic input / output system package to be used is loaded.

[0007] In an optional embodiment, the method further includes: The single basic input and output system version stores a plurality of candidate basic input and output system packages, and sets identifiers of the plurality of candidate basic input and output system packages, wherein the identifiers of the plurality of candidate basic input and output system packages correspond to different first parameter values; Obtaining the item index and group index of the identifier of the target package; According to the project index and the group index, the basic input and output system sends an intelligent platform management interface command to the baseboard management controller to query the first parameter value in the field replaceable unit information; A first function is called according to the first parameter value, and the first parameter value is written into a target storage location for storage.

[0008] In an optional embodiment, the method further includes: In the case that the intelligent platform management interface command sent by the basic input and output system for the first time does not receive a response from the baseboard management controller, sending the intelligent platform management interface command a preset number of times to poll the field replaceable unit information until the first parameter value is obtained from the baseboard management controller; When the intelligent platform management interface command is sent a preset number of times and the first parameter value is not obtained, a default configuration is loaded.

[0009] In an optional implementation, comparing the identifiers of the plurality of candidate basic input / output system packages with the identifier of the target candidate package, and determining a first basic input / output system package to be used that matches the identifier of the target candidate package from the plurality of candidate basic input / output system packages, comprises: The basic input and output system reads the first parameter value in the target storage location through a second function; Comparing and matching the first parameter value with identifiers of multiple candidate basic input and output system packages by a third function; When the first parameter value matches the identifier of the current candidate basic input / output system package, obtaining a first basic input / output system package to be used corresponding to the first parameter value; When the first parameter value does not match the identifier of the current candidate basic input / output system package, the identifier of the next candidate basic input / output system package is polled and compared until the first basic input / output system package to be used corresponding to the first parameter value is obtained.

[0010] In an optional embodiment, the method further includes: A first identification value of a basic input / output system configuration, wherein an initial value of the first identification value is 0, indicating that a basic input / output system option value in the basic input / output system package has not been modified by a user; Reading the first identification value of the first basic input / output system package to be used includes: The basic input and output system reads the first identification value through a fourth function, and when the first identification value is not 0, the basic input and output system option value in the first basic input and output system package to be used has been modified by the user; When the first identification value is 0, the basic input / output system option value in the first basic input / output system package to be used has not been modified by the user.

[0011] In an optional embodiment, the method further includes: When the first identification value indicates that the first basic input / output system package to be used has been modified by the user, setting a product number whose value is not 0 for the first basic input / output system package to be used; Assigning the value of the product number to the first identification value to indicate that there is no need to reconfigure the first basic input and output system package to be used when restarting the basic input and output system; When the second identification value indicates that the user has not set a configuration refresh for the first basic input / output system package to be used, loading the first basic input / output system package to be used includes: According to the value of the product number, a basic input / output system option value of the first basic input / output system package to be used is loaded, and a restart flag is set, wherein the restart flag indicates that the basic input / output system needs to be restarted after the configuration is completed; Modify the corresponding basic input and output system option according to the basic input and output system option value of the first basic input and output system package to be used; The basic input and output system writes the modified basic input and output system option value into the non-volatile memory through the fifth function, and according to the modified basic input and output system option value, correspondingly modifies the value of the bottom register of the central processing unit through the sixth function; Restart the basic input and output system through the seventh function to make the modified basic input and output system options take effect.

[0012] A second aspect of an embodiment of the present application provides a package configuration device, including: an acquisition module, configured to acquire identifiers of a plurality of candidate BIOS packages of a single BIOS version, each candidate BIOS package being a set of BIOS option values ​​based on the single BIOS version; a comparison module, configured to compare the identifiers of the plurality of candidate basic input / output system packages with the identifier of the target package, and determine a first basic input / output system package to be used that matches the identifier of the target package from the plurality of candidate basic input / output system packages; A reading module, used for reading a first identification value of the first basic input and output system package to be used; The loading module is used to load the basic input and output system package modified by the user when the first identification value indicates that the first basic input and output system package to be used has been modified by the user.

[0013] A third aspect of an embodiment of the present application provides an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor implements the package configuration method of the first aspect of the embodiment of the present application when executing the computer program.

[0014] A fourth aspect of an embodiment of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the package configuration method of the first aspect of the embodiment of the present application is implemented.

[0015] In this embodiment, by obtaining the identifiers of multiple candidate BIOS packages of a single BIOS version, each candidate BIOS package is a set of BIOS option values ​​based on a single BIOS version; comparing the identifiers of the multiple candidate BIOS packages with the identifier of the target package, determining a first BIOS package to be used that matches the identifier of the target package from the multiple candidate BIOS packages; reading the first identifier value of the first BIOS package to be used; and loading the BIOS package that has been modified by the user when the first identifier value indicates that the first BIOS package to be used has been modified by the user. Different BIOS packages can be selected on a single version, and the package that has been modified by the user can be loaded according to the priority of the user operation distinguished according to the first identifier value, which can meet the different needs of customers and improve the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0017] Figure 1 It is a flowchart of the steps of the package configuration method proposed in one embodiment of the present application; Figure 2 It is a flow chart of the configuration steps of the package configuration method proposed in one embodiment of the present application; Figure 3 It is a structural diagram of a meal set configuration device proposed in an embodiment of the present application; Figure 4 It is a schematic diagram of an electronic device proposed in an embodiment of the present application. DETAILED DESCRIPTION

[0018] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0019] BIOS (Basic Output and Input) is a set of programs that are fixed to a read-only memory on the motherboard of the computer. It stores the computer's most important basic input and output programs, system settings information, self-test programs after power-on, and system self-start programs, as well as specific information for reading and writing system settings.

[0020] IPMI (Intelligent Platform Management Interface) can span different operating systems, firmware and hardware platforms, and can intelligently monitor, control and automatically report the operating status of a large number of servers to reduce server system costs.

[0021] BMC (Baseboard Management Controller) is the core component of the server management system defined by the IPMI protocol. It is a microcontroller independent of the main processor and is used to manage and monitor system hardware.

[0022] FRU (Field Replace Unit) refers to components or hardware parts in the server that can be replaced by users or technicians, such as CPU, memory, hard disk, power supply, etc. The server FRU information records the detailed information of these replaceable units, including model, serial number, manufacturer and other data.

[0023] In server design, the BIOS option settings vary greatly due to different customer application scenarios. For example, when customers use the machine for data storage and data computing, they have different requirements for the performance, power consumption and stability of the CPU. When storing data, the CPU stability is required to be better, and when computing data, the CPU performance is required to be higher. Only in this way can the CPU play a greater role in different customer scenarios.

[0024] When designing a server, there will be a default mode, performance mode or power consumption mode. In order to improve the competitiveness of their general products and meet the needs of ordinary customers, most manufacturers will set the mode to a mode between performance and power consumption, so that the performance and power consumption of the machine are moderate and the stability of the machine can be enhanced. However, when the machine is shipped, if it is necessary to meet the customer's needs for high performance or low power consumption, it can only be achieved by adjusting the BIOS, because the hardware adjustment cost is too high and will not be accepted, and the adjustment of VR (Voltage Regulator) will affect the stability of power-on and will not be accepted. Only by adjusting the BIOS can the customer's needs be met with the least impact and the lowest cost. Therefore, in order to meet their own usage needs, customers will require the BIOS to support multiple configuration settings when customizing, which is why the term BIOS package appears.

[0025] For the development of BIOS packages, server manufacturers provide customers with a BIOS version for each package, maintain the corresponding code of the version, and maintain detailed usage rules when the version is released. Customers can choose different versions to refresh and boot according to different application scenarios. Although this solution can meet the multi-configuration needs of customers and can also realize the function of retaining configuration refresh, it requires the maintenance of multiple BIOS versions and requires a lot of effort to maintain the usage rules. If the usage rules are not maintained clearly when the version is released, others will not be able to understand it, and there is a risk of misusing the BIOS version. At the same time, the maintenance of too many BIOS versions is also a huge cost in terms of manpower.

[0026] For the development of BIOS packages, we customize the version for the configurations commonly used by customers, and then customize the scripts for the other package requirements of customers. We use the solution of using versions and scripts together to meet the needs of customers' BIOS packages. This solution can reduce the maintenance of BIOS work. The development of scripts is a one-time job that does not require too much time investment. This is a relatively obvious improvement in labor costs. However, the script refresh needs to be executed under the OS (Operating System). After the refresh is completed, the machine needs to be restarted to take effect, which is unacceptable to the customer's business operation. In addition, the maintenance of the usage rules of multiple scripts also requires a lot of manpower, and there is also the risk of misuse, which is not conducive to the management and control of BIOS versions. It is impossible to dynamically and intelligently adapt customer packages on the general version, which cannot meet the customer's demand for a single version to adapt to multiple packages, and cannot reflect the advantages in product competitiveness.

[0027] Therefore, a solution is needed to enable one BIOS version to support the free switching of multiple BIOS packages. However, as the number of customer application scenarios increases, some customers will sell their configured environments to third parties for use. When using them, third parties sometimes consider making modifications based on the supported packages and retaining the configuration refresh so that the modifications are not cleared. Therefore, the priority judgment of the usage scenarios becomes of utmost importance.

[0028] Reference Figure 1 , Figure 1 This is a flowchart of the steps of package configuration proposed in an embodiment of the present application. Figure 1 As shown, the method includes the following steps S11 to S14: Step S11: obtaining identifiers of a plurality of candidate BIOS packages of a single BIOS version, each candidate BIOS package being a group of BIOS option values ​​based on the single BIOS version.

[0029] To identify a specific single BIOS version, multiple candidate BIOS packages refer to a collection of different BIOS option value configurations based on the single BIOS version. Each candidate package represents a set of BIOS option values. BIOS option values ​​refer to the values ​​of configurable settings in the BIOS, including boot order, memory configuration, power management, security settings, etc., which will affect the performance, functionality or compatibility of the system. For each candidate BIOS package, the system will assign it a unique identifier to identify the package in the system.

[0030] Furthermore, the method further comprises: A single basic input / output system version stores multiple basic input / output system packages as candidate, and sets multiple identifiers of the basic input / output system packages as candidate, wherein the identifiers of the multiple basic input / output system packages correspond to different first parameter values; Obtaining the item index and group index of the identifier of the target package; According to the project index and the group index, the basic input and output system sends an intelligent platform management interface command to the baseboard management controller to query the first parameter value in the field replaceable unit information; A first function is called according to the first parameter value, and the first parameter value is written into a target storage location for storage.

[0031] A single BIOS version stores multiple candidate BIOS packages and sets multiple candidate BIOS identifiers. The identifiers of multiple candidate BIOS packages correspond to different first parameter values. When customers provide feedback on the need for multiple packages, the BIOS, customers, and BMC align and agree to use the first parameter (Product Extra, PE) in the BMC's FRU information to identify the package. The BMC will group and number the FRUs in the format required by the customer, first using GroupIndex (group index) to group, and then using ItemIndex (item index) to number, so that the BIOS can use the group index and item index to uniquely distinguish the various parameters of the FRU information. Among them, different values ​​of the agreed first parameter are used to identify different packages, and the first parameter value can be modified through out-of-band IPMI standard commands.

[0032] BIOS enters the driver execution environment stage, during which BIOS will initialize the hardware and load the driver. Based on the identifier of the target package, BIOS will retrieve the corresponding project index and group index from the configuration database or mapping table, and based on the project index and group index, send a corresponding IPMI command to BMC to query the first parameter value in the FRU information, thereby obtaining the first parameter value. After BIOS obtains the first parameter value, it calls the first function (Pcd write function) to write the first parameter value into the target storage location (platform configuration database) for storage. Through the collaboration between BIOS and BMC, the parameters in the FRU information of BMC are used to identify different packages of customers, realizing multi-package support for BIOS settings, providing customers with more flexible and convenient BIOS configuration options to meet customer needs.

[0033] Furthermore, the method further comprises: In the case that the intelligent platform management interface command sent by the basic input and output system for the first time does not receive a response from the baseboard management controller, sending the intelligent platform management interface command a preset number of times to poll the field replaceable unit information until the first parameter value is obtained from the baseboard management controller; When the intelligent platform management interface command is sent a preset number of times and the first parameter value is not obtained, a default configuration is loaded.

[0034] According to the project index and group index of the target package identifier, the BIOS sends a corresponding IPMI command to the BMC to query the first parameter value in the FRU information. When the BMC does not respond to the first IPMI command, the BIOS will continue to send a preset number of IPMI commands (such as 10 times) to poll the FRU information until the corresponding first parameter value is obtained from the BMC. If the first parameter value is not obtained after the preset number of times, the BIOS will consider the BMC to be hung and skip the execution of the function and load the default configuration. By setting the preset number of times, it is ensured that when the BMC fails to respond in time due to various reasons, the system can take appropriate measures, thereby avoiding the situation where the system falls into an infinite loop or fails to start due to waiting for the BMC response.

[0035] Step S12: comparing the identifiers of the multiple candidate BIOS packages with the identifier of the target package, and determining a first BIOS package to be used that matches the identifier of the target package from the multiple candidate BIOS packages.

[0036] Determine the identifier of the target BIOS package that needs to be matched, which is usually specified by the user or generated by the system according to specific conditions. Compare the identifiers of multiple candidate BIOS packages with the identifier of the target package, and determine the first BIOS package to be used that matches the identifier of the target package from the multiple candidate BIOS packages.

[0037] Further, the step of comparing the identifiers of the plurality of candidate basic input / output system packages with the identifier of the target candidate package, and determining the first basic input / output system package to be used that matches the identifier of the target candidate package from the plurality of candidate basic input / output system packages includes: The basic input and output system reads the first parameter value in the target storage location through a second function; Comparing and matching the first parameter value with identifiers of multiple candidate basic input and output system packages by a third function; When the first parameter value matches the identifier of the current candidate basic input / output system package, obtaining a first basic input / output system package to be used corresponding to the first parameter value; When the first parameter value does not match the identifier of the current candidate basic input / output system package, the identifier of the next candidate basic input / output system package is polled and compared until the first basic input / output system package to be used corresponding to the first parameter value is obtained.

[0038] The BIOS reads the first parameter value from the target storage location through the second function (Pcd read function), and compares the first parameter value with the identifiers of multiple candidate BIOS packages through the third function (MemCmp function). When the first parameter value matches the identifier of the current candidate BIOS package, the first BIOS package to be used corresponding to the first parameter value is obtained, that is, the package corresponding to the identifier of the target BIOS package is found. If the current package cannot be matched, the next candidate BIOS package identifier will continue to be polled and compared until the corresponding first BIOS package to be used is polled.

[0039] Step S13: reading the first identification value of the first basic input / output system package to be used.

[0040] The first identification value of the first BIOS package to be used is read. The first identification value is used to identify whether the first BIOS package to be used is modified by the user, that is, to confirm whether the option value in the first BIOS package to be used is modified by the user.

[0041] Furthermore, the method further comprises: A first identification value of a basic input / output system configuration, wherein an initial value of the first identification value is 0, indicating that a basic input / output system option value in the basic input / output system package has not been modified by a user; Reading the first identification value of the first basic input / output system package to be used includes: The basic input and output system reads the first identification value through a fourth function, and when the first identification value is not 0, the basic input and output system option value in the first basic input and output system package to be used has been modified by the user; When the first identification value is 0, the basic input / output system option value in the first basic input / output system package to be used has not been modified by the user.

[0042] In the later stage of the driver execution environment stage, the BIOS configures a first flag (ReConfigflag) to identify whether the BIOS option value in the BIOS package has been modified by the user. The initial value of the first flag value is 0, indicating that the BIOS option value in the BIOS package has not been modified by the user. After determining the first BIOS package to be used, the BIOS will read the current first flag value through the fourth function (GetVariable function). If it is not 0, it means that the BIOS option value in the first BIOS package to be used has been manually modified by the user. If it is 0, it means that the BIOS option value in the first BIOS package to be used has not been manually modified by the user. By configuring the first flag value, it helps to configure the BIOS package according to the specific needs of the customer first, load the BIOS option value required by the customer, and thus improve the user experience.

[0043] Step S14: when the first identification value indicates that the first BIOS package to be used has been modified by the user, loading the BIOS package modified by the user.

[0044] When the first identification value indicates that the first BIOS package to be used has been modified by the user, the first identification value read at this time is not 0. Then there is no need to configure the package, and the code can be run with reference to the current configuration, that is, the BIOS package modified by the user is loaded to configure the package in priority to customer needs.

[0045] Furthermore, the method further comprises: When the first identification value indicates that the first basic input / output system package to be used has not been modified by the user, reading a second identification value of the first basic input / output system package to be used; If the second identification value indicates that the user has set a reserved configuration refresh for the first basic input / output system package to be used, loading the basic input / output system package that has been modified by the user; In a case where the second identification value indicates that the user has not set a reserved configuration refresh for the first basic input / output system package to be used, the first basic input / output system package to be used is loaded.

[0046] When the first identification value indicates that the first BIOS package to be used has not been modified by the user, the first identification value read at this time is 0, and then the second identification value of the first BIOS package to be used is read. The BIOS will set a second identification (KeepBiosSettingFlag) to identify whether the BIOS package is set to retain the configuration refresh. Saving the configuration refresh refers to the function that the default value of the BIOS option remains unchanged after the BIOS version is updated. The default value of the second identification value is 0. When the customer sets the retain configuration refresh, the second identification value is set to 1, otherwise it is set to 0. When the second identification value indicates that the user has set the retain configuration refresh for the first BIOS package to be used, that is, the second identification value is set to 1, and the BIOS package that has been modified by the user is loaded; when the second identification value indicates that the user has not set the retain configuration refresh for the first BIOS package to be used, that is, the second identification value is set to 0, and the first BIOS package to be used is loaded.

[0047] When the second identification value is 1, the BIOS will consider that the current operation is a configuration refresh operation, and the priority of the configuration refresh operation is higher than the priority of the package. Then, there is no need to configure the package, and the BIOS package modified by the user is loaded according to the customer's manual modification. By configuring the second identification value, it is helpful to configure the BIOS package according to the customer's specific needs and load the BIOS option values ​​required by the customer, thereby improving the user experience.

[0048] Furthermore, the method further comprises: in a case where the first identification value indicates that the first basic input / output system package to be used has been modified by the user, setting a product number whose value is not 0 for the first basic input / output system package to be used; Assigning the value of the product number to the first identification value to indicate that there is no need to reconfigure the first basic input and output system package to be used when restarting the basic input and output system; When the second identification value indicates that the user has not set a configuration refresh for the first basic input / output system package to be used, loading the first basic input / output system package to be used includes: According to the value of the product number, a basic input / output system option value of the first basic input / output system package to be used is loaded, and a restart flag is set, wherein the restart flag indicates that the basic input / output system needs to be restarted after the configuration is completed; Modify the corresponding basic input and output system option according to the basic input and output system option value of the first basic input and output system package to be used; The basic input and output system writes the modified basic input and output system option value into the non-volatile memory through the fifth function, and according to the modified basic input and output system option value, correspondingly modifies the value of the bottom register of the central processing unit through the sixth function; Restart the basic input and output system through the seventh function to make the modified basic input and output system options take effect.

[0049] When the first identification value indicates that the first BIOS package to be used has not been modified by the user, a product number (ProduceID) with a value other than 0 is set for the first BIOS package to be used. The value of the product number is assigned to the first identification value to indicate that the machine cannot reconfigure the package at the next restart to avoid unnecessary configuration process. When the second identification value indicates that the user has not set the configuration refresh to be retained for the first BIOS package to be used, that is, the second identification value is set to 0, and the first BIOS package to be used is loaded. Specifically, according to the product number, the BIOS option value of the first BIOS package to be used is loaded through a Switch loop, and the set restart flag is set, indicating that a restart is required after the configuration is completed to make these changes effective. The BIOS modifies all relevant BIOS options according to the loaded setting values, which may include adjusting the system clock, memory settings, boot order, etc. After all options are modified, the BIOS will call the fifth function (SetVariable function) to write the modified BIOS option value to the non-volatile memory so that these settings can be retained after restarting. According to the modified BIOS option value, the value of the underlying register of the central processing unit is modified through the sixth function (APCB write function), and then the seventh function (ResetSystem function) is called to restart the BIOS to make the option modification take effect. It does not involve restarting the operating system level, avoiding affecting customer business operations.

[0050] When loading a BIOS package that has been modified by the user, the corresponding BIOS option is modified according to the BIOS option value of the BIOS package modified by the user, and the restart flag is set. The BIOS writes the modified BIOS option value to the non-volatile memory, and according to the modified BIOS option value, the value of the underlying register of the central processor is correspondingly modified. Finally, the BIOS is restarted to make the modified BIOS option take effect.

[0051] This application can adapt to multiple BIOS packages on the basis of retaining configuration refresh, combined with the principle that the FRU information of BMC can be modified through IPMI commands, and sets identifiers (such as the first identifier value) at each stage to distinguish different situations, so as to realize the demand of one version of BIOS being dynamically compatible with different BIOS configurations, and can meet the demand of dynamically adapting multiple BIOS packages while retaining configuration refresh, thereby improving the competitiveness of the product; it solves the problem of the huge maintenance workload of one package corresponding to one version of BIOS, avoids waste of manpower, and saves huge expenses; it solves the dilemma of needing to refresh and restart the operating system when the general version is matched with the script, and meets the demand of customers not to restart the operating system unless necessary; it also greatly reduces the workload of maintaining the version release package, and avoids human errors in the intermediate transmission of the release package; it can be applied to all AMD X86 architecture server products.

[0052] Reference Figure 2 , Figure 2 1 is a flow chart of the configuration steps of the package configuration method proposed in one embodiment of the present application. Figure 2 As shown in the figure, the configuration process is as follows: It is agreed to use the first parameter in the field replaceable unit information to identify the package; send an intelligent platform management interface command according to the group index and the project index to obtain the first parameter value; loop 10 times to obtain the first parameter value from the field replaceable unit information of the baseboard management controller; if the first parameter value is not obtained, the baseboard management controller hangs and the continued execution of the function is skipped; if the first parameter value is obtained, poll and compare the first parameter value and the customer package number (identifiers of multiple candidate BIOS packages) to confirm the corresponding customer package (the first BIOS package to be used); if the corresponding customer package cannot be found, skip the continued execution of the function; if the corresponding customer package is confirmed, the first parameter value and the customer package number are compared. For package matching, obtain the first identification value to confirm whether the customer package has been manually modified; if the first identification value is not 0, the customer package has been manually modified, and the function is skipped; if the first identification value is 0, the customer package has not been manually modified, set the product number and assign a non-0 value to represent the package; assign the value of the product number to the first identification value, and set the second identification value to indicate whether to retain the configuration refresh; if the second identification value is 1, the customer has set the configuration refresh to be retained, and the function is skipped; if the second identification value is 0, the customer has not set the configuration refresh to be retained, load different basic input and output system option values ​​according to the product number, call the corresponding function and restart the machine to make the corresponding option modification take effect.

[0053] Based on the same inventive concept, an embodiment of the present application provides a meal package configuration device. Figure 3 is a structural diagram of a meal set configuration device provided in an embodiment of the present application, such as Figure 3 As shown, the device comprises: an acquisition module, configured to acquire identifiers of a plurality of candidate BIOS packages of a single BIOS version, each candidate BIOS package being a set of BIOS option values ​​based on the single BIOS version; a comparison module, configured to compare the identifiers of the plurality of candidate basic input / output system packages with the identifier of the target package, and determine a first basic input / output system package to be used that matches the identifier of the target package from the plurality of candidate basic input / output system packages; A reading module, used for reading a first identification value of the first basic input and output system package to be used; The loading module is used to load the basic input and output system package modified by the user when the first identification value indicates that the first basic input and output system package to be used has been modified by the user.

[0054] In an optional embodiment, the device further comprises: A first processing module, configured to read a second identification value of the first basic input / output system package to be used when the first identification value indicates that the first basic input / output system package to be used has not been modified by the user; If the second identification value indicates that the user has set a reserved configuration refresh for the first basic input / output system package to be used, loading the basic input / output system package that has been modified by the user; In a case where the second identification value indicates that the user has not set a reserved configuration refresh for the first basic input / output system package to be used, the first basic input / output system package to be used is loaded.

[0055] In an optional embodiment, the device further comprises: A second processing module is used for storing a plurality of candidate basic input and output system packages for the single basic input and output system version, and setting identifiers of the plurality of candidate basic input and output system packages, wherein the identifiers of the plurality of candidate basic input and output system packages correspond to different first parameter values; Obtaining the item index and group index of the identifier of the target package; According to the project index and the group index, the basic input and output system sends an intelligent platform management interface command to the baseboard management controller to query the first parameter value in the field replaceable unit information; A first function is called according to the first parameter value, and the first parameter value is written into a target storage location for storage.

[0056] In an optional embodiment, the device further comprises: a third processing module, configured to send the intelligent platform management interface command for a preset number of times to poll the field replaceable unit information, until the first parameter value is obtained from the baseboard management controller, if the intelligent platform management interface command sent by the basic input and output system for the first time does not receive a response from the baseboard management controller; When the intelligent platform management interface command is sent a preset number of times and the first parameter value is not obtained, a default configuration is loaded.

[0057] In an optional implementation, the comparison module is specifically used for: The basic input and output system reads the first parameter value in the target storage location through a second function; Comparing and matching the first parameter value with identifiers of multiple candidate basic input and output system packages by a third function; When the first parameter value matches the identifier of the current candidate basic input / output system package, obtaining a first basic input / output system package to be used corresponding to the first parameter value; When the first parameter value does not match the identifier of the current candidate basic input / output system package, the identifier of the next candidate basic input / output system package is polled and compared until the first basic input / output system package to be used corresponding to the first parameter value is obtained.

[0058] In an optional embodiment, the device further comprises: A fourth processing module is used for configuring a first identification value of the basic input and output system, wherein an initial value of the first identification value is 0, indicating that a basic input and output system option value in the basic input and output system package has not been modified by the user; Reading the first identification value of the first basic input / output system package to be used includes: The basic input and output system reads the first identification value through a fourth function, and when the first identification value is not 0, the basic input and output system option value in the first basic input and output system package to be used has been modified by the user; When the first identification value is 0, the basic input / output system option value in the first basic input / output system package to be used has not been modified by the user.

[0059] In an optional embodiment, the device further comprises: A fifth processing module, configured to set a product number whose value is not 0 for the first basic input and output system package to be used when the first identification value indicates that the first basic input and output system package to be used has been modified by the user; Assigning the value of the product number to the first identification value to indicate that there is no need to reconfigure the first basic input and output system package to be used when restarting the basic input and output system; When the second identification value indicates that the user has not set a configuration refresh for the first basic input / output system package to be used, loading the first basic input / output system package to be used includes: According to the value of the product number, a basic input / output system option value of the first basic input / output system package to be used is loaded, and a restart flag is set, wherein the restart flag indicates that the basic input / output system needs to be restarted after the configuration is completed; Modify the corresponding basic input and output system option according to the basic input and output system option value of the first basic input and output system package to be used; The basic input and output system writes the modified basic input and output system option value into the non-volatile memory through the fifth function, and according to the modified basic input and output system option value, correspondingly modifies the value of the bottom register of the central processing unit through the sixth function; Restart the basic input and output system through the seventh function to make the modified basic input and output system options take effect.

[0060] Based on the same inventive concept, an embodiment of the present application provides an electronic device, referring to Figure 4 , Figure 4 FIG. 1 is a schematic diagram of an electronic device shown in an embodiment of the present application. Figure 4 As shown, the electronic device 100 includes: a memory 110 and a processor 120. The memory 110 and the processor 120 are connected via a bus communication. A computer program is stored in the memory 110. The computer program can be run on the processor 120 to implement the steps in the package configuration method of the embodiment of the present disclosure.

[0061] Based on the same inventive concept, an embodiment of the present disclosure also provides a computer-readable storage medium. When the instructions in the computer-readable storage medium are executed by a processor of a computer device, the computer device is enabled to execute the steps in the package configuration method described in any of the above embodiments of the present application.

[0062] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0063] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, devices, or computer program products. Therefore, the embodiments of the present application may adopt the form of complete hardware embodiments, complete software embodiments, or embodiments in combination with software and hardware. Moreover, the embodiments of the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.

[0064] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, terminal devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0065] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0066] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device so that a series of operating steps are executed on the computer or other programmable terminal device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable terminal device to implement the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0067] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.

[0068] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0069] The above is a detailed introduction to a package configuration method, device, equipment and storage medium provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A method for configuring a package, characterized in that: include: Obtaining identifiers of a plurality of candidate BIOS packages of a single BIOS version, each candidate BIOS package being a set of BIOS option values ​​based on the single BIOS version; Comparing the identifiers of the plurality of candidate BIOS packages with the identifier of the target package, and determining a first BIOS package to be used that matches the identifier of the target package from the plurality of candidate BIOS packages; Reading a first identification value of the first basic input / output system package to be used; In a case where the first identification value indicates that the first basic input / output system package to be used has been modified by the user, the basic input / output system package modified by the user is loaded.

2. The method for configuring a meal plan according to claim 1, wherein: Also includes: When the first identification value indicates that the first basic input / output system package to be used has not been modified by the user, reading a second identification value of the first basic input / output system package to be used; If the second identification value indicates that the user has set a reserved configuration refresh for the first basic input / output system package to be used, loading the basic input / output system package that has been modified by the user; In a case where the second identification value indicates that the user has not set a reserved configuration refresh for the first basic input / output system package to be used, the first basic input / output system package to be used is loaded.

3. The method for configuring a meal plan according to claim 1, wherein: Also includes: The single basic input and output system version stores a plurality of candidate basic input and output system packages, and sets identifiers of the plurality of candidate basic input and output system packages, wherein the identifiers of the plurality of candidate basic input and output system packages correspond to different first parameter values; Obtaining the item index and group index of the identifier of the target package; According to the project index and the group index, the basic input and output system sends an intelligent platform management interface command to the baseboard management controller to query the first parameter value in the field replaceable unit information; A first function is called according to the first parameter value, and the first parameter value is written into a target storage location for storage.

4. The method for configuring a meal plan according to claim 3, wherein: Also includes: In the case that the intelligent platform management interface command sent by the basic input and output system for the first time does not receive a response from the baseboard management controller, sending the intelligent platform management interface command a preset number of times to poll the field replaceable unit information until the first parameter value is obtained from the baseboard management controller; When the intelligent platform management interface command is sent a preset number of times and the first parameter value is not obtained, a default configuration is loaded.

5. The method for configuring a meal plan according to claim 3, wherein: The step of comparing the identifiers of the plurality of candidate basic input / output system packages with the identifier of the target candidate package, and determining a first basic input / output system package to be used that matches the identifier of the target candidate package from the plurality of candidate basic input / output system packages, comprises: The basic input and output system reads the first parameter value in the target storage location through a second function; Comparing and matching the first parameter value with identifiers of multiple candidate basic input and output system packages by a third function; When the first parameter value matches the identifier of the current candidate basic input / output system package, obtaining a first basic input / output system package to be used corresponding to the first parameter value; When the first parameter value does not match the identifier of the current candidate basic input / output system package, the identifier of the next candidate basic input / output system package is polled and compared until the first basic input / output system package to be used corresponding to the first parameter value is obtained.

6. The method for configuring a meal plan according to claim 1, wherein: Also includes: A first identification value of a basic input / output system configuration, wherein an initial value of the first identification value is 0, indicating that a basic input / output system option value in the basic input / output system package has not been modified by a user; Reading the first identification value of the first basic input / output system package to be used includes: The basic input and output system reads the first identification value through a fourth function, and when the first identification value is not 0, the basic input and output system option value in the first basic input and output system package to be used has been modified by the user; When the first identification value is 0, the basic input / output system option value in the first basic input / output system package to be used has not been modified by the user.

7. The method for configuring a meal plan according to claim 2, wherein: Also includes: When the first identification value indicates that the first basic input / output system package to be used has been modified by the user, setting a product number whose value is not 0 for the first basic input / output system package to be used; Assigning the value of the product number to the first identification value to indicate that there is no need to reconfigure the first basic input and output system package to be used when restarting the basic input and output system; When the second identification value indicates that the user has not set a configuration refresh for the first basic input / output system package to be used, loading the first basic input / output system package to be used includes: According to the value of the product number, a basic input / output system option value of the first basic input / output system package to be used is loaded, and a restart flag is set, wherein the restart flag indicates that the basic input / output system needs to be restarted after the configuration is completed; Modify the corresponding basic input and output system option according to the basic input and output system option value of the first basic input and output system package to be used; The basic input and output system writes the modified basic input and output system option value into the non-volatile memory through the fifth function, and according to the modified basic input and output system option value, correspondingly modifies the value of the bottom register of the central processing unit through the sixth function; Restart the basic input and output system through the seventh function to make the modified basic input and output system options take effect.

8. A meal set configuration device, characterized in that: include: an acquisition module, configured to acquire identifiers of a plurality of candidate BIOS packages of a single BIOS version, each candidate BIOS package being a set of BIOS option values ​​based on the single BIOS version; a comparison module, configured to compare the identifiers of the plurality of candidate basic input / output system packages with the identifier of the target package, and determine a first basic input / output system package to be used that matches the identifier of the target package from the plurality of candidate basic input / output system packages; A reading module, used for reading a first identification value of the first basic input and output system package to be used; The loading module is used to load the basic input and output system package modified by the user when the first identification value indicates that the first basic input and output system package to be used has been modified by the user.

9. An electronic device, characterized in that: include: A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the processor implements the package configuration method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the package configuration method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • A test method and system for distinguishing BIOS option package through PPN

    CN109359041A

  • Basic input / output system (BIOS) option modification effective method and device and storage medium

    CN115495161A

  • Input / output system default value configuration method, system, equipment and medium

    CN116360841A

  • Server configuration method and computing device

    CN117687864A

  • BIOS version switching method and device, equipment and medium

    CN117707594A

Cited By

  • Package option default value configuration method and electronic equipment

    CN120723320A

  • Package option default value configuration method and electronic device

    CN120723320B