CN107526593B - 基于动态链接库的bmc功能定制方法 - Google Patents

基于动态链接库的bmc功能定制方法 Download PDF

Info

Publication number
CN107526593B
CN107526593B CN201710748649.5A CN201710748649A CN107526593B CN 107526593 B CN107526593 B CN 107526593B CN 201710748649 A CN201710748649 A CN 201710748649A CN 107526593 B CN107526593 B CN 107526593B
Authority
CN
China
Prior art keywords
bmc
dynamic link
link library
library
hardware component
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
CN201710748649.5A
Other languages
English (en)
Other versions
CN107526593A (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.)
DATANG GAOHONG XIN'AN (ZHEJIANG) INFORMATION TECHNOLOGY CO.,LTD.
Original Assignee
Datang Gaohong Xin'an Zhejiang Information 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 Datang Gaohong Xin'an Zhejiang Information Technology Co ltd filed Critical Datang Gaohong Xin'an Zhejiang Information Technology Co ltd
Priority to CN201710748649.5A priority Critical patent/CN107526593B/zh
Publication of CN107526593A publication Critical patent/CN107526593A/zh
Application granted granted Critical
Publication of CN107526593B publication Critical patent/CN107526593B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation

Landscapes

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

Abstract

本发明提供一种基于动态链接库的BMC功能定制方法,可根据用户需求配置具有特定功能的动态链接库,通过REST API接口将动态链接库上传到BMC FW的指定位置,通过BMC的OEM IPMI命令加载动态链接库,动态链接库用于实现通用或特定功能,包括校验BIOS文件,校验硬盘、CPU、内存等硬件组件等。利用本发明的方法,可实现BMC FW的二次开发,可根据需求对BMC的功能进行灵活扩展,减少代码的重用性,降低开发成本,提高开发效率。

Description

基于动态链接库的BMC功能定制方法
技术领域
本发明涉及一种基于动态链接库的BMC功能定制方法,属于服务器BMC固件开发技术领域。
背景技术
基板管理控制器BMC(Baseboard Management Controller),支持行业标准的智能平台管理接口IPMI(Intelligent Platform Management Interface)规范,BMC基于IPMI协议,能够在安全远程重启、安全重新上电、LAN警告、系统健康监视等方面提供远程管理功能。现有的BMC功能,一般是服务器厂商根据用户需求定制实现,出厂后功能即已固定,无法实现BMC芯片的二次开发,无法对BMC芯片的功能进行灵活扩展。
发明内容
鉴于上述原因,本发明的目的在于提供一种基于动态链接库的BMC功能定制方法,能够实现BMC芯片的二次开发,对BMC芯片的功能进行灵活扩展,减少不同项目同一功能的重复性开发,降低开发成本,提高开发效率。
为实现上述目的,本发明采用以下技术方案:
一种基于动态链接库的BMC功能定制方法,包括:
生成具有特定功能的动态链接库;
将该动态链接库上传到BMC FW;
加载该动态链接库,基于BMC FW实现特定功能。
BMC FW实现用于上传所述动态链接库的REST API;通过BMC WEBUI或是curl命令将所述动态链接库传输到BMC FW的指定目录下。
BMC FW利用OEM IPMI命令加载所述动态链接库以实现特定功能。
所述动态链接库用于BMC启动过程中校验BIOS映像文件。
所述动态链接库用于BMC启动过程中校验各硬件组件,并根据校验结果执行相应的安全策略。
所述动态链接库用于BMC启动过程中校验各硬件组件,并执行相应的安全策略的方法是:获取各硬件组件的资产信息;获取预存于存储单元中的白名单,该白名单包括硬件组件名称,及各硬件组件对应的基准值;配置安全策略;将获取的硬件组件的资产信息与白名单中相应的硬件组件的基准值进行比较,若校验通过,系统正常开机,若校验未通过,执行相应的安全策略
所述存储单元包括EEPROM、USB Key、BMC Flash。
所述各硬件组件包括CPU、内存、硬盘、网卡;所述资产信息包括版本信息、型号、品牌、容量、厂商,接口类型。
本发明的优点是:
利用本发明的方法,能够实现BMC芯片的二次开发,可根据需求对BMC芯片的功能进行灵活定制与扩展,减少不同项目同一功能的重复性开发,降低开发成本,减少开发周期,提高开发效率。
附图说明
图1是本发明的方法流程示意图。
具体实施方式
以下结合附图和实施例对本发明作进一步详细的描述。
如图1所示,基于动态链接库的BMC功能定制方法,包括:
S1:生成具有特定功能的动态链接库;
具体方法是:在Linux下编程实现特定功能模块,使用crosstool_ng制作符合BMC芯片架构的交叉编译工具,使用该交叉编译工具编译出该特定功能模块的动态链接库。
S2:将动态链接库上传到BMC FW的特定目录下;
方法是:基于BMC FW(Firmware,固件)实现用于上传动态链接库的REST API;通过BMC WEBUI或是curl命令将动态链接库传输到BMC FW的指定目录下。
S3:加载动态链接库,基于BMC FW实现特定功能;
BMC通过OEM IPMI命令调用动态链接库以实现特定功能。BMC初始化进程中,调用一初始化脚本,该初始化脚本使用system系统调用,通过调用相关IPMI命令加载动态链接库,实现BMC的特定功能。
于一具体实施例中,利用动态链接库实现系统开机过程中校验BIOS image(BIOS映像文件)的功能。BMC芯片与BIOS通过数据线(通信总线或是串行数据线)相连接。编写用于访问、校验BIOS image的特定功能模块,编译生成相应的动态链接库,BMC启动过程中,通过系统调用相关IPMI命令,加载该动态链接库,实现对BIOS image的访问与校验功能,根据校验结果,若校验通过,系统正常开机,若校验未通过,停止系统正常开机过程,并发出报警提示。
于另一具体实施例中,利用动态链接库实现系统开机过程中校验CPU、内存、硬盘、网卡等硬件组件的功能。BMC芯片与各硬件组件通过相应的硬件接口相连接。编写用于访问、校验各硬件组件的特定功能模块,编译生成相应的动态链接库,BMC启动过程中,通过系统调用OEM IPMI命令,加载该动态链接库,实现对各硬件组件的访问与校验功能。其中,所述用于访问、校验各硬件组件的特定功能模块的具体实现方法包括:获取各硬件组件的资产信息(如版本信息、型号、品牌、容量、厂商,接口类型等);获取白名单,该白名单包括硬件组件名称,及各硬件组件对应的基准值,该白名单可以预先保存于BMC Flash或是EEPROM或是USB Key等存储单元中;配置安全策略;将获取的硬件组件的资产信息与白名单中相应的硬件组件的基准值进行比较,若校验通过,系统正常开机,若校验未通过,执行相应的安全策略。
本发明的基于动态链接库的BMC功能定制方法,可根据用户需求配置具有特定功能的动态链接库,通过REST API接口将动态链接库上传到BMC FW中,通过执行BMC的OEMIPMI命令,加载动态链接库,实现特定功能。利用本发明的方法,可实现BMC FW的二次开发,可根据需求对BMC FW的功能进行灵活扩展,降低开发成本,提高开发效率。
以上所述是本发明的较佳实施例及其所运用的技术原理,对于本领域的技术人员来说,在不背离本发明的精神和范围的情况下,任何基于本发明技术方案基础上的等效变换、简单替换等显而易见的改变,均属于本发明保护范围之内。

