CN115129350A - 一种uefi环境下bmc固件更新系统和方法 - Google Patents

一种uefi环境下bmc固件更新系统和方法 Download PDF

Info

Publication number
CN115129350A
CN115129350A CN202210623935.XA CN202210623935A CN115129350A CN 115129350 A CN115129350 A CN 115129350A CN 202210623935 A CN202210623935 A CN 202210623935A CN 115129350 A CN115129350 A CN 115129350A
Authority
CN
China
Prior art keywords
bmc
firmware
version
module
bios
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
CN202210623935.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.)
Kunlun Taike Beijing Technology Co ltd
Original Assignee
Kunlun Taike Beijing 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 Kunlun Taike Beijing Technology Co ltd filed Critical Kunlun Taike Beijing Technology Co ltd
Priority to CN202210623935.XA priority Critical patent/CN115129350A/zh
Publication of CN115129350A publication Critical patent/CN115129350A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • 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

Landscapes

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

Abstract

本发明提出了一种UEFI环境下BMC固件更新系统和方法,能够在UEFI环境中进行固件的更新,无需进入操作系统。通过本发明系统可以在开机的时候,引导待更新BMC固件的服务器进入到UEFI环境下,插入存有BMC固件的U盘,在UEFI环境下,执行升级程序,并进行BMC固件的更新,大大方便了在系统配置期间,及测试期间,需要更新BMC时,更新BMC固件的操作,节省了大量的配置更新环境的时间。本发明方法基于本发明系统引导待更新BMC固件的服务器进入到UEFI环境下,进行BMC固件的更新,无需进入操作系统,节省了大量的配置更新环境的时间。

Description

