一种BMC固件运行方法、修复方法、装置、设备及介质制造方法及图纸

技术编号:20074575 阅读:24 留言:0更新日期:2019-01-15 00:30
本申请公开了一种BMC固件运行方法、修复方法、装置、设备及介质,包括:将BMC固件中的目标子程序从主程序中提取出来,并创建与目标子程序对应的动态库;将目标子程序对应的动态库写入可读写文件系统中;当在BMC固件运行的过程中需要启动所述目标子程序时,检查可读写文件系统中是否存在与目标子程序对应的动态库,如果是,则从可读写文件系统中读取并加载该动态库。本申请在固件运行的过程中,无需直接执行固件中的目标子程序的程序代码,而只需从可读写文件系统中加载对应的动态库即可,这样可以使得后续当需要对目标子程序进行维护时,只需对可读写文件系统中的相应的动态库进行维护即可,从而有效减轻了BMC固件运维工作的负担。

A BMC Firmware Operation Method, Repair Method, Device, Equipment and Media

This application discloses a BMC firmware operation method, repair method, device, device and medium, including: extracting the target subroutine in the BMC firmware from the main program and creating a dynamic library corresponding to the target subroutine; writing the dynamic library corresponding to the target subroutine into a readable and writable file system; and launching the target subroutine when the target subroutine is required during the operation of the BMC firmware Check whether there is a dynamic library corresponding to the target subroutine in the readable and writable file system, and if so, read and load the dynamic library from the readable and writable file system. In the process of firmware running, this application does not need to directly execute the program code of the target subroutine in firmware, but only need to load the corresponding dynamic library from the readable and writable file system, so that when the target subroutine needs to be maintained later, only the corresponding dynamic library in the readable and writable file system can be maintained, thus effectively reducing the BMC firmware transportation. The burden of maintenance work.

【技术实现步骤摘要】
一种BMC固件运行方法、修复方法、装置、设备及介质
本申请涉及BMC
,特别涉及一种BMC固件运行方法、修复方法、装置、设备及介质。
技术介绍
现有服务器设计中,与BMC(即BaseboardManagementController,基板管理控制器)固件相关的存储主要包括只读文件系统和可写文件系统两部分;其中,只读文件系统占90%以上,包含基础系统以及实现BMC功能的软件程序;可写文件系统主要用于保存配置及日志。由于BMC功能软件程序都存储在只读文件系统中,当需要对BMC固件进行任何的修改时,都需要更新整个BMC固件镜像版本,不但耗费时间长,也加大了开发商和客户的版本管理工作。综上所述可以看出,如何减轻BMC固件运维工作的负担是目前有待解决的问题。
技术实现思路
有鉴于此,本申请的目的在于提供一种BMC固件运行方法、修复方法、装置、设备及介质,能够有效减轻BMC固件运维工作的负担。其具体方案如下:第一方面,本申请公开了一种BMC固件运行方法,包括:将BMC固件中的目标子程序从主程序中提取出来,并创建与所述目标子程序对应的动态库;将所述目标子程序对应的动态库写入可读写文件系统中;当在所述BMC固件运行的过程中需要启动所述目标子程序时,检查所述可读写文件系统中是否存在与所述目标子程序对应的动态库,如果是,则从所述可读写文件系统中读取并加载该动态库。可选的,所述BMC固件运行方法,还包括:将所述目标子程序和所述目标子程序对应的动态库存放至只读文件系统中。可选的,所述检查所述可读写文件系统中是否存在与所述目标子程序对应的动态库之后,还包括:如果否,则从所述只读文件系统中读取并加载该动态库。第二方面,本申请公开了一种BMC固件修复方法,包括:当BMC固件中的目标子程序出现异常,则根据该异常对所述目标子程序对应的原动态库进行更新,得到更新数据;通过上传补丁包的方式,将所述更新数据上传至可读写文件系统,以利用所述更新数据对所述可读写文件系统中的原动态库进行修复。第三方面,本申请公开了一种BMC固件运行装置,包括:动态库创建模块,用于将BMC固件中的目标子程序从主程序中提取出来,并创建与所述目标子程序对应的动态库;动态库写入模块,用于将所述目标子程序对应的动态库写入可读写文件系统中;动态库加载模块,用于当在所述BMC固件运行的过程中需要启动所述目标子程序时,检查所述可读写文件系统中是否存在与所述目标子程序对应的动态库,如果是,则从所述可读写文件系统中读取并加载该动态库。第四方面,本申请公开了一种BMC固件修复装置,包括:动态库更新模块,用于当BMC固件中的目标子程序出现异常,则根据该异常对所述目标子程序对应的原动态库进行更新,得到更新数据;动态库上传模块,用于通过上传补丁包的方式,将所述更新数据上传至可读写文件系统,以利用所述更新数据对所述可读写文件系统中的原动态库进行修复。第五方面,本申请公开了一种BMC固件运行设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现前述公开的BMC固件运行方法。第六方面,本申请公开了一种BMC固件修复设备,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现前述公开的BMC固件修复方法。第七方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的BMC固件运行方法。第八方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述公开的BMC固件修复方法。可见,本申请在BMC固件运行之前,先从BMC固件中提取出目标子程序,并创建与该目标子程序对应的动态库,然后将动态库写入可读写文件系统中,当BMC固件运行过程中需要启动目标子程序时,只需从上述可读写文件系统读取并加载相应的动态库即可,也即,本申请在BMC固件运行的过程中,无需直接执行BMC固件中的目标子程序的程序代码,而只需从可读写文件系统中加载与该目标子程序对应的动态库即可,这样可以使得后续当需要对BMC固件中的目标子程序进行维护时,无需对整个BMC固件进行整体维护,而只需对上述可读写文件系统中的相应的动态库进行维护即可,由此可见,本申请能够有效减轻BMC固件运维工作的负担。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请公开的一种BMC固件运行方法流程图;图2为本申请公开的一种BMC固件修复方法流程图;图3为本申请公开的一种BMC固件运行装置结构示意图;图4为本申请公开的一种BMC固件修复装置结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。本申请实施例公开了一种BMC固件运行方法,参见图1所示,该方法包括:步骤S11:将BMC固件中的目标子程序从主程序中提取出来,并创建与所述目标子程序对应的动态库。在一种具体实施方式中,可以利用后台系统对BMC固件中能够完成特定功能的目标子程序进行自动识别并从主程序中将识别到的目标子程序提取出来,也即,本实施例可以以程序功能为依据对BMC固件中相应的子程序进行识别和提取。在另一种具体实施方式中,也可以先为用户提供子程序标注接口,通过该子程序标注接口,可以获取用户对BMC固件对应的固件代码中的任意子程序进行标注后得到的标注信息,然后基于上述标注信息从BMC固件中识别并提取出相应的子程序。本实施例中,当提取到目标子程序之后,会创建与该目标子程序对应的动态库,以便后续无需直接执行该目标子程序,而只需加载上述动态库,即可达到与直接执行目标子程序相同的效果。步骤S12:将所述目标子程序对应的动态库写入可读写文件系统中。本实施例中,在创建完目标子程序对应的动态库之后,将所述动态库写入可读写文件系统中,由于可读写文件系统既可以响应读操作,也可以响应写操作,所以后续当需要对目标子程序对应的功能进行调整优化时,可以通过对上述可读写文件系统中保存的相应的动态库进行调整更新即可,而无需对整个BMC固件进行更新。其中,本实施例具体可以通过BMC将上述创建的目标子程序对应的动态库上传至可读写文件系统中进行保存。另外,本实施例中,在创建完所述目标子程序对应的动态库之后,可以将所述目标子程序和所述目标子程序对应的动态库存放至只读文件系统中。具体的,本实施例可以默认将目标子程序和相应的动态库统一压缩存放在只读文件系统中。步骤S13:当在所述BMC固件运行的过程中需要启动所述目标子程序时,检查所述可读写文件系统中是否存在与所述目标子程序对应的动态库,如果是,则从所述可读写文件系统中读取并加载该动态库。也即,在BMC固件运行过程中,如果需要启动目标子程序,则可以先检查可读写文件系统中是否存储有相应的动态库,如果是,则可以从可本文档来自技高网...

【技术保护点】
1.一种BMC固件运行方法,其特征在于,包括:将BMC固件中的目标子程序从主程序中提取出来,并创建与所述目标子程序对应的动态库;将所述目标子程序对应的动态库写入可读写文件系统中;当在所述BMC固件运行的过程中需要启动所述目标子程序时,检查所述可读写文件系统中是否存在与所述目标子程序对应的动态库,如果是,则从所述可读写文件系统中读取并加载该动态库。

【技术特征摘要】
1.一种BMC固件运行方法,其特征在于,包括:将BMC固件中的目标子程序从主程序中提取出来,并创建与所述目标子程序对应的动态库;将所述目标子程序对应的动态库写入可读写文件系统中;当在所述BMC固件运行的过程中需要启动所述目标子程序时,检查所述可读写文件系统中是否存在与所述目标子程序对应的动态库,如果是,则从所述可读写文件系统中读取并加载该动态库。2.根据权利要求1所述的BMC固件运行方法,其特征在于,还包括:将所述目标子程序和所述目标子程序对应的动态库存放至只读文件系统中。3.根据权利要求2所述的BMC固件运行方法,其特征在于,所述检查所述可读写文件系统中是否存在与所述目标子程序对应的动态库之后,还包括:如果否,则从所述只读文件系统中读取并加载该动态库。4.一种BMC固件修复方法,其特征在于,包括:当BMC固件中的目标子程序出现异常,则根据该异常对所述目标子程序对应的原动态库进行更新,得到更新数据;通过上传补丁包的方式,将所述更新数据上传至可读写文件系统,以利用所述更新数据对所述可读写文件系统中的原动态库进行修复。5.一种BMC固件运行装置,其特征在于,包括:动态库创建模块,用于将BMC固件中的目标子程序从主程序中提取出来,并创建与所述目标子程序对应的动态库;动态库写入模块,用于将所述目标子程序对应的...

【专利技术属性】
技术研发人员:易凌鹰
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1