CN114115984A - 服务器固件升级的方法、存储设备及终端 - Google Patents

服务器固件升级的方法、存储设备及终端 Download PDF

Info

Publication number
CN114115984A
CN114115984A CN202111505590.XA CN202111505590A CN114115984A CN 114115984 A CN114115984 A CN 114115984A CN 202111505590 A CN202111505590 A CN 202111505590A CN 114115984 A CN114115984 A CN 114115984A
Authority
CN
China
Prior art keywords
firmware
upgrading
upgrade
updating
bmc
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.)
Pending
Application number
CN202111505590.XA
Other languages
English (en)
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.)
Baixin Information Technology Co ltd
Original Assignee
Baixin 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 Baixin Information Technology Co ltd filed Critical Baixin Information Technology Co ltd
Priority to CN202111505590.XA priority Critical patent/CN114115984A/zh
Publication of CN114115984A publication Critical patent/CN114115984A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

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

Abstract

本发明提供的服务器固件升级的方法、存储设备及终端,包括:获取固件升级包并存储;配置各个固件模块目标版本号与固件升级包路径之间的对应关系;判断是否为第一次运行固件升级;第一次运行固件升级时,部署固件的一键升级环境,并初始化当前升级的固件为空;读取当前升级固件文件,获取该文件中当前升级固件的信息;判断是否存在固件正在升级,如是,则等待当前固件升级完成;获取下一个待升级固件的信息;判断当前固件是否升级成功,如是,则将下一个待升级固件的信息写入当前升级固件文件;对固件进行升级;之后循环执行升级过程;本发明具有自动化程度较高、能够有效减少人工操作、提高生产效率的的有益效果,适用于固件升级领域。

Description

