本发明涉及服务器软硬件设计技术领域,尤其是一种基于spi接口的主从bmc固件升级方法。
背景技术:
随着服务器技术的快速发展,人们对于bmc的功能要求越来越高,更有些定制化的功能要导入使用,伴随着bmc固件的升级。而在升级的方式方法上,也同样要求便捷,以减少维护成本。传统对bmc固件升级途径有两种,一种通过bmc提供的软件升级接口;另一种通过硬件接口直接对bmcflash进行烧录。前一种方法大都通过lan接口进行升级,但当系统中出现两个及以上bmc时,对于用户来讲lan接口可能只是接入了主bmc,对于从bmc的升级就必须进入实验室接入网线的方式对固件进行升级,升级方法操作复杂,维护成本高。
技术实现要素:
本发明的目的是提供一种基于spi接口的主从bmc固件升级方法,通过硬件接口实现主从bmc之间的同步升级,升级方法简单,后期服务器维护便捷。
为实现上述目的,本发明采用下述技术方案:
一种基于spi接口的主从bmc固件升级方法,包括以下步骤:
s1、web发送升级命令到主bmc,主bmc接收到升级命令后,主bmc通过主从bmc同步渠道发送同步升级命令到从bmc,主从bmc做同步升级准备;
s2、web发送升级固件镜像到主bmc;
s3、主bmc进行刷新升级;
s4、主bmc通过spi接口发送升级固件镜像到从bmcflash;
s5、主bmc通过主从bmc同步渠道发送复位命令到从bmc,主bmc、从bmc复位使能升级固件。
进一步地,当需要对数量大于两个的从bmc进行同步升级固件时,主bmc的输出端与优先级片选芯片的控制端连接,优先级片选芯片的输出端分别与多个从bmc的主从bmc同步渠道连接。
进一步地,所述主从bmc同步渠道包括i2c总线接口或uart接口。
进一步地,步骤s1中,所述升级命令为符合i2c总线接口协议或uart接口协议的命令文件。
进一步地,步骤s1中,主从bmc做同步升级准备具体包括:
主bmc停止访问主bmcflash的进程,进入刷新模式启动刷新进程;
从bmc停止访问从bmcflash的进程,
进一步地,步骤s3中,主bmc刷新具体包括:主bmc运存刷新升级固件镜像,主bmc通过主bmc、主bmcflash之间的spi接口向主bmcflash烧录升级固件镜像。
进一步地,步骤s5中复位命令为符合i2c总线接口协议或uart接口协议的命令文件。
本发明的有益效果是,
本发明的主bmc通过spi接口传送升级固件镜像给从bmc,实现主从bmc之间的同步升级,对于多个从bmc需要同步升级,在主从bmc之间加一片选芯片,实现从bmc排队,本发明的升级方法简单,实现主从bmc同步升级,后期服务器维护便捷。
附图说明
图1是本发明方法流程图。
具体实施方式
实施例一
如图1所示,当服务器包括主bmc和一个从bmc需要同步升级时,基于spi接口的主从bmc固件升级方法,包括以下步骤:
s1、web发送升级命令到主bmc,主bmc接收到升级命令后,主bmc通过i2c总线接口或uart接口发送符合i2c总线接口协议或uart接口协议的同步升级命令到从bmc,主从bmc做同步升级准备,主bmc停止访问主bmcflash的进程,进入刷新模式启动刷新进程;从bmc停止访问从bmcflash的进程,进入刷新模式启动刷新进程。
s2、web发送升级固件镜像到主bmc的运存。
s3、主bmc进行刷新升级,主bmc运存刷新升级固件镜像,主bmc通过主bmc、主bmcflash之间的spi接口向主bmcflash烧录升级固件镜像。
s4、主bmc通过spi接口发送升级固件镜像到从bmcflash;
s5、主bmc通过i2c总线接口或uart接口发送符合i2c总线接口协议或uart接口协议的复位命令到从bmc,主bmc、从bmc复位使能升级固件。
实施例二
当服务器包括两个及以上数量的从bmc进行同步升级固件时,基于spi接口的主从bmc固件升级方法,包括以下步骤:
s1、web发送升级命令到主bmc,主bmc接收到升级命令后,主bmc接收到升级命令后,控制片选芯片的输出端向多个从bmc的控制端发送片选信号,当一个从bmc被选中后,主bmc通过该从bmc与主bmc之间的i2c总线接口或uart接口发送符合i2c总线接口协议或uart接口协议的同步升级命令到从bmc,主从bmc做同步升级准备,主bmc停止访问主bmcflash的进程,进入刷新模式启动刷新进程;从bmc停止访问从bmcflash的进程,进入刷新模式启动刷新进程。
s2、web发送升级固件镜像到主bmc的运存。
s3、主bmc进行刷新升级,主bmc运存刷新升级固件镜像,主bmc通过主bmc、主bmcflash之间的spi接口向主bmcflash烧录升级固件镜像。
s4、主bmc通过spi接口发送升级固件镜像到从bmcflash;
s5、主bmc通过i2c总线接口或uart接口发送符合i2c总线接口协议或uart接口协议的复位命令到从bmc,主bmc、从bmc复位使能升级固件。
s6、当另一从bmc的片选端有效时,跳到步骤s1,直至所有的从bmc全部完成固件升级后退出。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。