Claims (6)

1.基于动态链接库的BMC功能定制方法,其特征在于,包括:
生成具有特定功能的动态链接库;
将该动态链接库上传到BMC FW;
加载该动态链接库,基于BMC FW实现特定功能,包括;所述动态链接库用于BMC启动过程中校验各硬件组件,并根据校验结果执行相应的安全策略,方法是:获取各硬件组件的资产信息;获取预存于存储单元中的白名单,该白名单包括硬件组件名称,及各硬件组件对应的基准值;配置安全策略;将获取的硬件组件的资产信息与白名单中相应的硬件组件的基准值进行比较,若校验通过,系统正常开机,若校验未通过,执行相应的安全策略。
2.根据权利要求1所述的基于动态链接库的BMC功能定制方法,其特征在于,BMC FW实现用于上传所述动态链接库的REST API;通过BMC WEBUI或是curl命令将所述动态链接库传输到BMC FW的指定目录下。
3.根据权利要求2所述的基于动态链接库的BMC功能定制方法,其特征在于,BMC FW利用OEMIPMI命令加载所述动态链接库以实现特定功能。
4.根据权利要求3所述的基于动态链接库的BMC功能定制方法,其特征在于,所述动态链接库用于BMC启动过程中校验BIOS映像文件。
5.根据权利要求1所述的基于动态链接库的BMC功能定制方法,其特征在于,所述存储单元包括EEPROM、USB Key、BMC Flash。
6.根据权利要求1所述的基于动态链接库的BMC功能定制方法,其特征在于,所述各硬件组件包括CPU、内存、硬盘、网卡;所述资产信息包括版本信息、型号、品牌、容量、厂商,接口类型。
CN201710748649.5A 2017-08-28 2017-08-28 基于动态链接库的bmc功能定制方法 Active CN107526593B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710748649.5A CN107526593B (zh) 2017-08-28 2017-08-28 基于动态链接库的bmc功能定制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710748649.5A CN107526593B (zh) 2017-08-28 2017-08-28 基于动态链接库的bmc功能定制方法

Publications (2)

Publication Number Publication Date
CN107526593A CN107526593A (zh) 2017-12-29
CN107526593B true CN107526593B (zh) 2020-04-10

Family

ID=60682606

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710748649.5A Active CN107526593B (zh) 2017-08-28 2017-08-28 基于动态链接库的bmc功能定制方法

Country Status (1)