服务器固件升级的方法、存储设备及终端
技术领域
本发明涉及固件升级的技术领域,具体涉及服务器固件升级的方法。
背景技术
计算机从装配线下线之后,进入到整机测试环节,目前的测试方法是半自动测试,主要过程包括如下步骤:
步骤一:拷贝升级包;根据服务器的类型,BMC的类型,拷贝对应的bios/bmc的升级包,将固件的升级包拷贝至U盘;
步骤二:将固件的升级包拷贝至旧程序的根目录;如:bios的升级包拷贝至根目录,重命名为bios_image.hpm,bmc的升级包拷贝至根目录,重命名为bmc_pre_image.hpm;
步骤三:在旧程序的配置文件里面登记各个固件的目标版本;如:将bios的版本登记在bios_version.txt文件里面,bmc的版本登记在bmc_pre_version.txt文件里面;
步骤四:开始BIOS升级;
步骤5:开始bmc升级;
步骤6:定制BMC的帐户;具体为:测试员找一台PC,通过网线连接服务器的BMC管理网口,登录服务器的BMC网页,在用户管理里面新建帐号(如新建账户名为:baixin),并设置密码、权根、能够使用的接口等信息,在用户管理里面修改Administrator帐号的密码,BMC登录界面会自动退出(由于Administrator帐号的密码被修改),以新建额账户baixin登录BMC查看baixin帐户设置的密码信息及其它信息是否正确,以Administrator登录BMC查看Administrator帐户修改的密码是否正确,通过BMC登录服务器的虚拟终端(与显示器直连服务器看见的内容一致),修改BIOS里面的一些信息。
上述过程中,存在的问题包括:
1、操作步骤繁琐,需要向测试员培训的内容较多;
2、效率低下,且需操作员需要全程参与,非常消耗人的精力;
3、需要人工输入的内容较多,比较容易出错;
此外,传统的整机测试过程中,定制化信息是固定的,不支持自定义;且不支持对主板的CPLD等固件进行升级。
发明内容
针对相关技术中存在的不足,本发明所要解决的技术问题在于:提供一种自动化程度较高、能够有效减少人工操作、提高生产效率的服务器固件升级的方法、存储设备及终端。
为解决上述技术问题,本发明采用的技术方案为:
服务器固件升级的方法,包括:
S10,获取固件升级包并存储;
S20,配置各个固件模块的目标版本号,以及目标版本号与固件升级包路径之间的对应关系;
S30,开始固件升级,判断是否为第一次运行固件升级,如是,则执行步骤S40,否则执行步骤S50;
S40,部署固件的一键升级环境,并初始化当前升级的固件为空,之后执行步骤S60;
S50,读取当前升级固件文件,获取该文件中当前升级固件的信息;
S60,判断是否存在固件正在升级,如是,则等待当前固件升级完成后,执行步骤S70,否则直接执行步骤S70;
S70,获取下一个待升级固件的信息;
S80,判断下一个待升级固件的信息是否为空,如是,则表示升级成功并退出升级,否则继续执行步骤S90;
S90,判断当前固件是否升级成功,如否,则表示升级失败并退出升级;如是,则将下一个待升级固件的信息写入当前升级固件文件,并执行步骤S100;
S100,对固件进行升级;
S110,固件升级过程中,判断是否需要重启服务器,如需重启,则服务器启动后会自动运行本程序进入步骤S30;否则在当前固件升级完毕后,执行步骤S70,进入循环执行步骤,直到升级成功并退出升级或升级失败并退出升级。
优选地,所述步骤S40中,部署固件的一键升级环境,具体包括:
S401,清理/etc/xdg/autostart目录中的desktop文件;
S402,初始化所有固件的升级参数;
S403,将固件升级的开机自动运行参数写入desktop文件中,并将desktop文件拷贝至/etc/xdg/autostart目录;
其中,desktop文件为/etc/xdg/autostart/目录下的自启动程序;所述固件升级的开机自动运行参数包括:初始化所有固件升级的结果为NOPASS。
优选地,所述的固件升级包包括:BIOS升级包、BMC升级包和CPLD升级包;所述的固件包括:BIOS固件、BMC固件和CPLD固件;
所述步骤S100,对固件进行升级包括:根据步骤S70Z中,下一个待升级固件的信息分别执行:
S1001,对BMC固件升级;或
S1002,对BIOS固件升级;或
S1003,对CPLD固件升级;或
S1004,设置还原点。
优选地,所述步骤S1001,对BMC固件升级,具体包括:
S1001-1,指定升级模式;
S1001-2,获取本机服务器类型及BMC固件版本号;
S1001-3,使能DFT接口,打开黑匣子,以及加载带内带外通道开启驱动和带内带外文件传输驱动;所述的黑匣子用于保存测试日志信息;
S1001-4,对BMC固件的版本进行校验,检查本机BMC固件的版本号与目标版本号之间是否一致,若一致,则执行步骤S1001-8,否则执行步骤S1001-5;
S1001-5,根据本机服务器的类型和BMC固件版本号,选择目标版本的升级包并传送至BMC固件;
S1001-6,升级BMC固件,并查看升级进度;
S1001-7,当升级进度为100%后,重启BMC固件;
S1001-8,检查升级是否成功,如成功,则执行步骤S1001-9,否则结束升级;
S1001-9,更新BMC登录界面二维码信息;
S1001-10,BMC更新成功后,完成BMC升级;
其中,所述的升级模式包括:常规升级或升级至指定版本。
优选地,所述步骤S1001-9之后,还包括:BMC定制化信息更新;
所述BMC定制化信息更新,具体包括:
S1001-9-1,判断升级模式是否为指定版本的升级,如是,则执行步骤S1001-9-9,否则执行步骤S1001-9-2;
S1001-9-2,BMC定制化信息更新,并判断定制化信息更新开关是否打开,如打开,则执行步骤S1001-9-3,否则,视为升级成功并结束更新;
S1001-9-3,制造商信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-4,否则,视为升级失败并结束更新;
S1001-9-4,产品名称信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-5,否则,视为升级失败并结束更新;
S1001-9-5,描述信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-6,否则,视为升级失败并结束更新;
S1001-9-6,版权信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-7,否则,视为升级失败并结束更新;
S1001-9-7,判断序列号开关是否关闭,若关闭,则直接执行步骤S1001-9-8,否则,进行序列号信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-8,否则,视为升级失败并结束更新;
S1001-9-8,BMC账户信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-9,否则,视为升级失败并结束更新;
S1001-9-9,BMC升级成功,并结束。
优选地,所述步S1004,设置还原点,用于设置BMC模块的还原点,以使BMC定制化信息更新后进行保存。
优选地,所述步骤S1002,对BIOS固件升级,具体包括:
S1002-1,判断SN开关是否关闭,若关闭,则直接执行步骤S1002-2,否则,进行SN录入后执行步骤S1002-2;
S1002-2,获取本机服务器类型、BMC固件版本号、以及本机BIOS固件的版本号;并使能DFT接口;
S1002-3,对BIOS固件的版本进行校验,检查本机BIOS固件的版本号与目标版本号之间是否一致,若一致,则结束更新,否则,执行步骤S1002-4;
S1002-4,根据BMC固件版本型号选择是否需要降级操作,如需要,则对BMC固件进行降级后执行步骤S1002-5,否则直接执行步骤S1002-5;
S1002-5,选择目标版本的升级包并传送至BIOS固件;
S1002-6,拷贝升级结果检查脚本至autostart目录;
S1002-7,服务器下电再上电后BIOS固件开始真正的升级;
S1002-8,BIOS固件升级完毕后,开机自动运行升级结果检查脚本进行结果检查,当结果检查为成功时,执行步骤S1002-9,否则,视为升级失败并结束更新;
S1002-9,BIOS定制化信息更新;
S1002-10,BIOS更新后,完成BIOS升级。
优选地,所述步骤S1003,对CPLD固件升级,具体包括:
S1003-1,获取本机服务器的CPLD固件版本号;
S1003-2,使能DFT接口,打开黑匣子,以及加载带内带外通道开启驱动和带内带外文件传输驱动;所述的黑匣子用于保存测试日志信息;
S1003-3,对CPLD固件的版本进行校验,检查本机主板CPLD固件的版本号与目标版本号之间是否一致,若一致,则结束升级,否则执行步骤S1003-4;
S1003-4,根据本机服务器的CPLD固件版本号,选择目标版本的升级包并传送至BMC;
S1003-5,升级CPLD固件,并查看升级进度;
S1003-6,当升级进度为100%后,对服务器进行AC上下电,CPLD固件的目标版本生效,自动进入操作系统;
S1003-7,运行升级结果检查脚本进行结果检查,当结果检查为成功时,执行步骤S1003-8,否则,视为升级失败并结束更新;
S1003-8,完成CPLD升级。
相应地,存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行如上所述的服务器固件升级的方法。
相应地,终端,所述终端可包括:
处理器,适于实现各指令;以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行如上任一所述的服务器固件升级的方法。
本发明的有益技术效果在于:
1、本发明提供的服务器固件升级的方法,通过预先配置的各个固件模块的目标版本号,以及目标版本号与固件升级包路径之间的对应关系,以及预先部署的一键升级环境,能够实现一键式的升级,升级工程中无需人工干预,不仅避免了人工操作存在的误操作,也能够提高升级过程的工作效率,实用性极强。
2、本发明将所有的固件升级串起来,使得操作人员就不需要升完一下固件,再升下一个固件。彻底解放了劳动力。
附图说明
图1是本发明提供的服务器固件升级的方法的流程示意图;
图2是本发明提供的服务器固件升级的方法的主调用模块的示意图;
图3是本发明中步骤S401的流程示意图;
图4是配置各个固件模块的目标版本号的代码实现示意图;
图5是配置目标版本号与固件升级包路径之间的对应关系的代码实现示意图;
图6是本发明中步骤S1001的流程示意图;
图7是本发明中步骤S1001中BMC定制化信息更新的流程示意图;
图8是本发明中步骤S1002的流程示意图;
图9是本发明中步骤S1003的流程示意图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例;基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
其次,本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
以下结合附图详细说明本发明的一个实施例。
实施例一
如图1所示,服务器固件升级的方法,其特征在于:包括:
S10,获取固件升级包并存储;
S20,配置各个固件模块的目标版本号,以及目标版本号与固件升级包路径之间的对应关系;
S30,开始固件升级,判断是否为第一次运行固件升级,如是,则执行步骤S40,否则执行步骤S50;
S40,部署固件的一键升级环境,并初始化当前升级的固件为空,之后执行步骤S60;
S50,读取当前升级固件文件,获取该文件中当前升级固件的信息;
S60,判断是否存在固件正在升级,如是,则等待当前固件升级完成后,执行步骤S70,否则直接执行步骤S70;
S70,获取下一个待升级固件的信息;
S80,判断下一个待升级固件的信息是否为空,如是,则表示升级成功并退出升级,否则继续执行步骤S90;
S90,判断当前固件是否升级成功,如否,则表示升级失败并退出升级;如是,则将下一个待升级固件的信息写入当前升级固件文件,并执行步骤S100;
S100,对固件进行升级;
S110,固件升级过程中,判断是否需要重启服务器,如需重启,则服务器启动后会自动运行本程序进入步骤S30;否则在当前固件升级完毕后,执行步骤S70,进入循环执行步骤,直到升级成功并退出升级或升级失败并退出升级。
具体地,所述步骤S40中,部署固件的一键升级环境,具体包括:
S401,清理/etc/xdg/autostart目录中的desktop文件;
S402,初始化所有固件的升级参数;
S403,将固件升级的开机自动运行参数写入desktop文件中,并将desktop文件拷贝至/etc/xdg/autostart目录;
其中,desktop文件为/etc/xdg/autostart/目录下的自启动程序;所述固件升级的开机自动运行参数包括:初始化所有固件升级的结果为NOPASS。
本实施例中,所述固件升级的顺序可设置在如图2所示的主调用模块中,通过主调用模块,可将所有的固件升级串起来,使得操作人员就不需要升完一下固件,再升下一个固件。彻底解放了劳动力。
一般地,在新的固件升级包发布后,需要导入生产,如:
部署固件的一键升级环境、以及配置目标版本号与固件升级包路径之间的对应关系,并将其存储在母盘文件的相应目录中;
将母盘文件镜像拷贝到多个备份盘中;
通过备份盘对待升级的服务器进行升级操作。
具体地,在母盘文件中建立升级包安装目录:/home/baixin/Desktop/plug_in;并在该安装目录中,建立多个用于存储升级包的子目录;
如:本实施例中的服务器可包括:信创服务器与非信创服务器,信创服务器的升级包可包括:BMC版本为1710时的升级包,BMC版本为1711时的升级包;
当信创服务器的BIOS发布了210723的升级包,将则这两个升级包拷贝至
/home/baixin/Desktop/plug-in/bios/XC/1710/TaiShan_200K-KL4.41.022.BX.210723.R.hpm的子目录中,或
/home/baixin/Desktop/plug-in/bios/XC/1711/TaiShan_200K-KL4.41.022.BX.210723.R.hpm的子目录中。
进一步地,配置各个固件模块的目标版本号,具体可为:
在interface/etc/bios.ini的目录中,配置各个固件的目标版本;
如:配置BIOS的目标版本为210723;
可包括:分别配置BMC版本为1710时的目标版本,BMC版本为1711时的目标版本以及非信创机的目标版本,实现的程序语言可如图4所示,图4中,std_xc_1710中xc表示服务器为信创服务器,std_nxc_1711中nxc表示服务器为非信创服务器;
更进一步地,配置目标版本号与固件升级包路径之间的对应关系,具体可为:在interface/bmc_bios_cpld/etc/upgrade_filename.ini里面配置各个固件的版本与升级包的路径的对应关系,配置的具体过程如图5所示,图5中,分别示意了:BIOS升级包、BMC升级包和CPLD升级包的配置路径,其中:BIOS升级包、BMC升级包分别根据BMC的版本(1701/1711)进行了配置。
在进行上述路径的配置后,使得在具体实施本实施例提供的服务器固件升级的方法时,如:目前正在升级BIOS:
首先,判断当前服务器的类型(比如说判断出来服务器为信创机,BMC版本为1711);
其次,根据服务器的类型在bios.ini里面获取需要升级的目标版本:”std_xc_1711=(U75)41.022.BX.210723.R”;
再次,根据目标版本在upgrade_filename.ini找出来对应的升级包的存储位置:
”(U75)41.022.BX.210723.R=
plug-in/bios/XC/1711/TaiShan_200K-KL4.41.022.BX.210723.R.hpm”。
本实施例中,由于固件升级过程中,可能存在服务器的多次重启,以使升级生效,因此,在升级时,设置了步骤S50~S60的环节,对目前的升级状态进行判断,以便识别出继续件当前固件的升级操作,还是获取下一个待升级固件的信息(进行下一个固件的升级操作)。
本实施例提供的服务器固件升级的方法,通过预先配置的各个固件模块的目标版本号,以及目标版本号与固件升级包路径之间的对应关系,以及预先部署的一键升级环境,能够实现一键式的升级,升级工程中无需人工干预,不仅避免了人工操作存在的误操作,也能够提高升级过程的工作效率,实用性极强。
实施例二
在实施例一的基础上,服务器固件升级的方法,所述的固件升级包包括:BIOS升级包、BMC升级包和CPLD升级包;所述的固件包括:BIOS固件、BMC固件和CPLD固件;
所述步骤S100,对固件进行升级包括:根据步骤S70Z中,下一个待升级固件的信息分别执行:
S1001,对BMC固件升级;或
S1002,对BIOS固件升级;或
S1003,对CPLD固件升级;或
S1004,设置还原点。
如图6所示,所述步骤S1001,对BMC固件升级,具体包括:
S1001-1,指定升级模式;
S1001-2,获取本机服务器类型及BMC固件版本号;
S1001-3,使能DFT接口,打开黑匣子,以及加载带内带外通道开启驱动和带内带外文件传输驱动;所述的黑匣子用于保存测试日志信息;
S1001-4,对BMC固件的版本进行校验,检查本机BMC固件的版本号与目标版本号之间是否一致,若一致,则执行步骤S1001-8,否则执行步骤S1001-5;
S1001-5,根据本机服务器的类型和BMC固件版本号,选择目标版本的升级包并传送至BMC固件;
S1001-6,升级BMC固件,并查看升级进度;
S1001-7,当升级进度为100%后,重启BMC固件;
S1001-8,检查升级是否成功,如成功,则执行步骤S1001-9,否则结束升级;
S1001-9,更新BMC登录界面二维码信息;
S1001-10,BMC更新成功后,完成BMC升级;
其中,所述的升级模式包括:常规升级或升级至指定版本。
本实施例中,通过使能DFT接口,使得能够向BMC固件发送IPMI命令;
具体地,本实施例中的步骤S1001-5,能够根据本机服务器的类型和BMC固件版本号,选择目标版本的升级包并传送至BMC固件,实现固件的自动识别和升级。
本实施例中,还能够对BMC的定制化信息更新。
如图7所示,所述步骤S1001-9之后,还包括:BMC定制化信息更新;
所述BMC定制化信息更新,具体包括:
S1001-9-1,判断升级模式是否为指定版本的升级,如是,则执行步骤S1001-9-9,否则执行步骤S1001-9-2;
S1001-9-2,BMC定制化信息更新,并判断定制化信息更新开关是否打开,如打开,则执行步骤S1001-9-3,否则,视为升级成功并结束更新;
S1001-9-3,制造商信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-4,否则,视为升级失败并结束更新;
S1001-9-4,产品名称信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-5,否则,视为升级失败并结束更新;
S1001-9-5,描述信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-6,否则,视为升级失败并结束更新;
S1001-9-6,版权信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-7,否则,视为升级失败并结束更新;
S1001-9-7,判断序列号开关是否关闭,若关闭,则直接执行步骤S1001-9-8,否则,进行序列号信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-8,否则,视为升级失败并结束更新;
S1001-9-8,BMC账户信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-9,否则,视为升级失败并结束更新;
S1001-9-9,BMC升级成功,并结束。
进一步地,所述步S1004,设置还原点,用于设置BMC模块的还原点,以使BMC定制化信息更新后进行保存。
如图8所示,所述步骤S1002,对BIOS固件升级,具体包括:
S1002-1,判断SN开关是否关闭,若关闭,则直接执行步骤S1002-2,否则,进行SN录入后执行步骤S1002-2;
S1002-2,获取本机服务器类型、BMC固件版本号、以及本机BIOS固件的版本号;并使能DFT接口;
S1002-3,对BIOS固件的版本进行校验,检查本机BIOS固件的版本号与目标版本号之间是否一致,若一致,则结束更新,否则,执行步骤S1002-4;
S1002-4,根据BMC固件版本型号选择是否需要降级操作,如需要,则对BMC固件进行降级后执行步骤S1002-5,否则直接执行步骤S1002-5;
S1002-5,选择目标版本的升级包并传送至BIOS固件;
S1002-6,拷贝升级结果检查脚本至autostart目录;
S1002-7,服务器下电再上电后BIOS固件开始真正的升级;
S1002-8,BIOS固件升级完毕后,开机自动运行升级结果检查脚本进行结果检查,当结果检查为成功时,执行步骤S1002-9,否则,视为升级失败并结束更新;
S1002-9,BIOS定制化信息更新;
S1002-10,BIOS更新后,完成BIOS升级。
如图9所示,本实施例中,所述步骤S1003,对CPLD固件升级,具体包括:
S1003-1,获取本机服务器的CPLD固件版本号;
S1003-2,使能DFT接口,打开黑匣子,以及加载带内带外通道开启驱动和带内带外文件传输驱动;所述的黑匣子用于保存测试日志信息;
S1003-3,对CPLD固件的版本进行校验,检查本机主板CPLD固件的版本号与目标版本号之间是否一致,若一致,则结束升级,否则执行步骤S1003-4;
S1003-4,根据本机服务器的CPLD固件版本号,选择目标版本的升级包并传送至BMC;
S1003-5,升级CPLD固件,并查看升级进度;
S1003-6,当升级进度为100%后,对服务器进行AC上下电,CPLD固件的目标版本生效,自动进入操作系统;
S1003-7,运行升级结果检查脚本进行结果检查,当结果检查为成功时,执行步骤S1003-8,否则,视为升级失败并结束更新;
S1003-8,完成CPLD升级。
本发明还提供了一种存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行如上述的服务器固件升级的方法。
所述存储设备可为一计算机可读存储介质,可以包括:ROM、RAM、磁盘或光盘等。
本发明还提供了一种终端,所述终端可包括:
处理器,适于实现各指令;以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行如上述的服务器固件升级的方法。
所述终端可为任意能够实现服务器固件升级的方法的装置,该装置可以是各种终端设备,例如:台式电脑、手提电脑等,具体可以通过软件和/或硬件来实现。
在本发明的描述中,需要理解的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其他设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定的编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在本申请所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。以上所描述的系统实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.服务器固件升级的方法,其特征在于:包括:
S10,获取固件升级包并存储;
S20,配置各个固件模块的目标版本号,以及目标版本号与固件升级包路径之间的对应关系;
S30,开始固件升级,判断是否为第一次运行固件升级,如是,则执行步骤S40,否则执行步骤S50;
S40,部署固件的一键升级环境,并初始化当前升级的固件为空,之后执行步骤S60;
S50,读取当前升级固件文件,获取该文件中当前升级固件的信息;
S60,判断是否存在固件正在升级,如是,则等待当前固件升级完成后,执行步骤S70,否则直接执行步骤S70;
S70,获取下一个待升级固件的信息;
S80,判断下一个待升级固件的信息是否为空,如是,则表示升级成功并退出升级,否则继续执行步骤S90;
S90,判断当前固件是否升级成功,如否,则表示升级失败并退出升级;如是,则将下一个待升级固件的信息写入当前升级固件文件,并执行步骤S100;
S100,对固件进行升级;
S110,固件升级过程中,判断是否需要重启服务器,如需重启,则服务器启动后会自动运行本程序进入步骤S30;否则在当前固件升级完毕后,执行步骤S70,进入循环执行步骤,直到升级成功并退出升级或升级失败并退出升级。
2.根据权利要求1所述的服务器固件升级的方法,其特征在于:所述步骤S40中,部署固件的一键升级环境,具体包括:
S401,清理/etc/xdg/autostart目录中的desktop文件;
S402,初始化所有固件的升级参数;
S403,将固件升级的开机自动运行参数写入desktop文件中,并将desktop文件拷贝至/etc/xdg/autostart目录;
其中,desktop文件为/etc/xdg/autostart/目录下的自启动程序;所述固件升级的开机自动运行参数包括:初始化所有固件升级的结果为NOPASS。
3.根据权利要求1所述的服务器固件升级的方法,其特征在于:所述的固件升级包包括:BIOS升级包、BMC升级包和CPLD升级包;所述的固件包括:BIOS固件、BMC固件和CPLD固件;
所述步骤S100,对固件进行升级包括:根据步骤S70Z中,下一个待升级固件的信息分别执行:
S1001,对BMC固件升级;或
S1002,对BIOS固件升级;或
S1003,对CPLD固件升级;或
S1004,设置还原点。
4.根据权利要求3所述的服务器固件升级的方法,其特征在于:所述步骤S1001,对BMC固件升级,具体包括:
S1001-1,指定升级模式;
S1001-2,获取本机服务器类型及BMC固件版本号;
S1001-3,使能DFT接口,打开黑匣子,以及加载带内带外通道开启驱动和带内带外文件传输驱动;所述的黑匣子用于保存测试日志信息;
S1001-4,对BMC固件的版本进行校验,检查本机BMC固件的版本号与目标版本号之间是否一致,若一致,则执行步骤S1001-8,否则执行步骤S1001-5;
S1001-5,根据本机服务器的类型和BMC固件版本号,选择目标版本的升级包并传送至BMC固件;
S1001-6,升级BMC固件,并查看升级进度;
S1001-7,当升级进度为100%后,重启BMC固件;
S1001-8,检查升级是否成功,如成功,则执行步骤S1001-9,否则结束升级;
S1001-9,更新BMC登录界面二维码信息;
S1001-10,BMC更新成功后,完成BMC升级;
其中,所述的升级模式包括:常规升级或升级至指定版本。
5.根据权利要求4所述的服务器固件升级的方法,其特征在于:所述步骤S1001-9之后,还包括:BMC定制化信息更新;
所述BMC定制化信息更新,具体包括:
S1001-9-1,判断升级模式是否为指定版本的升级,如是,则执行步骤S1001-9-9,否则执行步骤S1001-9-2;
S1001-9-2,BMC定制化信息更新,并判断定制化信息更新开关是否打开,如打开,则执行步骤S1001-9-3,否则,视为升级成功并结束更新;
S1001-9-3,制造商信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-4,否则,视为升级失败并结束更新;
S1001-9-4,产品名称信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-5,否则,视为升级失败并结束更新;
S1001-9-5,描述信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-6,否则,视为升级失败并结束更新;
S1001-9-6,版权信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-7,否则,视为升级失败并结束更新;
S1001-9-7,判断序列号开关是否关闭,若关闭,则直接执行步骤S1001-9-8,否则,进行序列号信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-8,否则,视为升级失败并结束更新;
S1001-9-8,BMC账户信息更新,并判断是否更新成功,如成功,则执行步骤S1001-9-9,否则,视为升级失败并结束更新;
S1001-9-9,BMC升级成功,并结束。
6.根据权利要求5所述的服务器固件升级的方法,其特征在于:所述步S1004,设置还原点,用于设置BMC模块的还原点,以使BMC定制化信息更新后进行保存。
7.根据权利要求3所述的服务器固件升级的方法,其特征在于:所述步骤S1002,对BIOS固件升级,具体包括:
S1002-1,判断SN开关是否关闭,若关闭,则直接执行步骤S1002-2,否则,进行SN录入后执行步骤S1002-2;
S1002-2,获取本机服务器类型、BMC固件版本号、以及本机BIOS固件的版本号;并使能DFT接口;
S1002-3,对BIOS固件的版本进行校验,检查本机BIOS固件的版本号与目标版本号之间是否一致,若一致,则结束更新,否则,执行步骤S1002-4;
S1002-4,根据BMC固件版本型号选择是否需要降级操作,如需要,则对BMC固件进行降级后执行步骤S1002-5,否则直接执行步骤S1002-5;
S1002-5,选择目标版本的升级包并传送至BIOS固件;
S1002-6,拷贝升级结果检查脚本至autostart目录;
S1002-7,服务器下电再上电后BIOS固件开始真正的升级;
S1002-8,BIOS固件升级完毕后,开机自动运行升级结果检查脚本进行结果检查,当结果检查为成功时,执行步骤S1002-9,否则,视为升级失败并结束更新;
S1002-9,BIOS定制化信息更新;
S1002-10,BIOS更新后,完成BIOS升级。
8.根据权利要求3所述的服务器固件升级的方法,其特征在于:所述步骤S1003,对CPLD固件升级,具体包括:
S1003-1,获取本机服务器的CPLD固件版本号;
S1003-2,使能DFT接口,打开黑匣子,以及加载带内带外通道开启驱动和带内带外文件传输驱动;所述的黑匣子用于保存测试日志信息;
S1003-3,对CPLD固件的版本进行校验,检查本机主板CPLD固件的版本号与目标版本号之间是否一致,若一致,则结束升级,否则执行步骤S1003-4;
S1003-4,根据本机服务器的CPLD固件版本号,选择目标版本的升级包并传送至BMC;
S1003-5,升级CPLD固件,并查看升级进度;
S1003-6,当升级进度为100%后,对服务器进行AC上下电,CPLD固件的目标版本生效,自动进入操作系统;
S1003-7,运行升级结果检查脚本进行结果检查,当结果检查为成功时,执行步骤S1003-8,否则,视为升级失败并结束更新;
S1003-8,完成CPLD升级。
9.存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行如权利要求1至8任一所述的服务器固件升级的方法。
10.终端,所述终端可包括:
处理器,适于实现各指令;以及
存储设备,适于存储多条指令,所述指令适于由处理器加载并执行如权利要求1至8任一所述的服务器固件升级的方法。
CN202111505590.XA 2021-12-10 2021-12-10 服务器固件升级的方法、存储设备及终端 Pending CN114115984A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111505590.XA CN114115984A (zh) 2021-12-10 2021-12-10 服务器固件升级的方法、存储设备及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111505590.XA CN114115984A (zh) 2021-12-10 2021-12-10 服务器固件升级的方法、存储设备及终端