一种UEFI环境下BMC固件更新系统和方法
技术领域
本发明涉及计算机固件技术领域,具体涉及一种UEFI环境下BMC固件更新系统和方法。
背景技术
BMC(Baseboard Management Controller)与IPMI(Intelligent PlatformManagement Interface),即基板管理控制器与智能型平台管理接口,是服务器的基本核心功能子系统,负责服务器的硬件状态管理、操作系统管理、健康状态管理、功耗管理等核心功能。BMC是独立于服务器系统之外的小型操作系统,是一个集成在主板上的芯片,也有产品是通过PCIe等形式插在主板上,对外表现形式只是一个标准的RJ45网口,拥有独立IP的固件系统。服务器集群一般使用BMC指令进行大规模无人值守操作,包括服务器的远程管理、监控、安装、重启等。
现有的BMC固件更新,一般使用如下方式进行更新:
进入到和BMC用PCI总线相连的系统中,在系统中执行BMC固件更新程序,将新固件刷写到BMC的SPI存储中;在BMC固件完整,BMC可以正常运行且有网口的服务器上,可以另找一台电脑,将网口用网线连接与BMC的网口连接起来。配置好电脑的网络参数,在电脑上访问BMC提供的网络界面,按照界面上的步骤去更新BMC之上的固件。
但是当计算机无法进入操作系统时,在目前的UEFI shell环境下,无法更新某些BMC芯片中的BMC固件。如需更新固件,需要使用另外一台电脑,且需要连接网线,然后还需要配置一些网络参数,才能进行BMC固件的更新,比较繁琐。如BMC固件因某些原因损坏,无法正常启动,上述网页更新方式无法运行,无法更新BMC固件,如需更新,必须需要进入到操作系统下,才会有工具可以更新BMC的固件,非常的费时费力。
发明内容
有鉴于此,本发明提出了一种UEFI环境下BMC固件更新系统和方法,能够在UEFI环境中进行固件的更新,无需进入操作系统。
为实现上述目的,本发明的技术方案为:
本发明的一种UEFI环境下BMC固件更新系统,包括硬件层、BIOS层面以及操作系统层面;
其中,硬件层面包括处理器平台、内存以及BMC芯片;BIOS层面包括标准的UEFI环境,对PCIe读写有相应的支持PROTOCOL,具体包括BMC升级选项模块、版本升级检测模块、升级镜像认证模块、BMC设备定位模块、BMC固件刷写模块以及升级失败处理模块;
其中,BMC升级选项模块,实现根据输入的参数进行待更新镜像的选择;版本升级检测模块实现版本的检测,防止版本被错误更新为更旧的版本;升级镜像认证模块,用于镜像完整性及安全性的认证;BMC设备定位模块,实现系统内部BMC设备在PCIe总线上的查找定位;BMC固件刷写模块,用于更新BMC固件;系统升级失败处理模块,用于在升级过程中,出现错误无法继续更新时,相关错误处理及资源回收逻辑的实现。
其中,所述版本升级检测模块用于检测镜像和目前固件中的版本,防止错误的将BMC现有固件版本更新为更旧的版本。
其中,所述BMC设备定位模块用于在PCIe总线上进行设备的搜索,定位BMC在总线上的位置。
其中,所述BMC固件刷写模块实现BMC上的固件所在SPI芯片内容的更新。
本发明还提供了一种UEFI环境下BMC固件更新方法,采用本发明的固件更新系统,包括如下步骤:
步骤一、判断版本号、适用芯片是否满足升级要求,若满足则引导服务器进入到UEFI环境中,并将存放有本升级程序及待更新固件镜像的U盘插入到服务器的u口上,在UEFI环境下进入到U盘所在目录下,输入参数命令,执行步骤二;否则显示升级失败处理,结束步骤;
步骤二、程序对输入的参数进行检测并校验固件镜像是否完整,申请执行所需要的资源;若完整则执行步骤三,否则显示升级失败处理,结束步骤;
步骤三、利用UEFI系统提供的PCIE protocol查找BMC设备;其中BIOS定位BMC设备地址及BMC固件存储空间地址;
步骤四、查找到BMC设备后,初始化BMC设备的p2a硬件接口以及SPI固件控制寄存器,然后执行固件的更新操作,BIOS向BMC固件存储空间写入BMC固件镜像;
步骤五、BIOS重启服务器;
步骤六、BIOS等待BMC运行启动,并在10分钟内确认BMC是否发送正常信息,若能发送正常信息,则BMC成功升级,进行资源回收,程序结束退出;否则进行升级失败处理,结束步骤。
其中,所述步骤一中,计算机上电,BIOS启动,用户以BIOS管理员身份登录;
用户选择升级BMC选项,BIOS加载BMC更新部件;
BIOS获取BMC固件的当前版本,并与BMC升级镜像版本、平台系列参数对比。
有益效果:
通过本发明系统可以在开机的时候,引导待更新BMC固件的服务器进入到UEFI环境下,插入存有BMC固件的U盘,在UEFI环境下,执行升级程序,并进行BMC固件的更新,大大方便了在系统配置期间,及测试期间,需要更新BMC时,更新BMC固件的操作,节省了大量的配置更新环境的时间。
本发明系统可以在UEFI环境下,通过PCIe协议找到BMC设备,然后根据设备提供的硬件接口,使用特定的流程,就可以在UEFI环境中,从PCIE接口访问到BMC端的特定寄存器,如果是访问和操作Flash的寄存器,那么就可以通过操作Flash控制相关的寄存器,进而访问到BMC的固件存储的SPI芯片,进而对SPI芯片进行读写,进行固件的更新。
本发明方法可以在UEFI环境下,通过PCIe协议找到BMC设备,然后根据设备提供的硬件接口,使用特定的流程,就可以在UEFI环境中,从PCIE接口访问到BMC端的特定寄存器,如果是访问和操作Flash的寄存器,那么就可以通过操作Flash控制相关的寄存器,进而访问到BMC的固件存储的SPI芯片,进而对SPI芯片进行读写,进行固件的更新。
本发明方法基于本发明系统引导待更新BMC固件的服务器进入到UEFI环境下,进行BMC固件的更新,无需进入操作系统,节省了大量的配置更新环境的时间。
附图说明
图1为本发明UEFI环境下BMC固件更新系统(计算单元)示意图。
图2为本发明UEFI环境下BMC固件更新方法流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供了一种UEFI环境下BMC固件更新系统,如图1所示的计算单元,能够在包含有特定BMC的服务器上,UEFI环境下,更新刷写BMC固件所在的SPI芯片。
本发明UEFI环境下BMC固件更新系统包括硬件层、BIOS层面以及操作系统层面。
其中,硬件层面包括处理器平台、内存等其他计算机关键元器件以及BMC芯片;BIOS层面包括标准的UEFI环境,其中需要对PCIe读写有相应的支持PROTOCOL。具体包括BMC升级选项模块、版本升级检测模块、升级镜像认证模块、BMC设备定位模块、BMC固件刷写模块以及升级失败处理模块。
其中,BMC升级选项模块实现根据输入的参数进行待更新镜像的选择;版本升级检测模块实现版本的检测,防止版本被错误更新为更旧的版本;升级镜像认证模块用于镜像完整性及安全性的认证;BMC设备定位模块实现系统内部BMC设备在PCIe总线上的查找定位;BMC固件刷写模块用于更新BMC固件;系统升级失败处理模块用于在升级过程中,出现错误无法继续更新时,相关错误处理及资源回收逻辑的实现。
进一步地,所述版本升级检测模块用于检测镜像和目前固件中的版本,防止错误的将BMC现有固件版本更新为更旧的版本。
进一步地,所述BMC设备定位模块用于在PCIe总线上进行设备的搜索,定位BMC在总线上的位置。
进一步地,所述BMC固件刷写模块实现BMC上的固件所在SPI芯片内容的更新。
本发明提供了一种UEFI环境下BMC固件更新方法,采用本发明固件更新系统,本发明方法的实现步骤如附图2所示。结合具体实施过程,说明其实现步骤如下:
步骤一、计算机上电,BIOS启动,用户以BIOS管理员身份登录。
用户选择升级BMC选项,BIOS加载BMC更新部件。
BIOS获取BMC固件的当前版本,并与BMC升级镜像版本、平台等系列参数对比。
判断版本号、适用芯片等是否满足升级要求,若满足则引导待更新BMC固件的服务器进入到UEFI环境中,并将存放有本升级程序及待更新固件镜像的U盘插入到服务器的USB接口上,在UEFI环境下进入到U盘所在目录下,输入正确的参数命令,执行步骤二;否则显示升级失败处理,结束步骤;
步骤二、程序对输入的参数进行检测并校验固件镜像是否完整,申请执行所需要的资源,如内存空间等;若完整则执行步骤三,否则显示升级失败处理,结束步骤;
步骤三、利用UEFI系统提供的PCIe protocol查找BMC设备;其中BIOS定位BMC设备地址及BMC固件存储空间地址;
步骤四、查找到BMC设备后,初始化BMC设备的p2a硬件接口以及SPI固件控制寄存器,然后执行固件的更新操作,BIOS向BMC固件存储空间写入BMC固件镜像;
步骤五、BIOS重启服务器。
步骤六、BIOS等待BMC运行启动,并在10分钟内确认BMC是否发送正常信息,若能发送正常信息,则BMC成功升级,进行资源回收,程序结束退出;否则进行升级失败处理,结束步骤。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种UEFI环境下BMC固件更新系统,其特征在于,包括硬件层、BIOS层面以及操作系统层面;
其中,硬件层面包括处理器平台、内存以及BMC芯片;BIOS层面包括标准的UEFI环境,对PCIe读写有相应的支持PROTOCOL,具体包括BMC升级选项模块、版本升级检测模块、升级镜像认证模块、BMC设备定位模块、BMC固件刷写模块以及升级失败处理模块;
其中,BMC升级选项模块,实现根据输入的参数进行待更新镜像的选择;版本升级检测模块实现版本的检测,防止版本被错误更新为更旧的版本;升级镜像认证模块,用于镜像完整性及安全性的认证;BMC设备定位模块,实现系统内部BMC设备在PCIe总线上的查找定位;BMC固件刷写模块,用于更新BMC固件;系统升级失败处理模块,用于在升级过程中,出现错误无法继续更新时,相关错误处理及资源回收逻辑的实现。
2.如权利要求1所述的系统,其特征在于,所述版本升级检测模块用于检测镜像和目前固件中的版本,防止错误的将BMC现有固件版本更新为更旧的版本。
3.如权利要求1或2所述的系统,其特征在于,所述BMC设备定位模块用于在PCIe总线上进行设备的搜索,定位BMC在总线上的位置。
4.如权利要求1或2所述的系统,其特征在于,所述BMC固件刷写模块实现BMC上的固件所在SPI芯片内容的更新。
5.一种UEFI环境下BMC固件更新方法,其特征在于,采用如权利要求1-4任意一项所述的固件更新系统,包括如下步骤:
步骤一、判断版本号、适用芯片是否满足升级要求,若满足则引导服务器进入到UEFI环境中,并将存放有本升级程序及待更新固件镜像的u盘插入到服务器的u口上,在UEFI环境下进入到u盘所在目录下,输入参数命令,执行步骤二;否则显示升级失败处理,结束步骤;
步骤二、程序对输入的参数进行检测并校验固件镜像是否完整,申请执行所需要的资源;若完整则执行步骤三,否则显示升级失败处理,结束步骤;
步骤三、利用UEFI系统提供的PCIE protocol查找BMC设备;其中BIOS定位BMC设备地址及BMC固件存储空间地址;
步骤四、查找到BMC设备后,初始化BMC设备的p2a硬件接口以及SPI固件控制寄存器,然后执行固件的更新操作,BIOS向BMC固件存储空间写入BMC固件镜像;
步骤五、BIOS重启服务器;
步骤六、BIOS等待BMC运行启动,并在10分钟内确认BMC是否发送正常信息,若能发送正常信息,则BMC成功升级,进行资源回收,程序结束退出;否则进行升级失败处理,结束步骤。
6.如权利要求5所述的方法,其特征在于,所述步骤一中,计算机上电,BIOS启动,用户以BIOS管理员身份登录;
用户选择升级BMC选项,BIOS加载BMC更新部件;
BIOS获取BMC固件的当前版本,并与BMC升级镜像版本、平台系列参数对比。
CN202210623935.XA 2022-06-02 2022-06-02 一种uefi环境下bmc固件更新系统和方法 Pending CN115129350A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210623935.XA CN115129350A (zh) 2022-06-02 2022-06-02 一种uefi环境下bmc固件更新系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210623935.XA CN115129350A (zh) 2022-06-02 2022-06-02 一种uefi环境下bmc固件更新系统和方法

