CN117648697A - 一种固件管理方法、装置、设备及机器可读存储介质 - Google Patents
一种固件管理方法、装置、设备及机器可读存储介质 Download PDFInfo
- Publication number
- CN117648697A CN117648697A CN202311631321.7A CN202311631321A CN117648697A CN 117648697 A CN117648697 A CN 117648697A CN 202311631321 A CN202311631321 A CN 202311631321A CN 117648697 A CN117648697 A CN 117648697A
- Authority
- CN
- China
- Prior art keywords
- firmware
- main
- uboot
- standby
- kernel
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 21
- 238000012795 verification Methods 0.000 claims abstract description 52
- 238000011084 recovery Methods 0.000 claims abstract description 32
- 238000000034 method Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims description 29
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 239000000758 substrate Substances 0.000 claims 1
- 230000009471 action Effects 0.000 abstract description 4
- 230000001960 triggered effect Effects 0.000 abstract description 3
- 238000005192 partition Methods 0.000 description 24
- 230000006870 function Effects 0.000 description 16
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Stored Programmes (AREA)
Abstract
本公开提供一种固件管理方法、装置、设备及机器可读存储介质,该方法包括:校验主固件区域的主Uboot数据,对于校验未通过的主Uboot数据进行恢复处理;进行BMC主Uboot启动;通过主Uboot校验存储于主固件区域的主固件内核和主固件根文件系统;启动主固件内核和主固件根文件系统。通过本公开的技术方案,在触发BMC固件启动后,对且仅对BMC固件的Uboot启动的部分进行固件保护恢复PFR动作,耗费的时间较少,在Uboot启动后,通过Uboot实现对BMC固件的其他部分的校验,从而仅需存储Uboot相关的PFR数据,实现空间节约,可同时实现PFR功能和固件主备功能。
Description
技术领域
本公开涉及通信技术领域,尤其是涉及一种固件管理方法、装置、设备及机器可读存储介质。
背景技术
PFR:Platform Firmware Resilience,固件保护恢复,是一种安全性功能,用于确保固件的完整性和真实性,提供对系统启动过程和固件更新的可信保护。
PRoT:Platform Root-of-Trust,在PFR方案中,指PFR CPLD,其作为信任链的源头,在平台启动前对固件进行校验、恢复和安全更新。
PFM:Platform Firmware Manifest,在PFR方案中,用于描述active分区的数据结构,包括active各个分区的保护级别,地址范围以及哈希值,此外还包含了SMBUS的过滤规则。
UFM:User FLASH Memory,CPLD中用于存储非易失性信息的闪存块。
现有的PFR方案,在AC上电后,需要PFR CPLD至少完成active+recovery两个分区的完整镜像校验,在BMC镜像较大时,校验时间将会比较长。而如果只保护BMC镜像的一小部分的话,对于受保护区域外的固件篡改或损坏将无法进行校验和恢复。此外受限于固件FLASH存储空间大小,在存储PFR数据后,无法实现BMC固件的主备备份功能,具有稳定性隐患。
发明内容
有鉴于此,本公开提供一种固件管理方法、装置及电子设备、机器可读存储介质,以至少改善上述技术问题之一。
具体地技术方案如下:
本公开提供了一种固件管理方法,应用于服务器,所述服务器包括BMC设备,所述方法包括:响应于启动触发事件,调用固件保护恢复CPLD根据主固件区域的固件保护恢复程序校验主固件区域的主Uboot数据,对于校验未通过的主Uboot数据通过主固件区域的固件保护恢复程序进行恢复处理;根据校验通过的主Uboot数据或被恢复的主Uboot数据进行BMC主Uboot启动;通过主Uboot校验存储于主固件区域的主固件内核和主固件根文件系统;响应于主固件内核和主固件根文件系统校验通过的事件,启动主固件内核和主固件根文件系统;所述主固件区域和备固件区域是划分自BMC固件存储区域的两个存储区域,主固件区域和备固件区域分别存储有关联于BMC固件启动主Uboot数据和备Uboot数据的固件保护恢复程序。
作为一种技术方案,响应于主固件内核和主固件根文件系统校验未通过的事件,通过主Uboot校验存储于备固件区域的备固件内核和备固件根文件系统,响应于备固件内核和备固件根文件系统校验通过的事件,通过主Uboot启动备固件内核和备固件根文件系统。
作为一种技术方案,所述根据校验通过的主Uboot数据或恢复的主Uboot数据进行主Uboot启动之后,还包括:通过主Uboot根据备固件区域的固件保护恢复程序校验备固件区域的备Uboot数据,对于校验未通过的备Uboot数据通过备固件区域的固件保护恢复程序进行恢复处理;响应于BMC主Uboot发生异常的事件,根据校验通过的备Uboot数据或被恢复的备Uboot数据进行BMC备Uboot启动;通过备Uboot校验存储于备固件区域的备固件内核和备固件根文件系统;响应于备固件内核和备固件根文件系统校验通过的事件,启动备固件内核和备固件根文件系统。
作为一种技术方案,响应于备固件内核和备固件根文件系统校验未通过的事件,通过备Uboot校验存储于主固件区域的主固件内核和主固件根文件系统,响应于主固件内核和主固件根文件系统校验通过的事件,通过备Uboot启动主固件内核和主固件根文件系统。
本公开同时提供了一种固件管理装置,应用于服务器,所述服务器包括BMC设备,所述装置包括:第一模块,用于响应于启动触发事件,调用固件保护恢复CPLD根据主固件区域的固件保护恢复程序校验主固件区域的主Uboot数据,对于校验未通过的主Uboot数据通过主固件区域的固件保护恢复程序进行恢复处理;第二模块,用于根据校验通过的主Uboot数据或被恢复的主Uboot数据进行BMC主Uboot启动;第三模块,用于通过主Uboot校验存储于主固件区域的主固件内核和主固件根文件系统,还用于响应于主固件内核和主固件根文件系统校验通过的事件,启动主固件内核和主固件根文件系统;所述主固件区域和备固件区域是划分自BMC固件存储区域的两个存储区域,主固件区域和备固件区域分别存储有关联于BMC固件启动主Uboot数据和备Uboot数据的固件保护恢复程序。
作为一种技术方案,第三模块还用于响应于主固件内核和主固件根文件系统校验未通过的事件,通过主Uboot校验存储于备固件区域的备固件内核和备固件根文件系统,响应于备固件内核和备固件根文件系统校验通过的事件,通过主Uboot启动备固件内核和备固件根文件系统。
作为一种技术方案,第一模块还用于在第二模块根据校验通过的主Uboot数据或恢复的主Uboot数据进行主Uboot启动之后,通过主Uboot根据备固件区域的固件保护恢复程序校验备固件区域的备Uboot数据,对于校验未通过的备Uboot数据通过备固件区域的固件保护恢复程序进行恢复处理;第二模块还用于响应于BMC主Uboot发生异常的事件,根据校验通过的备Uboot数据或被恢复的备Uboot数据进行BMC备Uboot启动;第三模块还用于通过备Uboot校验存储于备固件区域的备固件内核和备固件根文件系统,还用于响应于备固件内核和备固件根文件系统校验通过的事件,启动备固件内核和备固件根文件系统。
作为一种技术方案,第三模块还用于响应于备固件内核和备固件根文件系统校验未通过的事件,通过备Uboot校验存储于主固件区域的主固件内核和主固件根文件系统,响应于主固件内核和主固件根文件系统校验通过的事件,通过备Uboot启动主固件内核和主固件根文件系统。
本公开同时提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的固件管理方法。
本公开同时提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的固件管理方法。
本公开提供的上述技术方案至少带来了以下有益效果:
在触发BMC固件启动后,对且仅对BMC固件的Uboot启动的部分进行固件保护恢复PFR动作,耗费的时间较少,并保障Uboot相关数据的正确性和安全性,在Uboot启动后,通过Uboot实现对BMC固件的其他部分的校验,从而仅需存储Uboot相关的PFR数据,实现空间节约,可以在不更换存储FLASH芯片的前提下,同时实现PFR功能和固件主备功能。
附图说明
为了更加清楚地说明本公开实施方式或者现有技术中的技术方案,下面将对本公开实施方式或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施方式,对于本领域普通技术人员来讲,还可以根据本公开实施方式的这些附图获得其他的附图。
图1是本公开一种实施方式中的固件管理方法的流程图;
图2是本公开一种实施方式中的固件管理装置的结构图;
图3是本公开一种实施方式中的电子设备的硬件结构图。
附图标记:第一模块21,第二模块22,第三模块23。
具体实施方式
在本公开实施方式使用的术语仅仅是出于描述特定实施方式的目的,而非限制本公开。本公开和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开实施方式可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
PFR功能旨在通过对BIOS/BMC的SPI ROM中的firmware进行校验来确保固件的安全性,在一种PFR方案中,此校验行为由作为可信根的PFR CPLD来执行。PFR功能将平台的运行状态划分成两个阶段:T-1和T0,在AC上电后首先进入T-1阶段,此阶段PCH/BMC处于复位状态,PFR CPLD对BIOS/BMC的SPI FLASH执行完整固件的校验、恢复以及安全更新,T-1完成后PFR CPLD控制切换到T0阶段,BIOS/BMC启动,PFR CPLD执行对SPI总线的过滤操作以及对BIOS/BMC的启动进程监控等。
在上述方案中,SPI FLASH按照其特定的拓扑来进行设计,将FLASH划分为ACTIVE/RECOVERY/STAGING三个区域,其中U-BOOT+BMC FW+PFR ACTIVE PFM的整体作为ACTIVE区域。
在T-1阶段执行校验操作时,PFR CPLD需要根据自身UFM中存放的root key公钥哈希值,经过PFM中信任链的传递,最终验证PFM中存放的active受保护区域的哈希值的安全性,再将此哈希值与实际计算的active受保护区域哈希值进行对比,就可以确认固件是否被破坏或恶意篡改。如果判断固件已被破坏,则会执行恢复操作,将recovery分区的恢复镜像刷写到active分区。
如前述,为了实现PFR功能,将整个BMC FLASH划分为三个区域,其中:active分区为实际运行的完整BMC固件区域,由PFR CPLD在T-1阶段进行校验、恢复和更新;recovery分区为恢复镜像存放的分区,当T-1校验失败时,从recovery分区解压镜像并执行恢复操作;staging分区为升级包暂存分区,需要执行安全更新时,先将升级包写入staging分区,升级包校验通过后再写入active和recovery分区。
对于上述PFR实现方案,在AC上电后,需要PFR CPLD至少完成active+recovery两个分区的完整镜像校验,在BMC镜像较大时,校验时间将会比较长。而如果只保护BMC镜像的一小部分的话,对于受保护区域外的固件篡改或损坏将无法进行校验和恢复。
有鉴于此,本公开提供一种固件管理方法、装置及电子设备、机器可读存储介质,以至少改善上述技术问题之一。
具体地技术方案如后述。
在一种实施方式中,本公开提供了一种固件管理方法,应用于服务器,所述服务器包括BMC设备,所述方法包括:响应于启动触发事件,调用固件保护恢复CPLD根据主固件区域的固件保护恢复程序校验主固件区域的主Uboot数据,对于校验未通过的主Uboot数据通过主固件区域的固件保护恢复程序进行恢复处理;根据校验通过的主Uboot数据或被恢复的主Uboot数据进行BMC主Uboot启动;通过主Uboot校验存储于主固件区域的主固件内核和主固件根文件系统;响应于主固件内核和主固件根文件系统校验通过的事件,启动主固件内核和主固件根文件系统;所述主固件区域和备固件区域是划分自BMC固件存储区域的两个存储区域,主固件区域和备固件区域分别存储有关联于BMC固件启动主Uboot数据和备Uboot数据的固件保护恢复程序。
具体地,如图1,包括以下步骤:
步骤S11,响应于启动触发事件,调用固件保护恢复CPLD根据主固件区域的固件保护恢复程序校验主固件区域的主Uboot数据,对于校验未通过的主Uboot数据通过主固件区域的固件保护恢复程序进行恢复处理;
步骤S12,根据校验通过的主Uboot数据或被恢复的主Uboot数据进行BMC主Uboot启动;
步骤S13,通过主Uboot校验存储于主固件区域的主固件内核和主固件根文件系统;
步骤S14,响应于主固件内核和主固件根文件系统校验通过的事件,启动主固件内核和主固件根文件系统。
在触发BMC固件启动后,对且仅对BMC固件的Uboot启动的部分进行固件保护恢复PFR动作,耗费的时间较少,并保障Uboot相关数据的正确性和安全性,在Uboot启动后,通过Uboot实现对BMC固件的其他部分的校验,从而仅需存储Uboot相关的PFR数据,实现空间节约,可以在不更换存储FLASH芯片的前提下,同时实现PFR功能和固件主备功能。
在一种实施方式中,响应于主固件内核和主固件根文件系统校验未通过的事件,通过主Uboot校验存储于备固件区域的备固件内核和备固件根文件系统,响应于备固件内核和备固件根文件系统校验通过的事件,通过主Uboot启动备固件内核和备固件根文件系统。
在一种实施方式中,所述根据校验通过的主Uboot数据或恢复的主Uboot数据进行主Uboot启动之后,还包括:通过主Uboot根据备固件区域的固件保护恢复程序校验备固件区域的备Uboot数据,对于校验未通过的备Uboot数据通过备固件区域的固件保护恢复程序进行恢复处理;响应于BMC主Uboot发生异常的事件,根据校验通过的备Uboot数据或被恢复的备Uboot数据进行BMC备Uboot启动;通过备Uboot校验存储于备固件区域的备固件内核和备固件根文件系统;响应于备固件内核和备固件根文件系统校验通过的事件,启动备固件内核和备固件根文件系统。
在一种实施方式中,响应于备固件内核和备固件根文件系统校验未通过的事件,通过备Uboot校验存储于主固件区域的主固件内核和主固件根文件系统,响应于主固件内核和主固件根文件系统校验通过的事件,通过备Uboot启动主固件内核和主固件根文件系统。
在一种实施方式中,将BMC的FLASH内的空间分为两个,分别为主固件区域和备固件区域,每个区域都有一个完整的启动镜像,以及一个完整的PFR区域,包含active区域的PFM平台固件清单,恢复分区以及升级暂存分区。其中主固件区域的recovery和staging分区是用于PFR CPLD在T-1阶段对主Uboot数据进行恢复和安全更新,而备固件区域的recovery和staging则是用于主固件区域的主Uboot对备Uboot数据进行恢复和更新。active PFM定义各自所在主/备固件区域的Uboot地址范围。
BMC固件的其余部分在T-1阶段不受校验,也不执行恢复和安全更新。T-1阶段仅对主分区Uboot进行校验,在T0阶段,经过验证的主分区Uboot启动,随后对主存储区域的BMC固件的剩余部分进行校验,并校验备存储区域的备Uboot。当需要切换到备固件启动时,由备Uboot来校验备备固件的剩余部分,实现对整个主备双镜像的完整校验和保护。
将PFR区域放在配置文件区域conf之前,内核文件kernel之后,这样在由非PFR镜像升级到PFR镜像时,按照修改后的地址写入新镜像,由于PFR区域前的分区地址并未修改,因此可以保留旧版本的conf区域的配置文件,在升级PFR新版本后,用户配置可以得到保留。
具体地,AC上电,进入T-1,PFR CPLD对BMC FLASH中主存储区域的主Uboot数据进行校验;若校验失败,则由PFR CPLD执行对主Uboot数据的恢复操作,恢复完成后进入T0,若校验成功,则直接进入T0。
在T0阶段,主Uboot启动,启动后根据备存储区域的active PFM校验备Uboot数据是否被破坏或篡改,如果校验失败,则使用备存储区域的PFR数据的recovery恢复镜像执行对备Uboot数据的恢复操作,恢复完成后进入下一步校验主存储区域的kernel,如果校验成功,则直接进入下一步校验主存储区域的kernel。
若主Uboot校验主存储区域的kernel成功,则正常启动主存储区域的kernel,启动成功则BMC完成整个启动过程。如果校验失败或者启动失败,则执行对备存储区域的kernel的校验,如果成功,则正常启动备存储区域的kernel,启动失败,则说明此时主备均无可用镜像,无法继续启动,如果备存储区域的kernel校验失败,则尝试继续从主分区kernel启动。
如果主Uboot在运行过程中遭到破坏,导致重启主Uboot失败或其他主Uboot故障,可切换到备Uboot启动,并参照上述主Uboot的方式校验kernel,其中,可选择优先使用备存储区域的kernel。
由于此种方案将BMC镜像除Uboot以外的部分都剥离出了T-1阶段由PFR CPLD执行的校验/恢复/安全更新环节,因此可以节省大量的T-1阶段校验时间,而在T0阶段由BMC在启动过程中执行剩余的kernel、rootfs部分的校验,总体上节约开机等待时间。
在一种实际运行的方案中,原本PFR完全校验的方案下,BMC校验的时间约40s,而改为此方案后,用于BMC校验的时间实测仅2~3s左右。同时本公开的技术方案兼容了BMC主备切换的方案,在主分区kernel校验失败或无法成功启动时,无需再进入T-1进行恢复操作,而是直接切换到备分区启动,也大大节省了主分区异常时的恢复启动时间。
在一种实施方式中,如图2,本公开同时提供了一种固件管理装置,应用于服务器,所述服务器包括BMC设备,所述装置包括:第一模块,用于响应于启动触发事件,调用固件保护恢复CPLD根据主固件区域的固件保护恢复程序校验主固件区域的主Uboot数据,对于校验未通过的主Uboot数据通过主固件区域的固件保护恢复程序进行恢复处理;第二模块,用于根据校验通过的主Uboot数据或被恢复的主Uboot数据进行BMC主Uboot启动;第三模块,用于通过主Uboot校验存储于主固件区域的主固件内核和主固件根文件系统,还用于响应于主固件内核和主固件根文件系统校验通过的事件,启动主固件内核和主固件根文件系统;所述主固件区域和备固件区域是划分自BMC固件存储区域的两个存储区域,主固件区域和备固件区域分别存储有关联于BMC固件启动主Uboot数据和备Uboot数据的固件保护恢复程序。
在一种实施方式中,第三模块还用于响应于主固件内核和主固件根文件系统校验未通过的事件,通过主Uboot校验存储于备固件区域的备固件内核和备固件根文件系统,响应于备固件内核和备固件根文件系统校验通过的事件,通过主Uboot启动备固件内核和备固件根文件系统。
在一种实施方式中,第一模块还用于在第二模块根据校验通过的主Uboot数据或恢复的主Uboot数据进行主Uboot启动之后,通过主Uboot根据备固件区域的固件保护恢复程序校验备固件区域的备Uboot数据,对于校验未通过的备Uboot数据通过备固件区域的固件保护恢复程序进行恢复处理;第二模块还用于响应于BMC主Uboot发生异常的事件,根据校验通过的备Uboot数据或被恢复的备Uboot数据进行BMC备Uboot启动;第三模块还用于通过备Uboot校验存储于备固件区域的备固件内核和备固件根文件系统,还用于响应于备固件内核和备固件根文件系统校验通过的事件,启动备固件内核和备固件根文件系统。
在一种实施方式中,第三模块还用于响应于备固件内核和备固件根文件系统校验未通过的事件,通过备Uboot校验存储于主固件区域的主固件内核和主固件根文件系统,响应于主固件内核和主固件根文件系统校验通过的事件,通过备Uboot启动主固件内核和主固件根文件系统。
装置实施方式与对应的方法实施方式相同或相似,在此不再赘述。
在一种实施方式中,本公开提供了一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,处理器执行所述机器可执行指令以实现前述的固件管理方法,从硬件层面而言,硬件架构示意图可以参见图3所示。
在一种实施方式中,本公开提供了一种机器可读存储介质,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现前述的固件管理方法。
这里,机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(RadomAccess Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本公开时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本公开的实施方式可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施方式、完全软件实施方式、或结合软件和硬件方面的实施方式的形式。而且,本公开实施方式可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本公开是参照根据本公开实施方式的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域技术人员应明白,本公开的实施方式可提供为方法、系统或计算机程序产品。因此,本公开可以采用完全硬件实施方式、完全软件实施方式、或者结合软件和硬件方面的实施方式的形式。而且,本公开可以采用在一个或者多个其中包含有计算机可用程序代码的计算机可用存储介质(可以包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本公开的实施方式而已,并不用于限制本公开。对于本领域技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本公开的权利要求范围之内。
Claims (10)
1.一种固件管理方法,其特征在于,应用于服务器,所述服务器包括BMC设备,所述方法包括:
响应于启动触发事件,调用固件保护恢复CPLD根据主固件区域的固件保护恢复程序校验主固件区域的主Uboot数据,对于校验未通过的主Uboot数据通过主固件区域的固件保护恢复程序进行恢复处理;
根据校验通过的主Uboot数据或被恢复的主Uboot数据进行BMC主Uboot启动;
通过主Uboot校验存储于主固件区域的主固件内核和主固件根文件系统;
响应于主固件内核和主固件根文件系统校验通过的事件,启动主固件内核和主固件根文件系统;
所述主固件区域和备固件区域是划分自BMC固件存储区域的两个存储区域,主固件区域和备固件区域分别存储有关联于BMC固件启动主Uboot数据和备Uboot数据的固件保护恢复程序。
2.根据权利要求1所述的方法,其特征在于,
响应于主固件内核和主固件根文件系统校验未通过的事件,通过主Uboot校验存储于备固件区域的备固件内核和备固件根文件系统,响应于备固件内核和备固件根文件系统校验通过的事件,通过主Uboot启动备固件内核和备固件根文件系统。
3.根据权利要求1所述的方法,其特征在于,所述根据校验通过的主Uboot数据或恢复的主Uboot数据进行主Uboot启动之后,还包括:
通过主Uboot根据备固件区域的固件保护恢复程序校验备固件区域的备Uboot数据,对于校验未通过的备Uboot数据通过备固件区域的固件保护恢复程序进行恢复处理;
响应于BMC主Uboot发生异常的事件,根据校验通过的备Uboot数据或被恢复的备Uboot数据进行BMC备Uboot启动;
通过备Uboot校验存储于备固件区域的备固件内核和备固件根文件系统;
响应于备固件内核和备固件根文件系统校验通过的事件,启动备固件内核和备固件根文件系统。
4.根据权利要求3所述的方法,其特征在于,
响应于备固件内核和备固件根文件系统校验未通过的事件,通过备Uboot校验存储于主固件区域的主固件内核和主固件根文件系统,响应于主固件内核和主固件根文件系统校验通过的事件,通过备Uboot启动主固件内核和主固件根文件系统。
5.一种固件管理装置,其特征在于,应用于服务器,所述服务器包括BMC设备,所述装置包括:
第一模块,用于响应于启动触发事件,调用固件保护恢复CPLD根据主固件区域的固件保护恢复程序校验主固件区域的主Uboot数据,对于校验未通过的主Uboot数据通过主固件区域的固件保护恢复程序进行恢复处理;
第二模块,用于根据校验通过的主Uboot数据或被恢复的主Uboot数据进行BMC主Uboot启动;
第三模块,用于通过主Uboot校验存储于主固件区域的主固件内核和主固件根文件系统,还用于响应于主固件内核和主固件根文件系统校验通过的事件,启动主固件内核和主固件根文件系统;
所述主固件区域和备固件区域是划分自BMC固件存储区域的两个存储区域,主固件区域和备固件区域分别存储有关联于BMC固件启动主Uboot数据和备Uboot数据的固件保护恢复程序。
6.根据权利要求5所述的装置,其特征在于,
第三模块还用于响应于主固件内核和主固件根文件系统校验未通过的事件,通过主Uboot校验存储于备固件区域的备固件内核和备固件根文件系统,响应于备固件内核和备固件根文件系统校验通过的事件,通过主Uboot启动备固件内核和备固件根文件系统。
7.根据权利要求5所述的装置,其特征在于,
第一模块还用于在第二模块根据校验通过的主Uboot数据或恢复的主Uboot数据进行主Uboot启动之后,通过主Uboot根据备固件区域的固件保护恢复程序校验备固件区域的备Uboot数据,对于校验未通过的备Uboot数据通过备固件区域的固件保护恢复程序进行恢复处理;
第二模块还用于响应于BMC主Uboot发生异常的事件,根据校验通过的备Uboot数据或被恢复的备Uboot数据进行BMC备Uboot启动;
第三模块还用于通过备Uboot校验存储于备固件区域的备固件内核和备固件根文件系统,还用于响应于备固件内核和备固件根文件系统校验通过的事件,启动备固件内核和备固件根文件系统。
8.根据权利要求7所述的装置,其特征在于,
第三模块还用于响应于备固件内核和备固件根文件系统校验未通过的事件,通过备Uboot校验存储于主固件区域的主固件内核和主固件根文件系统,响应于主固件内核和主固件根文件系统校验通过的事件,通过备Uboot启动主固件内核和主固件根文件系统。
9.一种电子设备,其特征在于,包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令,以实现权利要求1-4任一所述的方法。
10.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-4任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311631321.7A CN117648697A (zh) | 2023-11-30 | 2023-11-30 | 一种固件管理方法、装置、设备及机器可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311631321.7A CN117648697A (zh) | 2023-11-30 | 2023-11-30 | 一种固件管理方法、装置、设备及机器可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117648697A true CN117648697A (zh) | 2024-03-05 |
Family
ID=90049017
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311631321.7A Pending CN117648697A (zh) | 2023-11-30 | 2023-11-30 | 一种固件管理方法、装置、设备及机器可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117648697A (zh) |
-
2023
- 2023-11-30 CN CN202311631321.7A patent/CN117648697A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10701084B2 (en) | Reliable and secure firmware update with a dynamic validation for internet of things (IoT) devices | |
KR100750132B1 (ko) | 부팅, 소프트웨어 자동 업데이트 및 에러 복원 방법과 그시스템, 그 방법을 기록한 컴퓨터 판독 가능한 기록매체 | |
US9703635B2 (en) | Method, computer program, and computer for restoring set of variables | |
CN104572168A (zh) | 一种bios自更新保护系统及方法 | |
CN105122262A (zh) | 辅助非易失性存储器中的冗余系统引导代码 | |
CN106775610B (zh) | 一种电子设备启动方法及一种电子设备 | |
CN112783537B (zh) | 基于MTD存储设备的嵌入式linux操作系统升级方法及系统 | |
WO2016206514A1 (zh) | 启动处理方法及装置 | |
CN113254048B (zh) | 引导程序更新方法、装置、设备及计算机可读介质 | |
CN115062307A (zh) | 基于Open POWER的程序完整性校验方法、系统、终端及存储介质 | |
CN105550071A (zh) | 系统文件升级及检测方法、通信设备 | |
TWI676889B (zh) | 開機啟動資料有效性技術 | |
CN110908722B (zh) | 应用于操作系统启动的方法、装置、电子设备及存储介质 | |
CN115827069A (zh) | 服务器主板的启动控制方法、系统及装置 | |
CN117648697A (zh) | 一种固件管理方法、装置、设备及机器可读存储介质 | |
CN115543694A (zh) | Flash器件切换方法、装置、计算机设备和存储介质 | |
CN113094107B (zh) | 数据保护方法、装置、设备及计算机存储介质 | |
CN114153503A (zh) | 一种bios控制方法、装置、介质 | |
CN114579971A (zh) | 一种安全控制模组的启动方法及相关装置 | |
CN110795155B (zh) | 系统启动方法及装置、电子设备、存储介质 | |
JP2004054616A (ja) | ファームウェア自動修復機能を有する情報処理装置 | |
CN113467805A (zh) | 一种网络设备的固件回滚方法及相关装置 | |
CN111897583A (zh) | 一种设备启动方法及嵌入式设备 | |
CN115904516A (zh) | 基于信任根的基板管理控制器启动方法及其相关组件 | |
CN112099855B (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 |