Publications (1)

Publication Number Publication Date
CN114115984A true CN114115984A (zh) 2022-03-01

Family

ID=80364709

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111505590.XA Pending CN114115984A (zh) 2021-12-10 2021-12-10 服务器固件升级的方法、存储设备及终端

Country Status (1)

Country Link
CN (1) CN114115984A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115268971A (zh) * 2022-09-27 2022-11-01 北京东远润兴科技有限公司 信号处理系统的更新方法、装置、设备及存储介质
CN115454465A (zh) * 2022-08-12 2022-12-09 北京兴汉网际股份有限公司 一种cpld固件的自动更新方法
CN116009912A (zh) * 2022-12-26 2023-04-25 郑州云智信安安全技术有限公司 针对私网环境的自动生成升级包的构建方法
CN116149709A (zh) * 2023-02-22 2023-05-23 宁畅信息产业(北京)有限公司 一种固件升级方法、装置、设备及介质
CN117608618A (zh) * 2024-01-24 2024-02-27 苏州元脑智能科技有限公司 服务器固件升级方法及装置、存储介质和电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920163A (zh) * 2018-06-29 2018-11-30 郑州云海信息技术有限公司 服务器固件升级方法及装置
CN110427199A (zh) * 2019-06-26 2019-11-08 苏州浪潮智能科技有限公司 一种bmc和bios配套升级的方法、设备及可读介质
CN110515641A (zh) * 2019-08-30 2019-11-29 西安易朴通讯技术有限公司 服务器固件的更新方法、装置及系统
CN110795119A (zh) * 2019-09-19 2020-02-14 平安科技(深圳)有限公司 固件升级方法、装置、计算机设备及存储介质
WO2021120887A1 (zh) * 2019-12-18 2021-06-24 广东美的厨房电器制造有限公司 一种家电多mcu系统在线升级方法、电子设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108920163A (zh) * 2018-06-29 2018-11-30 郑州云海信息技术有限公司 服务器固件升级方法及装置
CN110427199A (zh) * 2019-06-26 2019-11-08 苏州浪潮智能科技有限公司 一种bmc和bios配套升级的方法、设备及可读介质
CN110515641A (zh) * 2019-08-30 2019-11-29 西安易朴通讯技术有限公司 服务器固件的更新方法、装置及系统
CN110795119A (zh) * 2019-09-19 2020-02-14 平安科技(深圳)有限公司 固件升级方法、装置、计算机设备及存储介质
WO2021120887A1 (zh) * 2019-12-18 2021-06-24 广东美的厨房电器制造有限公司 一种家电多mcu系统在线升级方法、电子设备及介质

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115454465A (zh) * 2022-08-12 2022-12-09 北京兴汉网际股份有限公司 一种cpld固件的自动更新方法
CN115454465B (zh) * 2022-08-12 2023-04-25 北京兴汉网际股份有限公司 一种cpld固件的自动更新方法
CN115268971A (zh) * 2022-09-27 2022-11-01 北京东远润兴科技有限公司 信号处理系统的更新方法、装置、设备及存储介质
CN115268971B (zh) * 2022-09-27 2023-01-10 北京东远润兴科技有限公司 信号处理系统的更新方法、装置、设备及存储介质
CN116009912A (zh) * 2022-12-26 2023-04-25 郑州云智信安安全技术有限公司 针对私网环境的自动生成升级包的构建方法
CN116009912B (zh) * 2022-12-26 2023-08-18 郑州云智信安安全技术有限公司 针对私网环境的自动生成升级包的构建方法
CN116149709A (zh) * 2023-02-22 2023-05-23 宁畅信息产业(北京)有限公司 一种固件升级方法、装置、设备及介质
CN117608618A (zh) * 2024-01-24 2024-02-27 苏州元脑智能科技有限公司 服务器固件升级方法及装置、存储介质和电子设备
CN117608618B (zh) * 2024-01-24 2024-04-12 苏州元脑智能科技有限公司 服务器固件升级方法及装置、存储介质和电子设备

Similar Documents

Publication Publication Date Title
CN114115984A (zh) 服务器固件升级的方法、存储设备及终端
US20140075438A1 (en) Method, server, and system for starting an application
CN106610840A (zh) 一种无线固件升级方法及系统
CN104915226B (zh) 一种网络设备软件启动方法、装置及网络设备
TWI533216B (zh) 作業系統更新方法
WO2017185954A1 (zh) 一种实现usb设备管理的方法、主机和系统
CN101420326A (zh) 实现故障恢复和数据备份的方法、系统和装置
CN111813495A (zh) 节点测试方法和装置、存储介质和电子装置
CN112698846A (zh) 一种Linux系统自动安装补丁的方法和系统
CN109992280A (zh) 一种嵌入式软件升级的方法、终端装置及存储装置
CN112732285B (zh) 适用于云计算linux操作系统的升级方法、装置及电子设备
CN105700900A (zh) 一种优化无线局域网功能的方法及装置
EP3260981B1 (en) Information processing apparatus, information processing system, and information processing method for updating firmware
WO2024113995A1 (zh) 一种bmc异构升级方法、系统、设备及可读存储介质
CN106933604B (zh) 一种系统升级方法及装置
CN111984287A (zh) 设备升级方法及系统
CN106445601A (zh) 一种插件升级的方法及装置
CN116028084A (zh) 一种基于OpenStack云平台跨版本热升级的方法、系统及终端
CN115437674A (zh) 一种固件升级方法、装置、介质及电子设备
CN112559006A (zh) 企业客户端自动升级方法、系统、设备及存储介质
CN112527327A (zh) 一种uos操作系统恢复出厂的方法、系统、终端及存储介质
CN105577451A (zh) 云电视系统的升级方法及装置
CN111752627A (zh) 一种云环境中虚拟机的外部设备挂载方法及系统
CN114124684B (zh) 一种运用u盘实现零接触全自动部署网元的方法
CN105282614B (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