Country Link
CN (1) CN107526593B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108089898A (zh) * 2018-01-16 2018-05-29 郑州云海信息技术有限公司 一种升级bios的方法、装置及系统
CN108399098A (zh) * 2018-03-01 2018-08-14 郑州云海信息技术有限公司 一种服务器bmc功能自适应调整方法及装置
CN109189501A (zh) * 2018-09-17 2019-01-11 郑州云海信息技术有限公司 一种bmc固件运行方法、修复方法、装置、设备及介质
CN109358906A (zh) * 2018-09-26 2019-02-19 郑州云海信息技术有限公司 一种通过设定bmc oem命令使能bios串口重定向的方法与系统
CN109445865A (zh) * 2018-11-09 2019-03-08 郑州云海信息技术有限公司 一种bios选项远程批量设置方法、装置、终端及存储介质
CN110633146B (zh) * 2019-08-30 2022-06-07 苏州浪潮智能科技有限公司 一种多线程操作ipmi命令的方法、设备及可读介质
CN112199647A (zh) * 2020-12-07 2021-01-08 江苏东大集成电路系统工程技术有限公司 一种Android跨应用资源访问安全加固方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477471A (zh) * 2009-01-07 2009-07-08 杭州海康威视数字技术股份有限公司 一种嵌入式系统固件在线升级方法
CN106020868A (zh) * 2016-05-11 2016-10-12 新智数字科技有限公司 一种智能卡固件更新方法及系统
CN106127056A (zh) * 2016-06-20 2016-11-16 浪潮电子信息产业股份有限公司 一种国产bmc芯片可信固件的设计方法
CN107145788A (zh) * 2017-05-10 2017-09-08 郑州云海信息技术有限公司 一种具有访问控制功能的bmc可信配置方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103455455A (zh) * 2012-05-30 2013-12-18 鸿富锦精密工业(深圳)有限公司 串口切换系统、服务器及串口切换方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101477471A (zh) * 2009-01-07 2009-07-08 杭州海康威视数字技术股份有限公司 一种嵌入式系统固件在线升级方法
CN106020868A (zh) * 2016-05-11 2016-10-12 新智数字科技有限公司 一种智能卡固件更新方法及系统
CN106127056A (zh) * 2016-06-20 2016-11-16 浪潮电子信息产业股份有限公司 一种国产bmc芯片可信固件的设计方法
CN107145788A (zh) * 2017-05-10 2017-09-08 郑州云海信息技术有限公司 一种具有访问控制功能的bmc可信配置方法

Also Published As

Publication number Publication date
CN107526593A (zh) 2017-12-29

Similar Documents

Publication Publication Date Title
CN107526593B (zh) 基于动态链接库的bmc功能定制方法
US20150074386A1 (en) Boot method and boot system
US8707017B2 (en) Method and system for managing core configuration information
CN103412769A (zh) 外接卡参数配置方法、设备以及系统
TWI722269B (zh) 韌體更新方法及使用此方法的電子裝置
CN106547645B (zh) 自动修复映像档的方法及服务器系统
CN108509215B (zh) 一种系统软件的更换方法、装置、终端设备及存储介质
CN105637521B (zh) 一种数据处理方法及智能终端
US11429298B2 (en) System and method for tying non-volatile dual inline memory modules to a particular information handling system
EP2391932A1 (en) System and method for multifunction device enumeration
US11586536B1 (en) Remote configuration of multi-mode DIMMs through a baseboard management controller
US20060101372A1 (en) Method, system, and software for determining platform management functionality
US8086834B2 (en) System and method for populating a dedicated system service repository for an information handling system
CN114020340B (zh) 一种服务器系统及其数据处理方法
CN101639877A (zh) 电子装置及其更新基本输入输出系统方法
CN108985402B (zh) 一种raid卡信息获取方法及相关装置
US20240231807A9 (en) Bidirectional version compatibility control
CN116627472A (zh) 高速外围组件设备的固件程序升级方法及服务器
CN1983195A (zh) 嵌入设备、电子设备、嵌入设备的控制方法、控制程序、记录介质
US10698695B2 (en) Method for intel platform detection of parameters in Flash Rom
US11204704B1 (en) Updating multi-mode DIMM inventory data maintained by a baseboard management controller
US11169740B1 (en) Simultaneous initiation of multiple commands for configuring multi-mode DIMMS using a BMC
CN114691180A (zh) 处理器芯片的软件升级方法、装置、处理器和处理器系统
CN112799743A (zh) 加载从片处理器单元系统文件的方法、装置及电子设备
CN113760623A (zh) 固态硬盘tcg协议功能测试方法、装置及计算机设备

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210423

Address after: 100191 Haidian District, Xueyuan Road, No. 40,

Patentee after: GOHIGH DATA NETWORKS TECHNOLOGY Co.,Ltd.

Address before: 322000 Zhejiang city in Jinhua Province town of Yiwu City, Su Fuk Road No. 126

Patentee before: DATANG GAOHONG XIN'AN (ZHEJIANG) INFORMATION TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211201

Address after: 322000 1st floor, 128 Gaotang Road, Suxi Town, Yiwu City, Jinhua City, Zhejiang Province

Patentee after: DATANG GAOHONG XIN'AN (ZHEJIANG) INFORMATION TECHNOLOGY CO.,LTD.

Address before: 100191 No. 40, Haidian District, Beijing, Xueyuan Road

Patentee before: BEIJING GOHIGH DATA NETWORKS TECHNOLOGY Co.,Ltd.