Publications (1)

Publication Number Publication Date
CN115129350A true CN115129350A (zh) 2022-09-30

Family

ID=83378922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210623935.XA Pending CN115129350A (zh) 2022-06-02 2022-06-02 一种uefi环境下bmc固件更新系统和方法

Country Status (1)

Country Link
CN (1) CN115129350A (zh)

Similar Documents

Publication Publication Date Title
US9778844B2 (en) Installation of operating system on host computer using virtual storage of BMC
US6463550B1 (en) Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory
US9158628B2 (en) Bios failover update with service processor having direct serial peripheral interface (SPI) access
US9680712B2 (en) Hardware management and control of computer components through physical layout diagrams
KR100773004B1 (ko) 시스템 부팅시 하드웨어를 구성하는 동안 사용자의 상호작용을 없애기 위한 시스템 및 장치
US8296521B2 (en) Method of configuring non-volatile memory for a hybrid disk drive
US9448889B2 (en) BIOS failover update with service processor
US9239725B2 (en) System and method for installing an OS via a network card supporting PXE
US9448808B2 (en) BIOS update with service processor without serial peripheral interface (SPI) access
CN105760191A (zh) 嵌入式系统设备程序烧写量产方法
US20100049961A1 (en) Update method for basic input/output system and update system thereof
CN102479121A (zh) 独立磁盘冗余阵列实现及测试方法
US9749189B2 (en) Generating graphical diagram of physical layout of computer platforms
CN114138295A (zh) 一种电子设备的应用程序固件升级方法、装置及系统
CN114816491A (zh) 用于多系统移动终端的系统升级方法、装置及终端
CN111198832A (zh) 一种处理方法和电子设备
CN115129350A (zh) 一种uefi环境下bmc固件更新系统和方法
CN113867812B (zh) 一种bmc获取链路信息的方法、系统、设备以及介质
CN115904831A (zh) 一种服务器固件的启动方法及终端
KR20050120856A (ko) Usb 메모리 장치를 이용한 임베디드 시스템의 장애복구 및 업그레이드 방법
CN111176735B (zh) 一种心电图机启动加速方法
JP4946919B2 (ja) 情報処理装置
CN116028100B (zh) 软件版本升级方法和电子设备
US11250929B2 (en) System for detecting computer startup and method of system
CN117667252A (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