CN117032818A - 一种基本输入输出***bios选项配置方法和装置 - Google Patents
一种基本输入输出***bios选项配置方法和装置 Download PDFInfo
- Publication number
- CN117032818A CN117032818A CN202310854636.1A CN202310854636A CN117032818A CN 117032818 A CN117032818 A CN 117032818A CN 202310854636 A CN202310854636 A CN 202310854636A CN 117032818 A CN117032818 A CN 117032818A
- Authority
- CN
- China
- Prior art keywords
- bios
- configuration
- bmc
- option
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 288
- 230000008569 process Effects 0.000 claims abstract description 91
- 230000004048 modification Effects 0.000 claims abstract description 78
- 238000012986 modification Methods 0.000 claims abstract description 78
- 241001290266 Sciaenops ocellatus Species 0.000 claims abstract description 65
- 238000002715 modification method Methods 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 17
- 238000012545 processing Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004590 computer program Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例提供了一种基本输入输出***BIOS选项配置方法、服务器、设备和介质,该方法包括:在运行于HOST处理器的BIOS将第一BIOS配置文件写入共享内存后,BMC从共享内存获取第一BIOS配置文件;BMC通过redfish进程调用消息总线***Dbus提供的方法,对第一BIOS配置文件进行BIOS选项的配置操作,配置操作包括查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种,从而可以同时修改多个BIOS选项,简化了操作,极大的提高了BIOS选项配置的效率。
Description
技术领域
本发明涉及服务器配置技术领域,特别是涉及一种基本输入输出***BIOS选项配置方法和一种基本输入输出***BIOS选项配置装置。
背景技术
BIOS(Basic Input Output System)基本输入输出***对于服务器来说是一个必不可缺少的重要功能,但在平常机房部署和维护时,经常需要修改BIOS的选项来搭建业务环境。
随着服务器技术的快速发展,性能、功能以及易用性都在不断增强,服务器中BIOS的选项也越来越多,能高达数千条,同时与BIOS选项相关的操作也非常多,相关技术中对BIOS选项的配置过程繁琐且不便于操作。
发明内容
为了解决上述问题,本发明实施例公开了一种基本输入输出***BIOS选项配置方法和相应的一种基本输入输出***BIOS选项配置装置。
第一方面,本发明实施例提供了一种基本输入输出***BIOS选项配置方法,应用于服务器,所述服务器包括基板管理控制器BMC、主中央处理器HOST处理器和共享内存,所述BMC分别与所述HOST处理器和所述共享内存连接,所述方法包括:
在运行于所述HOST处理器的所述BIOS将第一BIOS配置文件写入所述共享内存后,所述BMC从所述共享内存获取所述第一BIOS配置文件;
所述BMC通过超媒体应用程序接口redfish进程调用消息总线***Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,所述配置操作包括:查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种。
可选地,所述共享内存包括第一共享内存区域,所述BMC从所述共享内存获取所述第一BIOS配置文件,包括:
所述BMC检测到所述BIOS完成上电自检POST过程,并将所述第一BIOS配置文件写入到第一共享内存区域后,读取所述第一共享内存区域的所述第一BIOS配置文件,并将所述第一BIOS配置文件放到BMC文件目录下。
可选地,所述Dbus提供的方法包括配置查询方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,包括:
所述BMC通过redfish进程调用所述配置查询方法,通过所述配置查询方法读取所述BMC文件目录下的所述第一BIOS配置文件;
若所述第一BIOS配置文件不存在或文件格式错误,则生成错误信息并输出所述错误信息;
若所述第一BIOS配置文件存在且文件格式正确,则输出所述第一BIOS配置文件内容。
可选地,所述共享内存包括第二共享内存区域,所述Dbus提供的方法包括配置修改方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,包括:
所述BMC通过redfish进程调用所述配置修改方法,并将需要修改的至少一个目标BIOS选项传入所述配置修改方法;
将所述至少一个目标BIOS选项与所述第一共享内存区域内的所述第一BIOS配置文件内容进行对比;
若所述目标BIOS选项都在所述第一BIOS配置文件内,则通过所述配置修改方法根据所述目标BIOS选项,在第二共享内存区域生成第二BIOS配置文件;
所述BMC读取所述第二共享内存区域的所述第二BIOS配置文件,将所述第二BIOS配置文件放到所述BMC文件目录下,并生成配置修改信息,输出所述配置修改信息。
可选地,所述Dbus提供的方法包括未生效选项查询方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,包括:
所述BMC通过redfish进程调用所述未生效选项查询方法,通过所述未生效选项查询方法读取所述BMC文件目录下的所述第二BIOS配置文件的内容;
若所述服务器未重启,则确定所述第二BIOS配置文件中修改的BIOS选项未生效。
可选地,所述Dbus提供的方法包括未生效选项清除方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,包括:
所述BMC通过redfish进程调用所述未生效选项清除方法,通过所述未生效选项清除方法清空所述第二共享内存区域的所述第二BIOS配置文件,并生成文件清除信息,输出所述文件清除信息。
可选地,所述共享内存包括第三共享内存区域,所述Dbus提供的方法包括修改结果查询方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,包括:
所述BMC通过redfish进程调用所述修改结果查询方法,通过所述修改结果查询方法获取第三共享内存区域内的BIOS选项配置的修改结果,并生成BIOS选项的修改结果信息,输出所述修改结果信息;
所述修改结果信息用于在所述第二BIOS配置文件中修改的BIOS选项生效的情况下,指示修改成功;以及在所述第二BIOS配置文件中修改的BIOS选项未生效的情况下,指示修改失败。
第二方面,本发明实施例公开了一种服务器,所述服务器包括:基板管理控制器BMC、主中央处理器HOST处理器和共享内存,所述BMC分别与所述HOST处理器和所述共享内存连接;
在运行于所述HOST处理器的所述BIOS将第一BIOS配置文件写入所述共享内存后,所述BMC用于从所述共享内存获取所述第一BIOS配置文件;通过超媒体应用程序接口redfish进程调用消息总线***Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,所述配置操作包括:查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种。
可选地,所述共享内存包括第一共享内存区域;
所述BMC用于检测到所述BIOS完成上电自检POST过程,并将所述第一BIOS配置文件写入到第一共享内存区域后,读取所述第一共享内存区域的所述第一BIOS配置文件,并将所述第一BIOS配置文件放到BMC文件目录下。
可选地,所述Dbus提供的方法包括配置查询方法;
所述BMC用于通过redfish进程调用所述配置查询方法,通过所述配置查询方法读取所述BMC文件目录下的所述第一BIOS配置文件;若所述第一BIOS配置文件不存在或文件格式错误,则生成错误信息并输出所述错误信息;若所述第一BIOS配置文件存在且文件格式正确,则输出所述第一BIOS配置文件内容。
可选地,所述共享内存包括第二共享内存区域,所述Dbus提供的方法包括配置修改方法;
所述BMC用于通过redfish进程调用所述配置修改方法,并将需要修改的至少一个目标BIOS选项传入所述配置修改方法;将所述至少一个目标BIOS选项与所述第一共享内存区域内的所述第一BIOS配置文件内容进行对比;若所述目标BIOS选项都在所述第一BIOS配置文件内,则通过所述配置修改方法根据所述目标BIOS选项,在第二共享内存区域生成第二BIOS配置文件;所述BMC读取所述第二共享内存区域的所述第二BIOS配置文件,将所述第二BIOS配置文件放到所述BMC文件目录下,并生成配置修改信息,输出所述配置修改信息。
可选地,所述Dbus提供的方法包括未生效选项查询方法;
所述BMC用于通过redfish进程调用所述未生效选项查询方法,通过所述未生效选项查询方法读取所述BMC文件目录下的所述第二BIOS配置文件的内容;若所述服务器未重启,则确定所述第二BIOS配置文件中修改的BIOS选项未生效。
可选地,所述Dbus提供的方法包括未生效选项清除方法;
所述BMC用于通过redfish进程调用所述未生效选项清除方法,通过所述未生效选项清除方法清空所述第二共享内存区域的所述第二BIOS配置文件,并生成文件清除信息,输出所述文件清除信息。
可选地,所述共享内存包括第三共享内存区域,所述Dbus提供的方法包括修改结果查询方法;
所述BMC用于通过redfish进程调用所述修改结果查询方法,通过所述修改结果查询方法获取第三共享内存区域内的BIOS选项配置的修改结果,并生成BIOS选项的修改结果信息,输出所述修改结果信息;
所述修改结果信息用于在所述第二BIOS配置文件中修改的BIOS选项生效的情况下,指示修改成功;以及在所述第二BIOS配置文件中修改的BIOS选项未生效的情况下,指示修改失败。
第三方面,本发明示出了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如上任一项所述的基本输入输出***BIOS选项配置方法。
第四方面,本发明示出了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上任一项所述基本输入输出***BIOS选项配置的方法。
本发明实施例包括以下优点:
本发明实施例可以通过共享内存实现BMC和BIOS的交互,BMC通过共享内存获取运行在HOST处理器上的BIOS的第一BIOS配置文件,并通过redfish进程调用Dbus提供的方法对第一BIOS配置文件进行BIOS选项的配置操作,配置操作包括:查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种。本发明提供了BIOS选项配置从查询、修改、查询未生配置、清除未生效BIOS选项配置、再到查询配置结果的完整设计方案,能够实现同时修改多个BIOS选项的目的,解决了BIOS选项繁多,其配置过程繁琐且不便于操作的问题。
附图说明
图1是本发明实施例的一种基本输入输出***BIOS选项配置方法的步骤流程图;
图2是本发明实施例中服务器的结构图;
图3是本发明实施例的另一种基本输入输出***BIOS选项配置方法的步骤流程图;
图4本发明实施例中BMC调用Dbus下各种配置BIOS选项的方法的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明实施例的一种基本输入输出***BIOS选项配置方法的步骤流程图,该方法应用于服务器,所述服务器包括基板管理控制器BMC、主中央处理器HOST处理器和共享内存,所述BMC分别与所述HOST处理器和所述共享内存连接,所述方法具体可以包括如下步骤:
步骤101,在运行于所述HOST处理器的所述BIOS将第一BIOS配置文件写入所述共享内存后,所述BMC从所述共享内存获取所述第一BIOS配置文件;
参照图2为本发明实施例中服务器的结构图。服务器包括:基板管理控制器BMC、主中央处理器HOST处理器、共享内存和外部总线,基板管理控制器BMC包括内存控制器、BMC处理器和内部总线,BMC处理器通过内存总线与内存控制器连接。内存控制器可以设置仲裁机制对HOST处理器数据和BMC处理器数据进行防冲突处理,通过内置一个存储队列避免冲突产生,并按先进先出的顺序接收两端数据。
在本发明实施例中,HOST处理器可以通过外部总线与BMC内置的内存控制器连接,通过BIOS侧驱动程序访问内存控制器。示例性地,HOST处理器可以执行BIOS代码,使BIOS访问共享内存。BMC处理器可以通过内存总线与内存控制器连接,使BMC通过BMC侧驱动程序访问内存控制器,从而使BMC访问共享内存。
在本发明实施例中,BMC和BIOS可以基于共享内存进行交互。示例性地,在BIOS将第一BIOS配置文件写入共享内存后,BMC可以从共享内存获取BIOS的第一BIOS配置文件。其中,第一配置文件可以为json格式。BMC获取第一BIOS配置文件后可以将其放到BMC文件目录下,BMC文件目录可以为/usr/share/bmc-device。
步骤102,所述BMC通过超媒体应用程序接口redfish进程调用消息总线***Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,所述配置操作包括:查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种。
在本发明实施例中,BMC可以通过超媒体应用程序接口redfish进程调用消息总线***Dbus提供的方法,对第一BIOS配置文件进行BIOS选项的配置操作。其中,超媒体应用程序接口redfish是一个开放的行业标准规范,有管理数据中心资源、处理事件、长期任务和发现的机制,能够通过一个一致的接口来表示各种实现,为可扩展平台硬件提供简单、现代和安全的管理功能。消息总线***Dbus是三层架构的进程间通信***,其中包括:接口层,由函数库libdbus提供,可通过该库使用D-Bus的能力;总线层,由D-Bus总线守护进程提供,它在Linux***启动时运行,负责进程间的消息路由和传递;包装层,一系列基于特定应用程序框架的Wrapper库。
在本发明实施例中,BMC可以通过redfish进程调用Dbus提供的方法对第一BIOS配置文件进行BIOS选项的配置操作,该配置操作可以包括:查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种。示例性地,通过执行查询当前BIOS选项配置的操作,BMC可以查询BMC文件目录下的第一BIOS配置文件;通过执行修改BIOS选项配置的操作,BMC可以对第一BIOS配置文件内的BIOS选项进行修改;通过执行查询BIOS未生效配置的操作,BMC可以读取BMC文件目录下修改的BIOS选项,从而确定修改的BIOS选项是否生效;通过执行清除未生效的BIOS配置的操作,BMC可以清空未生效的BIOS选项所在的文件;通过执行查询BIOS选项配置的修改结果的操作,BMC可以获取是否成功设置BIOS选项的结果。
在本发明实施例中,可以通过共享内存实现BMC和BIOS的交互,BMC可以通过共享内存获取运行在HOST处理器上的BIOS的第一BIOS配置文件,并通过redfish进程调用Dbus提供的方法对第一BIOS配置文件进行BIOS选项的配置操作,配置操作包括:查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种。本发明提供了BIOS选项配置从查询、修改、查询未生配置、清除未生效BIOS选项配置、再到查询配置结果的完整设计方案,能够实现同时修改多个BIOS选项的目的,解决了BIOS选项繁多,其配置过程繁琐且不便于操作的问题。
参照图3,示出了本发明实施例的另一种基本输入输出***BIOS选项配置方法的步骤流程图,该方法应用于服务器,所述服务器包括基板管理控制器BMC、主中央处理器HOST处理器和共享内存,所述BMC分别与所述HOST处理器和所述共享内存连接,所述方法具体可以包括如下步骤:
步骤201,在运行于所述HOST处理器的所述BIOS将第一BIOS配置文件写入所述共享内存后,所述BMC检测到所述BIOS完成上电自检POST过程,并将所述第一BIOS配置文件写入到第一共享内存区域后,读取所述第一共享内存区域的所述第一BIOS配置文件,并将所述第一BIOS配置文件放到BMC文件目录下。
在本发明实施例中,共享内容区域可以分成三个部分,第一部分是当前设置currentsetting区域、第二部分是修改设置futuresetting区域、第三部分是设置结果settingresult区域。currentsetting区域用于存放当前BIOS配置选项信息;futuresetting区域用于存放未生效的BIOS选项信息;所述未生效是指执行了修改BIOS选项设置但是没有执行重启操作,BIOS没有完成POST过程,此时执行的修改的BIOS选项即为未生效的选项;settingresult区域用于存放修改BIOS选项是否成功的信息。
示例性地,在BIOS运行完成后可以设置POST结束指示信号,BMC通过访问POST结束指示信号确定BIOS的上电自检过程结束,然后将dbus下的OperatingSystemState属性设置为true。在BIOS的上电自检过程结束后,BIOS配置信息可以以第一BIOS配置文件的方式写入到第一共享内存区域。其中第一共享内存区域可以为currentsetting区域,第一BIOS配置文件可以为currentsetting.json文件。BMC检测到currentsetting区域数据变化后,可以将Dbus属性CurrentSettingUpdateFlag设置为true。在CurrentSettingUpdateFlag属性和OperatingSystemState属性都为true后,BMC可以读取currentsetting区域的currentsetting.json文件,并将其放到BMC文件目录下。
步骤202,所述BMC通过超媒体应用程序接口redfish进程调用消息总线***Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,所述配置操作包括:查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种。
在一种实施例中,所述Dbus提供的方法包括配置查询方法;所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作可以包括如下子步骤:
子步骤S11,所述BMC通过redfish进程调用所述配置查询方法,通过所述配置查询方法读取所述BMC文件目录下的所述第一BIOS配置文件;
在本发明实施例中,BMC可以通过redfish进程调用Dbus下的查询当前BIOS选项配置的方法,并通过查询当前BIOS选项配置方法读取BMC文件目录下的第一BIOS配置文件。其中,第一BIOS配置文件可以为currentsetting.json文件。
子步骤S12,若所述第一BIOS配置文件不存在或文件格式错误,则生成错误信息并输出所述错误信息;
在本发明实施例中,若第一BIOS配置文件,即currentsetting.json文件不存在,或文件格式不是json格式,则将错误信息显示在终端上。其中,终端是指与服务器通信的终端。
子步骤S13,若所述第一BIOS配置文件存在且文件格式正确,则输出所述第一BIOS配置文件内容。
在本发明实施例中,若currentsetting.json文件存在,且文件格式是json格式,则将currentsetting.json文件的内容显示在终端上。
示例性地,BMC可以向Dbus发送redfish请求,从而读取BMC文件目录下的currentsetting.json文件。若currentsetting.json文件不存在或文件不是json格式,则将错误信息显示在终端上;若currentsetting.json文件存在且文件是json格式,则将currentsetting.json内容显示在PC终端上。
在另一种实施例中,所述共享内存包括第二共享内存区域,所述Dbus提供的方法包括配置修改方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作可以包括如下子步骤:
子步骤S21,所述BMC通过redfish进程调用所述配置修改方法,并将需要修改的至少一个目标BIOS选项传入所述配置修改方法;;
在本发明实施例中,BMC可以通过redfish进程调用Dbus下的修改BIOS选项配置的方法,即SendModifySetupRequest方法,同时将需要修改的至少一个目标BIOS选项传入SendModifySetupRequest方法中。其中,需要修改的目标BIOS选项可以为json字符串。
子步骤S22,将所述至少一个目标BIOS选项与所述第一共享内存区域内的所述第一BIOS配置文件内容进行对比;
在本发明实施例中,BMC可以传入多个需要修改的目标BIOS选项,传入的多个目标BIOS选项的顺序没有要求。示例性地,每个选项之间可以通过SendModifySetupRequest方法内包含的分隔函数,即CompareByone函数,用逗号隔开。BMC可以调用SendModifySetupRequest方法将每一个BIOS选项与currentsetting区域内的currentsetting.json文件内容进行对比,并检查传入的字符串是否是json格式以及是否是有效的BIOS选项配置。
子步骤S23,若所述目标BIOS选项都在所述第一BIOS配置文件内,则通过所述配置修改方法根据所述目标BIOS选项,在第二共享内存区域生成第二BIOS配置文件;
在本发明实施例中,若目标BIOS选项都在currentsetting.json文件内,而且传入的目标BIOS选项是json格式且是有效的BIOS选项配置,则BMC可以通过SendModifySetupRequest方法根据目标BIOS选项,在第二共享内存区域生成第二BIOS配置文件。其中,第二共享内存区域可以为futuresetting区域,第二BIOS配置文件可以为futuresetting.json文件。
子步骤S24,所述BMC读取所述第二共享内存区域的所述第二BIOS配置文件,将所述第二BIOS配置文件放到所述BMC文件目录下,并生成配置修改信息,输出所述配置修改信息。
在本发明实施例中,BMC可以读取futuresetting区域的futuresetting.json文件,同时将futuresetting.json文件放到BMC文件目录下,并通过向Dbus发送redfish请求将配置修改信息显示在终端上。
在另一种实施例中,所述Dbus提供的方法包括未生效选项查询方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作可以包括如下子步骤:
子步骤S31,所述BMC通过redfish进程调用所述未生效选项查询方法,通过所述未生效选项查询方法读取所述BMC文件目录下的所述第二BIOS配置文件的内容;
在本发明实施例中,BMC可以通过redfish进程调用Dbus下的查询BIOS未生效配置方法,即GetModifySetup方法,并通过GetModifySetup方法读取BMC文件目录下的futuresetting.json文件的文件内容。
子步骤S32,若所述服务器未重启,则确定所述第二BIOS配置文件中修改的BIOS选项未生效。
在本发明实施例中,可以通过重启的过程使BIOS执行上电自检POST过程,并通过POST过程执行修改选项操作,从而使修改的BIOS选项生效。若futuresetting.json文件未经过重启的过程以及POST过程,则futuresetting.json文件的内容为未生效的BIOS选项。
示例性地,BMC可以调用Dbus下的GetModifySetup方法,读取BMC文件目录下的futuresetting.json文件内容,通过检查futuresetting.json文件是否经过重启的过程以及POST过程,确定futuresetting.json文件是否生效。若futuresetting.json文件未经过重启的过程以及POST过程,则futuresetting.json文件的内容为未生效的BIOS选项。若futuresetting.json文件经过重启的过程以及POST过程,则futuresetting.json文件的内容为生效的BIOS选项。BMC通过发送redfish请求将futuresetting.json文件的内容显示在终端上。
在另一种实施例中,所述Dbus提供的方法包括未生效选项清除方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作可以包括如下子步骤:
子步骤S41,所述BMC通过redfish进程调用所述未生效选项清除方法,通过所述未生效选项清除方法清空所述第二共享内存区域的所述第二BIOS配置文件,并生成文件清除信息,输出所述文件清除信息。
在本发明实施例中,BMC可以通过redfish进程调用Dbus下的清除未生效的BIOS配置方法,即DelModifySetup方法,并通过DelModifySetup方法清空futuresetting区域的futuresetting.json文件。BMC通过发送redfish请求将文件清除信息显示在终端上。
示例性地,BMC可以调用Dbus下的DelModifySetup方法,并通过DelModifySetup方法底层调用memset函数执行清空操作,清空futuresetting区域的未生效的futuresetting.json文件,同时将BMC文件目录下的futuresetting.json文件删除,并返回布尔类型的返回值。若返回值为true,证明清除成功;若返回值为false,证明清除失败。BMC通过发送redfish请求将文件清除信息显示在终端上。
在另一种实施例中,所述共享内存包括第三共享内存区域,所述Dbus提供的方法包括修改结果查询方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作可以包括如下子步骤:
子步骤S51,所述BMC通过redfish进程调用所述修改结果查询方法,通过所述修改结果查询方法获取第三共享内存区域内的BIOS选项配置的修改结果,并生成BIOS选项的修改结果信息,输出所述修改结果信息;
在本发明实施例中,BMC可以通过redfish进程调用Dbus下的查询BIOS选项配置的修改结果方法,即GetSetupResult方法,并通过GetSetupResult方法获取第三共享内存区域内的BIOS选项配置的修改结果。其中,第三共享内存区域可以为settingresult区域。BMC通过发送redfish请求将BIOS选项的修改结果信息显示在终端上。
子步骤S52,所述修改结果信息用于在所述第二BIOS配置文件中修改的BIOS选项生效的情况下,指示修改成功;以及在所述第二BIOS配置文件中修改的BIOS选项未生效的情况下,指示修改失败。
在本发明实施例中,修改结果信息用于在经过重启过程以及POST过程后,futuresetting.json文件中修改的BIOS选项生效的情况下,指示修改成功;以及在未经过重启过程或POST过程,futuresetting.json文件中修改的BIOS选项未生效的情况下,指示修改失败。
示例性地,BMC可以通过调用Dbus下的GetSetupResult方法读取settingresult区域的读值,以此获取BIOS选项的修改结果信息。settingresult区域的读值可以通过futuresetting.json文件是否经过重启过程以及POST过程来确定。若settingresult区域的读值为true,指示修改成功;若settingresult区域的读值为false,指示修改失败。
参照图4,示出了本发明实施例中BMC调用Dbus下各种配置BIOS选项的方法的示意图,其中,BMC通过redfish进程调用Dbus总线下的与BIOS选项控制进程相关的方法,所述方法具体可以包括:SendModifySetupRequest方法、GetModifySetup方法、DelModifySetup方法、GetSetupResult方法。
本发明实施例中,BMC可以通过发送不同的redfish请求,调用Dbus下不同的方法。发送修改BIOS选项的redfish请求,调用Dbus下的SendModifySetupRequest方法;发送查询BIOS未生效的设置信息的redfish请求,调用Dbus下的GetModifySetup方法;发送清除未生效的BIOS设置的redfish请求,调用Dbus下的DelModifySetup方法;发送查询设置BIOS选项的修改结果的redfish请求,调用Dbus下的GetSetupResult方法。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明实施例还提供了一种服务器,所述服务器包括基板管理控制器BMC、主中央处理器HOST处理器和共享内存,所述BMC分别与所述HOST处理器和所述共享内存连接;
在运行于所述HOST处理器的所述BIOS将第一BIOS配置文件写入所述共享内存后,所述BMC用于从所述共享内存获取所述第一BIOS配置文件;通过超媒体应用程序接口redfish进程调用消息总线***Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,所述配置操作包括:查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种。
在本发明实施例中,所述共享内存包括第一共享内存区域;
所述BMC用于检测到所述BIOS完成上电自检POST过程,并将所述第一BIOS配置文件写入到第一共享内存区域后,读取所述第一共享内存区域的所述第一BIOS配置文件,并将所述第一BIOS配置文件放到BMC文件目录下。
在本发明实施例中,所述Dbus提供的方法包括配置查询方法;
所述BMC用于通过redfish进程调用所述配置查询方法,通过所述配置查询方法读取所述BMC文件目录下的所述第一BIOS配置文件;若所述第一BIOS配置文件不存在或文件格式错误,则生成错误信息并输出所述错误信息;若所述第一BIOS配置文件存在且文件格式正确,则输出所述第一BIOS配置文件内容。
在本发明实施例中,所述共享内存包括第二共享内存区域,所述Dbus提供的方法包括配置修改方法;
所述BMC用于通过redfish进程调用所述配置修改方法,并将需要修改的至少一个目标BIOS选项传入所述配置修改方法;将所述至少一个目标BIOS选项与所述第一共享内存区域内的所述第一BIOS配置文件内容进行对比;若所述目标BIOS选项都在所述第一BIOS配置文件内,则通过所述配置修改方法根据所述目标BIOS选项,在第二共享内存区域生成第二BIOS配置文件;所述BMC读取所述第二共享内存区域的所述第二BIOS配置文件,将所述第二BIOS配置文件放到所述BMC文件目录下,并生成配置修改信息,输出所述配置修改信息。
在本发明实施例中,所述Dbus提供的方法包括未生效选项查询方法;
所述BMC用于通过redfish进程调用所述未生效选项查询方法,通过所述未生效选项查询方法读取所述BMC文件目录下的所述第二BIOS配置文件的内容;若所述服务器未重启,则确定所述第二BIOS配置文件中修改的BIOS选项未生效。
在本发明实施例中,所述Dbus提供的方法包括未生效选项清除方法;
所述BMC用于通过redfish进程调用所述未生效选项清除方法,通过所述未生效选项清除方法清空所述第二共享内存区域的所述第二BIOS配置文件,并生成文件清除信息,输出所述文件清除信息。
在本发明实施例中,所述共享内存包括第三共享内存区域,所述Dbus提供的方法包括修改结果查询方法;
所述BMC用于通过redfish进程调用所述修改结果查询方法,通过所述修改结果查询方法获取第三共享内存区域内的BIOS选项配置的修改结果,并生成BIOS选项的修改结果信息,输出所述修改结果信息;
所述修改结果信息用于在所述第二BIOS配置文件中修改的BIOS选项生效的情况下,指示修改成功;以及在所述第二BIOS配置文件中修改的BIOS选项未生效的情况下,指示修改失败。
对于服务器实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如上任一项所述的基本输入输出***BIOS选项配置方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如上任一项所述基本输入输出***BIOS选项配置的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的机器可读介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基本输入输出***BIOS选项配置方法和一种服务器,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种基本输入输出***BIOS选项配置方法,其特征在于,应用于服务器,所述服务器包括基板管理控制器BMC、主中央处理器HOST处理器和共享内存,所述BMC分别与所述HOST处理器和所述共享内存连接,所述方法包括:
在运行于所述HOST处理器的所述BIOS将第一BIOS配置文件写入所述共享内存后,所述BMC从所述共享内存获取所述第一BIOS配置文件;
所述BMC通过超媒体应用程序接口redfish进程调用消息总线***Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,所述配置操作包括:查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种。
2.根据权利要求1所述的方法,其特征在于,所述共享内存包括第一共享内存区域,所述BMC从所述共享内存获取所述第一BIOS配置文件,包括:
所述BMC检测到所述BIOS完成上电自检POST过程,并将所述第一BIOS配置文件写入到第一共享内存区域后,读取所述第一共享内存区域的所述第一BIOS配置文件,并将所述第一BIOS配置文件放到BMC文件目录下。
3.根据权利要求1所述的方法,其特征在于,所述Dbus提供的方法包括配置查询方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,包括:
所述BMC通过redfish进程调用所述配置查询方法,通过所述配置查询方法读取所述BMC文件目录下的所述第一BIOS配置文件;
若所述第一BIOS配置文件不存在或文件格式错误,则生成错误信息并输出所述错误信息;
若所述第一BIOS配置文件存在且文件格式正确,则输出所述第一BIOS配置文件内容。
4.根据权利要求3所述的方法,其特征在于,所述共享内存包括第二共享内存区域,所述Dbus提供的方法包括配置修改方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,包括:
所述BMC通过redfish进程调用所述配置修改方法,并将需要修改的至少一个目标BIOS选项传入所述配置修改方法;
将所述至少一个目标BIOS选项与所述第一共享内存区域内的所述第一BIOS配置文件内容进行对比;
若所述目标BIOS选项都在所述第一BIOS配置文件内,则通过所述配置修改方法根据所述目标BIOS选项,在第二共享内存区域生成第二BIOS配置文件;
所述BMC读取所述第二共享内存区域的所述第二BIOS配置文件,将所述第二BIOS配置文件放到所述BMC文件目录下,并生成配置修改信息,输出所述配置修改信息。
5.根据权利要求4所述的方法,其特征在于,所述Dbus提供的方法包括未生效选项查询方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,包括:
所述BMC通过redfish进程调用所述未生效选项查询方法,通过所述未生效选项查询方法读取所述BMC文件目录下的所述第二BIOS配置文件的内容;
若所述服务器未重启,则确定所述第二BIOS配置文件中修改的BIOS选项未生效。
6.根据权利要求5所述的方法,其特征在于,所述Dbus提供的方法包括未生效选项清除方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,包括:
所述BMC通过redfish进程调用所述未生效选项清除方法,通过所述未生效选项清除方法清空所述第二共享内存区域的所述第二BIOS配置文件,并生成文件清除信息,输出所述文件清除信息。
7.根据权利要求5所述的方法,其特征在于,所述共享内存包括第三共享内存区域,所述Dbus提供的方法包括修改结果查询方法;
所述BMC通过超媒体应用程序接口redfish进程调用工作台通信机制Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,包括:
所述BMC通过redfish进程调用所述修改结果查询方法,通过所述修改结果查询方法获取第三共享内存区域内的BIOS选项配置的修改结果,并生成BIOS选项的修改结果信息,输出所述修改结果信息;
所述修改结果信息用于在所述第二BIOS配置文件中修改的BIOS选项生效的情况下,指示修改成功;以及在所述第二BIOS配置文件中修改的BIOS选项未生效的情况下,指示修改失败。
8.一种服务器,其特征在于,所述服务器包括基板管理控制器BMC、主中央处理器HOST处理器和共享内存,所述BMC分别与所述HOST处理器和所述共享内存连接;
在运行于所述HOST处理器的所述BIOS将第一BIOS配置文件写入所述共享内存后,所述BMC用于从所述共享内存获取所述第一BIOS配置文件;通过超媒体应用程序接口redfish进程调用消息总线***Dbus提供的方法,对所述第一BIOS配置文件进行BIOS选项的配置操作,所述配置操作包括:查询当前BIOS选项配置的操作,修改BIOS选项配置的操作,查询BIOS未生效配置的操作,清除未生效的BIOS配置的操作,查询BIOS选项配置的修改结果的操作中的至少一种。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如权利要求1-7任一项所述的基本输入输出***BIOS选项配置方法。
10.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述基本输入输出***BIOS选项配置的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310854636.1A CN117032818A (zh) | 2023-07-12 | 2023-07-12 | 一种基本输入输出***bios选项配置方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310854636.1A CN117032818A (zh) | 2023-07-12 | 2023-07-12 | 一种基本输入输出***bios选项配置方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117032818A true CN117032818A (zh) | 2023-11-10 |
Family
ID=88628790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310854636.1A Pending CN117032818A (zh) | 2023-07-12 | 2023-07-12 | 一种基本输入输出***bios选项配置方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117032818A (zh) |
-
2023
- 2023-07-12 CN CN202310854636.1A patent/CN117032818A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11385903B2 (en) | Firmware update patch | |
CN110865888B (zh) | 一种资源加载方法、装置、服务器及存储介质 | |
US10789111B2 (en) | Message oriented middleware with integrated rules engine | |
CN109783345B (zh) | 一种小程序性能测试方法和*** | |
JP5652480B2 (ja) | データベース更新通知方法 | |
CN107861691B (zh) | 一种多控存储***的负载均衡方法和装置 | |
CN110659104B (zh) | 一种业务监控方法及相关设备 | |
CN112579307A (zh) | 一种物理锁资源的分配检测方法、装置及电子设备 | |
CN109254856B (zh) | 智能pos服务端提供接口给客户端的方法 | |
CN109634782B (zh) | 一种***健壮性的检测方法、装置、存储介质及终端 | |
CN117032818A (zh) | 一种基本输入输出***bios选项配置方法和装置 | |
CN112130900B (zh) | 一种bmc的用户信息管理方法、***、设备以及介质 | |
CN110727945B (zh) | 病毒扫描方法、设备以及计算机可读介质 | |
CN114036218A (zh) | 一种数据模型切换方法、装置、服务器和存储介质 | |
CN113760465A (zh) | 一种事务执行方法、装置、服务器、设备和存储介质 | |
CN108509223B (zh) | 一种数据处理方法、装置、***及存储介质 | |
CN113760631A (zh) | 页面加载时长确定方法、装置、设备和存储介质 | |
CN112580086A (zh) | 配置文件的访问保护方法、装置、设备以及存储介质 | |
CN111726373B (zh) | 通信链路构建方法、装置和设备 | |
CN113687915B (zh) | 容器运行方法、装置、设备及存储介质 | |
US20230342125A1 (en) | Enforcement of environmental conditions for cloud applications | |
CN110191141B (zh) | 服务调用信息处理方法、装置及计算机*** | |
WO2021003729A1 (zh) | 配置方法、物理设备、服务器及计算机可读存储介质 | |
CN114880116A (zh) | 一种多版本运行方法、电子设备和存储介质 | |
CN114676018A (zh) | 一种用于更新设备状态的方法、设备、介质及程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |