本发明涉及服务器管理技术领域,具体地说是一种使用bmc更新固件的方法。
背景技术:
bmc,执行伺服器远端管理控制器,英文全称为baseboardmanagementcontroller.为基板管理控制器。它可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、等一些操作。
bmc更新固件的方式有多种,通过网络更新、通过烧写器更新等。在某些情况下(如在网络更新过程中擦除flash时不小心断电,将导致更新中断,原系统无法重启)需要烧录器更新固件,若此时无烧录器或者烧录座,将给更新工作带来不便。
基于此,本发明提供一种使用bmc更新固件的方法。
技术实现要素:
本发明的技术任务是针对以上不足之处,提供一种使用bmc更新固件的方法。
一种使用bmc更新固件的方法,其实现过程为:在服务器中,通过网络更新,使bmc成为烧录器,更新与bmc相同型号flash的固件,所述bmc使用spiflash方式启动,且spiflash使用芯片座固定在pcb板上。
其详细过程为:
首先在芯片座上安装flasha,基于该flasha,服务器系统启动后将bmc配置成烧录器模式;
取出flasha芯片,换入要烧写的同等型号固件的flashb芯片;
bmc开始更新固件,开始对flashb芯片进行烧写;
更新完毕后,换回flasha芯片,上传的固件烧写到flashb芯片中。
所述bmc配置成烧录器模式的过程为:
首先将bmc固件烧入到flasha中,待系统启动后,进入web管理页面;
在web管理页面中选择烧录器模式,进入固件更新阶段;
web页面发送准备更新命令给bmc,bmc收到命令后执行,执行完毕后将执行状态返回给web页面;
web页面获取所述状态后,若执行成功则弹出上传固件对话框,此时bmc成功配置成烧录器模式;若执行失败则系统重启。
所述服务器安装linux系统,相对应的,web页面发送准备更新命令给bmc时,该准备更新命令包括:关闭所有客户端请求、kill固件更新无关的进程、rmmod所有模块,unmount固件更新无关的文件系统,挂载/dev/shm设备到/mnt目录并格式化为tmpfs文件系统。
bmc烧写的同等型号固件到flashb芯片的过程为:
首先选择要烧写的固件,并将选择的信息上传到web页面中,web页面发送验证固件命令给bmc;
bmc收到验证命令,读取上传固件大小,开始更新固件;
web页面定时读取bmc更新进度,并在web上显示更新进度;
更新完毕后取出bmc芯片座中的flashb芯片,再换入flasha芯片,上传的固件即烧到flashb中,重启bmc,即完成更新工作。
bmc更新固件时,根据上传固件的大小,来擦除flash大小。
web页面与bmc更新进程采用http/https协议,通过进程间通信进行信息交互。
本发明的一种使用bmc更新固件的方法和现有技术相比,具有以下有益效果:
本发明的一种使用bmc更新固件的方法,可不借助第三方工具,使bmc本身成为烧录器(只烧写同种型号的flash),从而进行固件更新,实用性强,固件更新成本较低,易于实现,适用范围广泛,具有很好的推广应用价值。
附图说明
附图1为本发明方法的实现流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步说明。
如附图1所示,一种使用bmc更新固件的方法,该方法采用http/https协议通过网络更新,使bmc成为烧录器,可以更新与bmc相型号flash的固件。
其实现过程为:在服务器中,通过网络更新,使bmc成为烧录器,更新与bmc相同型号flash的固件,所述bmc使用spiflash方式启动,且spiflash使用芯片座固定在pcb板上。
方案的前提是bmc使用spiflash方式启动,且spiflash使用芯片座,不是直接焊接在pcb板上。更新flash步骤如下:
将具有所述功能的bmc固件烧入flasha中,待系统启动后,进入web进入管理页面;
在固件更新页面中选择烧录器模式,进入固件更新阶段;
web页面发送准备更新命令给bmc,bmc收到命令后执行,执行完毕后将执行状态返回给web;
所述服务器安装linux系统,相对应的,web页面发送准备更新命令给bmc。bmc执行准备更新命令。主要的操作包括:关闭所有客户端请求,kill固件更新无关的进程,rmmod所有模块,unmount固件更新无关的文件系统,挂载/dev/shm设备到/mnt目录并格式化为tmpfs文件系统等;
web获取所述状态后,若执行成功则弹出上传固件对话框;若执行失败则系统重启;
取出bmc芯片座中的flasha芯片,换入要烧写的同等型号的flashb芯片;
在上述上传固件对话框中,选择要烧写的固件,上传完毕后,web发送验证固件命令给bmc;
bmc收到验证命令,读取上传固件大小,开始更新固件;
web定时读取bmc更新进度,并在web上显示更新进度;
更新完毕后取出bmc芯片座中的flashb芯片,再换入flasha芯片,上传的固件即烧到flashb中,重启bmc,完成更新操作,上传的固件即烧到flashb中,即完成更新工作;
bmc更新固件时,根据上传固件的大小,来擦除flash大小,从而节省了时间。
web与bmc更新进程通过进程间通信进行信息交互。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。