[go: up one dir, main page]

CN114546518B - 一种实现bios升降级配置选项保留的方法及装置 - Google Patents

一种实现bios升降级配置选项保留的方法及装置 Download PDF

Info

Publication number
CN114546518B
CN114546518B CN202210086970.2A CN202210086970A CN114546518B CN 114546518 B CN114546518 B CN 114546518B CN 202210086970 A CN202210086970 A CN 202210086970A CN 114546518 B CN114546518 B CN 114546518B
Authority
CN
China
Prior art keywords
data
bios
data structure
bmc
configuration option
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.)
Active
Application number
CN202210086970.2A
Other languages
English (en)
Other versions
CN114546518A (zh
Inventor
芦飞
艾山彬
王优博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210086970.2A priority Critical patent/CN114546518B/zh
Publication of CN114546518A publication Critical patent/CN114546518A/zh
Application granted granted Critical
Publication of CN114546518B publication Critical patent/CN114546518B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种实现BIOS升降级配置选项保留的方法及装置,属于BIOS固件更新技术领域,所述方法步骤如下:在BMC中预先设置第一及第二数据结构体;BMC将配置选项修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;BIOS从第一数据结构体中读取配置选项数据,将配置选项修改数据设置到BIOS中,取消第一数据结构体的标志位置位,并执行重启;BIOS获取自身当前配置选项数据,发送给BMC以存储到第二数据结构体中;带内外通过BMC执行保留配置选项数据的BIOS固件刷新,验证刷新结果正确性。本发明使得带内及带外刷新BIOS,均能实现刷新后配置选项得以保留,保证刷新后BIOS配置选项正确性。

Description

一种实现BIOS升降级配置选项保留的方法及装置
技术领域
本发明属于BIOS固件更新技术领域,具体涉及一种实现BIOS升降级配置选项保留的方法及装置。
背景技术
随着服务器技术的不断推广与发展,服务器性能、功能以及易用性都在不断增强,而服务器中BIOS Setup配置选项越来越多,不同的客户根据自己业务的需求可以配置不同的选项组合,但在设置过程中经常会面临如下几个问题:一、线上或产线多个节点选项设置完成后,BIOS需要升级刷新动作,会需要再进行原有选项设置的操作,浪费人力影响配置效率。二、配置完成后,需要检查选项的设置状态是否正确。
目前通过两种方案进行BIOS选项的保留。第一种是使用AFU工具对带内刷新时,BIOS选项进行保留,此中方案由于选项变量位于BIOS的NVRAM中,根据刷新的指令可以跳过该区域的刷新,实现BIOS选项的保留,但此时当BIOS前后两个版本的选项布局发生变化时,无法实现保留参数的功能,必须强制刷新整个BIOS区域。第二种是基于redfish技术进行BIOS选项的保留,此种方案BMC会存有设置选项后生成的选项集合json文件,在BIOS更新完成后,开机过程中BIOS会根据保留参数刷新的条件同步json文件,更新BIOS NVRAM中的选项变量,实现BIOS选项的保留,此种采用redfish技术,需要BIOS和BMC间导入相应的模块,但业界对于这些模块的支持上不成熟,常常会导致宕机等异常问题出现,一方面影响产品稳定性,另一方面也会明显导致开机的时间加长,降低产品的使用效果。
此为现有技术的不足,因此,针对现有技术中的上述缺陷,提供一种实现BIOS升降级配置选项保留的方法及装置,是非常有必要的。
发明内容
针对现有技术的上述部分配置选项修改的应用场景,现有使用AFU工具的方式无法在BIOS刷新前后布局变化时保留选项参数,而现有采用redfish技术的方案需要导入的模块降低产品稳定性的缺陷,本发明提供一种实现BIOS升降级配置选项保留的方法及装置,以解决上述技术问题。
第一方面,本发明提供一种实现BIOS升降级配置选项保留的方法,包括如下步骤:
S1.在BMC中预先设置第一数据结构体和第二数据结构体;
S2.BMC接收到用户发送的配置选项修改数据时,将配置选项修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;
S3.BIOS获知第一数据结构体的标志位置位后,从第一数据结构体中读取配置选项数据,将配置选项修改数据设置到BIOS中,取消第一数据结构体的标志位置位,并执行重启;
S4.BIOS获取自身当前配置选项数据,并将当前配置选项数据发送给BMC以存储到第二数据结构体中;
S5.带内通过AFU工具以及带外通过BMC执行保留配置选项数据的BIOS固件刷新,验证刷新结果正确性,同时将BMC第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体的标志位置位。
进一步地,步骤S1具体步骤如下:
S11.在BMC中预先设置用于存储配置选项数据的第一数据结构体和第二数据结构体,并在第一数据结构体及第二数据结构体的标头中分别设置标志位;
S12.在BMC网页中设置保留参数可选项;
S13.在BIOS中预先设置选项组合结构体,并在选项组合结构体中设置偏移量和数值。第一数据结构体用于存储需要修改的BIOS配置选项,而第二数据结构体用于存储当前BIOS配置选项;BMC网页中保留参数可用于进行保留原有BIOS配置选项的选择。
进一步地,步骤S2具体步骤如下:
S21.用户通过IPMI写命令向BMC发送需要修改的配置选项及修改数据到BMC;
S22.BMC将需要修改的配置选项及修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位。第一数据结构体中标志位用于指示是否需要对BIOS配置选项进行修改。
进一步地,步骤S3具体步骤如下:
S31.BIOS开机后,通过IPMI读命令从BMC的第一数据结构体读取标志位,并判断标志位是否置位;
若是,进入步骤S32;
若否,进入步骤S4;
S32.BIOS从BMC第一数据结构体中读取需要修改的配置选项及修改数据,并进行配置选项修改;
S33.BIOS通过IPMI写命令将第一数据结构体的标志位置位取消,并执行重启;
S34.BMC检查第一数据结构体中标志位是否置位;
若是,进入步骤S4;
若否,将第一数据结构体中数据清除。BIOS开机后通过第一数据结构体标志位判断是否需要进行配置选项修改,当需要修改时,获取配置选项修改数据进行BIOS配置选项修改,并在修改完后,取消标志位的置位,防止后续误判断。
进一步地,步骤S4具体步骤如下:
S41.BIOS收集自身当前配置选项数据,并通过IPMI设置命令发送给BMC;
S42.BMC将BIOS当前配置选项数据存储到第二数据结构体中;
S43.在BMC设置配置选项查询接口,用户可通过IPMI获取命令从第二数据结构体中查询BIOS当前配选项。BIOS通过第二数据结构体保存当前配置选项,用于进行配置选项的保留。
进一步地,步骤S41具体步骤如下:
S411.BIOS获取自身当前配置选项数据,并将当前配置选项数据存储在选项组合结构体中,其中,数据值中存储当前配置选项数据,偏移量中存储选项组合结构体地址;
S412.BIOS通过IPMI命令将选项组合结构体中数据发送到BMC;
S413.BMC创建临时结构体,存储选项组合结构体中数据,并通过偏移量获取选项组合结构体中数据值,从而得到BIOS当前配置选项数据。选项组合结构体与临时结构体实现BIOS与BMC中数据结构体中数据的对接。
进一步地,步骤S5具体步骤如下:
S51.判断对BIOS执行带内刷新还是带外刷新;
若是带内刷新,进入步骤S52;
若是带外刷新,进入步骤S54;
S52.在操作系统下,用户带内发送IPMI命令给BMC;
S53.BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,再通过AFU工具执行强刷BIOS指令,进入步骤S56;
S54.在操作系统下,用通过带外发送IPMI命令给BMC,或者在BMC网页中选择保留参数可选项;
S55. BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,通知BIOS执行固件刷新;
S56.BMC验证刷新结果正确性。无论带外刷新还是带内刷新,都将第二结构体中当前配置数据保存到第一数据结构体中,并置位第一数据结构体的标志位,视为BIOS配置选项有修改,从而使得BIOS保留原有配置选项生效,增加稳定性。
进一步地,步骤S56具体步骤如下:
S561.BIOS固件刷新完成,进入操作系统;
S562.BMC获取第二数据结构体中配置选项数据,并进行CRC计算,生成第一校验数据;
S563.BMC通过IPMI命令获取当前BIOS配置选项数据,并进行CRC计算,生成第二校验数据;
S564.比较第一校验数据与第二校验数据是否一致;
若是,则BIOS固件刷新结果正确;
若否,则BIOS固件刷新结果错误。对刷新结果的验证保证BIOS固件刷新有效进行。
第二方面,本发明提供一种实现BIOS升降级配置选项保留的装置,包括:
数据结构体设置模块,用于在BMC中预先设置第一数据结构体和第二数据结构体;
配置选项修改数据修改模块,用于BMC接收到用户发送的配置选项修改数据时,将配置选项修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;
配置选项修改模块,用于BIOS获知第一数据结构体的标志位置位后,从第一数据结构体中读取配置选项数据,将配置选项修改数据设置到BIOS中,取消第一数据结构体的标志位置位,并执行重启;
当前配置选项数据获取模块,用于BIOS获取自身当前配置选项数据,并将当前配置选项数据发送给BMC以存储到第二数据结构体中;
配置选项保留刷新模块,用于带内通过AFU工具以及带外通过BMC执行保留配置选项数据的BIOS固件刷新,验证刷新结果正确性,同时将BMC第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体的标志位置位。
进一步地,数据结构体设置模块包括:
BMC中结构体设置单元,用于在BMC中预先设置用于存储配置选项数据的第一数据结构体和第二数据结构体,并在第一数据结构体及第二数据结构体的标头中分别设置标志位;
BMC网页可选项设置单元,用于在BMC网页中设置保留参数可选项;
BIOS中结构体设置单元,用于在BIOS中预先设置选项组合结构体,并在选项组合结构体中设置偏移量和数值;
配置选项修改数据修改模块包括:
配置选项修改数据写单元,用于用户通过IPMI写命令向BMC发送需要修改的配置选项及修改数据到BMC;
配置选项修改标记单元,用于BMC将需要修改的配置选项及修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;
配置选项修改模块包括:
标志位判断单元,用于BIOS开机后,通过IPMI读命令从BMC的第一数据结构体读取标志位,并判断标志位是否置位;
配置选项修改单元,用于标志为置位时,BIOS从BMC第一数据结构体中读取需要修改的配置选项及修改数据,并进行配置选项修改;
配置选项修改标记取消单元,用于BIOS通过IPMI写命令将第一数据结构体的标志位置位取消,并执行重启;
标志位置位检查单元,用于BMC检查第一数据结构体中标志位是否置位;
配置选项修改数据清除单元,用于第一数据结构体中标志位未置位时,将第一数据结构体中数据清除;
当前配置选项数据获取模块包括:
当前配置选项发送单元,用于BIOS收集自身当前配置选项数据,并通过IPMI设置命令发送给BMC;
当前配置选项保存单元,用于BMC将BIOS当前配置选项数据存储到第二数据结构体中;
当前配置选项查询单元,用于在BMC设置配置选项查询接口,用户可通过IPMI获取命令从第二数据结构体中查询BIOS当前配选项;
配置选项保留刷新模块包括:
刷新模式判断单元,用于判断对BIOS执行带内刷新还是带外刷新;
带内命令发送单元,用于带内刷新时,在操作系统下,用户带内发送IPMI命令给BMC;
第一刷新单元,用于BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,再通过AFU工具执行强刷BIOS指令;
带外命令发送单元,用于带外刷新时,在操作系统下,用通过带外发送IPMI命令给BMC,或者在BMC网页中选择保留参数可选项;
第二刷新单元,用于 BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,通知BIOS执行固件刷新;
刷新结果正确性验证单元,用于BMC验证刷新结果正确性。
本发明的有益效果在于:
本发明提供的实现BIOS升降级配置选项保留的方法及装置,对于BIOS配置选项需要修改的应用场景,无论带内还是带外刷新BIOS,均能实现刷新后配置选项得以保留,保证刷新后BIOS配置选项正确性,提高产品的易用性和稳定性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的实现BIOS升降级配置选项保留的方法实施例1流程示意图。
图2是本发明的实现BIOS升降级配置选项保留的方法实施例2流程示意图。
图3是本发明的实现BIOS升降级配置选项保留的装置示意图。
图中,1-数据结构体设置模块;1.1-BMC中结构体设置单元;1.2-BMC网页可选项设置单元;1.3-BIOS中结构体设置单元;2-配置选项修改数据修改模块;2.1-配置选项修改数据写单元;2.2-配置选项修改标记单元;3-配置选项修改模块;3.1-标志位判断单元;3.2-配置选项修改单元;3.3-配置选项修改标记取消单元;3.4-标志位置位检查单元;3.5-配置选项修改数据清除单元;4-当前配置选项数据获取模块;4.1-当前配置选项发送单元;4.2-当前配置选项保存单元;4.3-当前配置选项查询单元;5-配置选项保留刷新模块;5.1-刷新模式判断单元;5.2-带内命令发送单元;5.3-第一刷新单元;5.4-带外命令发送单元;5.5-第二刷新单元;5.6-刷新结果正确性验证单元。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
AFU工具,全称是AMI Aptio AFU,是一款BIOS刷新工具包。
redfish,是一个开放的行业标准规范,为可扩展平台硬件提供简单,现代和安全的管理功能;是一个超媒体API,所以它能够通过一个一致的接口来表示各种实现。
实施例1:
如图1所示,本发明提供一种实现BIOS升降级配置选项保留的方法,包括如下步骤:
S1.在BMC中预先设置第一数据结构体和第二数据结构体;
S2.BMC接收到用户发送的配置选项修改数据时,将配置选项修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;
S3.BIOS获知第一数据结构体的标志位置位后,从第一数据结构体中读取配置选项数据,将配置选项修改数据设置到BIOS中,取消第一数据结构体的标志位置位,并执行重启;
S4.BIOS获取自身当前配置选项数据,并将当前配置选项数据发送给BMC以存储到第二数据结构体中;
S5.带内通过AFU工具以及带外通过BMC执行保留配置选项数据的BIOS固件刷新,验证刷新结果正确性,同时将BMC第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体的标志位置位。
实施例2:
如图2所示,本发明提供一种实现BIOS升降级配置选项保留的方法,包括如下步骤:
S1.在BMC中预先设置第一数据结构体和第二数据结构体;具体步骤如下:
S11.在BMC中预先设置用于存储配置选项数据的第一数据结构体和第二数据结构体,并在第一数据结构体及第二数据结构体的标头中分别设置标志位;
S12.在BMC网页中设置保留参数可选项;
S13.在BIOS中预先设置选项组合结构体,并在选项组合结构体中设置偏移量和数值;
S2.BMC接收到用户发送的配置选项修改数据时,将配置选项修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;具体步骤如下:
S21.用户通过IPMI写命令向BMC发送需要修改的配置选项及修改数据到BMC;
S22.BMC将需要修改的配置选项及修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;
S3.BIOS获知第一数据结构体的标志位置位后,从第一数据结构体中读取配置选项数据,将配置选项修改数据设置到BIOS中,取消第一数据结构体的标志位置位,并执行重启;具体步骤如下:
S31.BIOS开机后,通过IPMI读命令从BMC的第一数据结构体读取标志位,并判断标志位是否置位;
若是,进入步骤S32;
若否,进入步骤S4;
S32.BIOS从BMC第一数据结构体中读取需要修改的配置选项及修改数据,并进行配置选项修改;
S33.BIOS通过IPMI写命令将第一数据结构体的标志位置位取消,并执行重启;
S34.BMC检查第一数据结构体中标志位是否置位;
若是,进入步骤S4;
若否,将第一数据结构体中数据清除;
S4.BIOS获取自身当前配置选项数据,并将当前配置选项数据发送给BMC以存储到第二数据结构体中;具体步骤如下:
S41.BIOS收集自身当前配置选项数据,并通过IPMI设置命令发送给BMC;具体步骤如下:
S411.BIOS获取自身当前配置选项数据,并将当前配置选项数据存储在选项组合结构体中,其中,数据值中存储当前配置选项数据,偏移量中存储选项组合结构体地址;
S412.BIOS通过IPMI命令将选项组合结构体中数据发送到BMC;
S413.BMC创建临时结构体,存储选项组合结构体中数据,并通过偏移量获取选项组合结构体中数据值,从而得到BIOS当前配置选项数据;
S42.BMC将BIOS当前配置选项数据存储到第二数据结构体中;
S43.在BMC设置配置选项查询接口,用户可通过IPMI获取命令从第二数据结构体中查询BIOS当前配选项;
S5.带内通过AFU工具以及带外通过BMC执行保留配置选项数据的BIOS固件刷新,验证刷新结果正确性,同时将BMC第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体的标志位置位;具体步骤如下:
S51.判断对BIOS执行带内刷新还是带外刷新;
若是带内刷新,进入步骤S52;
若是带外刷新,进入步骤S54;
S52.在操作系统下,用户带内发送IPMI命令给BMC;
S53.BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,再通过AFU工具执行强刷BIOS指令,进入步骤S56;
S54.在操作系统下,用通过带外发送IPMI命令给BMC,或者在BMC网页中选择保留参数可选项;
S55. BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,通知BIOS执行固件刷新;
S56.BMC验证刷新结果正确性;具体步骤如下:
S561.BIOS固件刷新完成,进入操作系统;
S562.BMC获取第二数据结构体中配置选项数据,并进行CRC计算,生成第一校验数据;
S563.BMC通过IPMI命令获取当前BIOS配置选项数据,并进行CRC计算,生成第二校验数据;
S564.比较第一校验数据与第二校验数据是否一致;
若是,则BIOS固件刷新结果正确;
若否,则BIOS固件刷新结果错误。
实施例3:
如图3所示,本发明提供一种实现BIOS升降级配置选项保留的装置,包括:
数据结构体设置模块1,用于在BMC中预先设置第一数据结构体和第二数据结构体;数据结构体设置模块1包括:
BMC中结构体设置单元1.1,用于在BMC中预先设置用于存储配置选项数据的第一数据结构体和第二数据结构体,并在第一数据结构体及第二数据结构体的标头中分别设置标志位;
BMC网页可选项设置单元1.2,用于在BMC网页中设置保留参数可选项;
BIOS中结构体设置单元1.3,用于在BIOS中预先设置选项组合结构体,并在选项组合结构体中设置偏移量和数值;
配置选项修改数据修改模块2,用于BMC接收到用户发送的配置选项修改数据时,将配置选项修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;配置选项修改数据修改模块2包括:
配置选项修改数据写单元2.1,用于用户通过IPMI写命令向BMC发送需要修改的配置选项及修改数据到BMC;
配置选项修改标记单元2.2,用于BMC将需要修改的配置选项及修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;
配置选项修改模块3,用于BIOS获知第一数据结构体的标志位置位后,从第一数据结构体中读取配置选项数据,将配置选项修改数据设置到BIOS中,取消第一数据结构体的标志位置位,并执行重启;配置选项修改模块3包括:
标志位判断单元3.1,用于BIOS开机后,通过IPMI读命令从BMC的第一数据结构体读取标志位,并判断标志位是否置位;
配置选项修改单元3.2,用于标志为置位时,BIOS从BMC第一数据结构体中读取需要修改的配置选项及修改数据,并进行配置选项修改;
配置选项修改标记取消单元3.3,用于BIOS通过IPMI写命令将第一数据结构体的标志位置位取消,并执行重启;
标志位置位检查单元3.4,用于BMC检查第一数据结构体中标志位是否置位;
配置选项修改数据清除单元3.5,用于第一数据结构体中标志位未置位时,将第一数据结构体中数据清除;
当前配置选项数据获取模块4,用于BIOS获取自身当前配置选项数据,并将当前配置选项数据发送给BMC以存储到第二数据结构体中;当前配置选项数据获取模块4包括:
当前配置选项发送单元4.1,用于BIOS收集自身当前配置选项数据,并通过IPMI设置命令发送给BMC;
当前配置选项保存单元4.2,用于BMC将BIOS当前配置选项数据存储到第二数据结构体中;
当前配置选项查询单元4.3,用于在BMC设置配置选项查询接口,用户可通过IPMI获取命令从第二数据结构体中查询BIOS当前配选项;
配置选项保留刷新模块5,用于带内通过AFU工具以及带外通过BMC执行保留配置选项数据的BIOS固件刷新,验证刷新结果正确性,同时将BMC第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体的标志位置位;配置选项保留刷新模块5包括:
刷新模式判断单元5.1,用于判断对BIOS执行带内刷新还是带外刷新;
带内命令发送单元5.2,用于带内刷新时,在操作系统下,用户带内发送IPMI命令给BMC;
第一刷新单元5.3,用于BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,再通过AFU工具执行强刷BIOS指令;
带外命令发送单元5.4,用于带外刷新时,在操作系统下,用通过带外发送IPMI命令给BMC,或者在BMC网页中选择保留参数可选项;
第二刷新单元5.5,用于 BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,通知BIOS执行固件刷新;
刷新结果正确性验证单元5.6,用于BMC验证刷新结果正确性。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种实现BIOS升降级配置选项保留的方法,其特征在于,包括如下步骤:
S1.在BMC中预先设置第一数据结构体和第二数据结构体;
S2.BMC接收到用户发送的配置选项修改数据时,将配置选项修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;
S3.BIOS获知第一数据结构体的标志位置位后,从第一数据结构体中读取配置选项数据,将配置选项修改数据设置到BIOS中,取消第一数据结构体的标志位置位,并执行重启;
S4.BIOS获取自身当前配置选项数据,并将当前配置选项数据发送给BMC以存储到第二数据结构体中;
S5.带内通过AFU工具以及带外通过BMC执行保留配置选项数据的BIOS固件刷新,验证刷新结果正确性,同时将BMC第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体的标志位置位。
2.如权利要求1所述的实现BIOS升降级配置选项保留的方法,其特征在于,步骤S1具体步骤如下:
S11.在BMC中预先设置用于存储配置选项数据的第一数据结构体和第二数据结构体,并在第一数据结构体及第二数据结构体的标头中分别设置标志位;
S12.在BMC网页中设置保留参数可选项;
S13.在BIOS中预先设置选项组合结构体,并在选项组合结构体中设置偏移量和数值。
3.如权利要求2所述的实现BIOS升降级配置选项保留的方法,其特征在于,步骤S2具体步骤如下:
S21.用户通过IPMI写命令向BMC发送需要修改的配置选项及修改数据到BMC;
S22.BMC将需要修改的配置选项及修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位。
4.如权利要求3所述的实现BIOS升降级配置选项保留的方法,其特征在于,步骤S3具体步骤如下:
S31.BIOS开机后,通过IPMI读命令从BMC的第一数据结构体读取标志位,并判断标志位是否置位;
若是,进入步骤S32;
若否,进入步骤S4;
S32.BIOS从BMC第一数据结构体中读取需要修改的配置选项及修改数据,并进行配置选项修改;
S33.BIOS通过IPMI写命令将第一数据结构体的标志位置位取消,并执行重启;
S34.BMC检查第一数据结构体中标志位是否置位;
若是,进入步骤S4;
若否,将第一数据结构体中数据清除。
5.如权利要求4所述的实现BIOS升降级配置选项保留的方法,其特征在于,步骤S4具体步骤如下:
S41.BIOS收集自身当前配置选项数据,并通过IPMI设置命令发送给BMC;
S42.BMC将BIOS当前配置选项数据存储到第二数据结构体中;
S43.在BMC设置配置选项查询接口,用户可通过IPMI获取命令从第二数据结构体中查询BIOS当前配选项。
6.如权利要求5所述的实现BIOS升降级配置选项保留的方法,其特征在于,步骤S41具体步骤如下:
S411.BIOS获取自身当前配置选项数据,并将当前配置选项数据存储在选项组合结构体中,其中,数据值中存储当前配置选项数据,偏移量中存储选项组合结构体地址;
S412.BIOS通过IPMI命令将选项组合结构体中数据发送到BMC;
S413.BMC创建临时结构体,存储选项组合结构体中数据,并通过偏移量获取选项组合结构体中数据值,从而得到BIOS当前配置选项数据。
7.如权利要求5所述的实现BIOS升降级配置选项保留的方法,其特征在于,步骤S5具体步骤如下:
S51.判断对BIOS执行带内刷新还是带外刷新;
若是带内刷新,进入步骤S52;
若是带外刷新,进入步骤S54;
S52.在操作系统下,用户带内发送IPMI命令给BMC;
S53.BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,再通过AFU工具执行强刷BIOS指令,进入步骤S56;
S54.在操作系统下,用通过带外发送IPMI命令给BMC,或者在BMC网页中选择保留参数可选项;
S55. BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,通知BIOS执行固件刷新;
S56.BMC验证刷新结果正确性。
8.如权利要求7所述的实现BIOS升降级配置选项保留的方法,其特征在于,步骤S56具体步骤如下:
S561.BIOS固件刷新完成,进入操作系统;
S562.BMC获取第二数据结构体中配置选项数据,并进行CRC计算,生成第一校验数据;
S563.BMC通过IPMI命令获取当前BIOS配置选项数据,并进行CRC计算,生成第二校验数据;
S564.比较第一校验数据与第二校验数据是否一致;
若是,则BIOS固件刷新结果正确;
若否,则BIOS固件刷新结果错误。
9.一种实现BIOS升降级配置选项保留的装置,其特征在于,包括:
数据结构体设置模块(1),用于在BMC中预先设置第一数据结构体和第二数据结构体;
配置选项修改数据修改模块(2),用于BMC接收到用户发送的配置选项修改数据时,将配置选项修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;
配置选项修改模块(3),用于BIOS获知第一数据结构体的标志位置位后,从第一数据结构体中读取配置选项数据,将配置选项修改数据设置到BIOS中,取消第一数据结构体的标志位置位,并执行重启;
当前配置选项数据获取模块(4),用于BIOS获取自身当前配置选项数据,并将当前配置选项数据发送给BMC以存储到第二数据结构体中;
配置选项保留刷新模块(5),用于带内通过AFU工具以及带外通过BMC执行保留配置选项数据的BIOS固件刷新,验证刷新结果正确性,同时将BMC第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体的标志位置位。
10.如权利要求9所述的实现BIOS升降级配置选项保留的装置,其特征在于,数据结构体设置模块(1)包括:
BMC中结构体设置单元(1.1),用于在BMC中预先设置用于存储配置选项数据的第一数据结构体和第二数据结构体,并在第一数据结构体及第二数据结构体的标头中分别设置标志位;
BMC网页可选项设置单元(1.2),用于在BMC网页中设置保留参数可选项;
BIOS中结构体设置单元(1.3),用于在BIOS中预先设置选项组合结构体,并在选项组合结构体中设置偏移量和数值;
配置选项修改数据修改模块(2)包括:
配置选项修改数据写单元(2.1),用于用户通过IPMI写命令向BMC发送需要修改的配置选项及修改数据到BMC;
配置选项修改标记单元(2.2),用于BMC将需要修改的配置选项及修改数据保存到第一数据结构体中,并将第一数据结构体的标志位置位;
配置选项修改模块(3)包括:
标志位判断单元(3.1),用于BIOS开机后,通过IPMI读命令从BMC的第一数据结构体读取标志位,并判断标志位是否置位;
配置选项修改单元(3.2),用于标志为置位时,BIOS从BMC第一数据结构体中读取需要修改的配置选项及修改数据,并进行配置选项修改;
配置选项修改标记取消单元(3.3),用于BIOS通过IPMI写命令将第一数据结构体的标志位置位取消,并执行重启;
标志位置位检查单元(3.4),用于BMC检查第一数据结构体中标志位是否置位;
配置选项修改数据清除单元(3.5),用于第一数据结构体中标志位未置位时,将第一数据结构体中数据清除;
当前配置选项数据获取模块(4)包括:
当前配置选项发送单元(4.1),用于BIOS收集自身当前配置选项数据,并通过IPMI设置命令发送给BMC;
当前配置选项保存单元(4.2),用于BMC将BIOS当前配置选项数据存储到第二数据结构体中;
当前配置选项查询单元(4.3),用于在BMC设置配置选项查询接口,用户可通过IPMI获取命令从第二数据结构体中查询BIOS当前配选项;
配置选项保留刷新模块(5)包括:
刷新模式判断单元(5.1),用于判断对BIOS执行带内刷新还是带外刷新;
带内命令发送单元(5.2),用于带内刷新时,在操作系统下,用户带内发送IPMI命令给BMC;
第一刷新单元(5.3),用于BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,再通过AFU工具执行强刷BIOS指令;
带外命令发送单元(5.4),用于带外刷新时,在操作系统下,用通过带外发送IPMI命令给BMC,或者在BMC网页中选择保留参数可选项;
第二刷新单元(5.5),用于 BMC将第二数据结构体中数据复制到第一数据结构体中,并将第一数据结构体标志位置位,通知BIOS执行固件刷新;
刷新结果正确性验证单元(5.6),用于BMC验证刷新结果正确性。
CN202210086970.2A 2022-01-25 2022-01-25 一种实现bios升降级配置选项保留的方法及装置 Active CN114546518B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210086970.2A CN114546518B (zh) 2022-01-25 2022-01-25 一种实现bios升降级配置选项保留的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210086970.2A CN114546518B (zh) 2022-01-25 2022-01-25 一种实现bios升降级配置选项保留的方法及装置

Publications (2)

Publication Number Publication Date
CN114546518A CN114546518A (zh) 2022-05-27
CN114546518B true CN114546518B (zh) 2023-08-08

Family

ID=81672613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210086970.2A Active CN114546518B (zh) 2022-01-25 2022-01-25 一种实现bios升降级配置选项保留的方法及装置

Country Status (1)

Country Link
CN (1) CN114546518B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145359A (zh) * 2017-05-12 2017-09-08 郑州云海信息技术有限公司 一种bmc修改bios选项的优化方法
CN108170495A (zh) * 2018-01-29 2018-06-15 郑州云海信息技术有限公司 一种bios升级方法、系统、设备及计算机可读存储介质
CN113867806A (zh) * 2021-08-20 2021-12-31 苏州浪潮智能科技有限公司 一种带内修改bios选项的同步方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI685793B (zh) * 2018-09-20 2020-02-21 神雲科技股份有限公司 同步方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107145359A (zh) * 2017-05-12 2017-09-08 郑州云海信息技术有限公司 一种bmc修改bios选项的优化方法
CN108170495A (zh) * 2018-01-29 2018-06-15 郑州云海信息技术有限公司 一种bios升级方法、系统、设备及计算机可读存储介质
CN113867806A (zh) * 2021-08-20 2021-12-31 苏州浪潮智能科技有限公司 一种带内修改bios选项的同步方法及系统

Also Published As

Publication number Publication date
CN114546518A (zh) 2022-05-27

Similar Documents

Publication Publication Date Title
CN105893850B (zh) 漏洞修复方法和装置
CN102203779B (zh) 更新数据的方法和控制装置
WO2016058350A1 (zh) 一种基站软件版本管理方法和设备
CN111478796B (zh) 一种ai平台的集群扩容异常处理方法
CN112000355A (zh) 用于固件升级的方法及装置、家电设备
CN107153571A (zh) 一种虚拟化管理节点的部署方法及装置
CN106775610A (zh) 一种电子设备启动方法及一种电子设备
CN107819808A (zh) 通信连接建立方法和装置
CN107908417A (zh) 固件升级方法及电子设备
CN114546518B (zh) 一种实现bios升降级配置选项保留的方法及装置
CN113938378A (zh) 云网环境中网络设备配置校验的方法、设备及介质
CN108153537A (zh) 移动应用更新方法及装置
CN107483238A (zh) 一种日志管理方法、集群管理节点及系统
CN107844311A (zh) 一种服务器固件升级方法及装置
CN110347525A (zh) 一种故障处理方法及装置
CN112650624B (zh) 一种集群升级方法、装置、设备及计算机可读存储介质
CN103150223A (zh) 一种防止epon终端设备挂掉的方法和epon终端设备
CN112272206B (zh) 一种负载均衡设备的管理方法及系统
CN107172228A (zh) 修改虚拟机ip地址的方法和装置及计算机可读存储介质
CN108962335A (zh) 一种内存循环注错的测试装置及方法
CN114363317B (zh) 一种基于多传输协议的文件传输方法、系统及介质
CN110096292A (zh) 一种自适应刷新服务器bios固件的方法及系统
CN110673991A (zh) 一种fru信息存储器件的自动化测试方法、装置和介质
CN115509812A (zh) 一种基于Keepalive双机热备的数据备份方法及服务器
CN107391186A (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
GR01 Patent grant
GR01 Patent grant