CN115756496B - 镜像的编译方法、装置、计算机可读存储介质及电子设备 - Google Patents
镜像的编译方法、装置、计算机可读存储介质及电子设备 Download PDFInfo
- Publication number
- CN115756496B CN115756496B CN202310029650.8A CN202310029650A CN115756496B CN 115756496 B CN115756496 B CN 115756496B CN 202310029650 A CN202310029650 A CN 202310029650A CN 115756496 B CN115756496 B CN 115756496B
- Authority
- CN
- China
- Prior art keywords
- pfr
- project
- image
- compiling
- signature
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000003860 storage Methods 0.000 title claims abstract description 12
- 239000000758 substrate Substances 0.000 claims abstract description 106
- 238000013524 data verification Methods 0.000 claims abstract description 10
- 238000005192 partition Methods 0.000 claims description 60
- 230000006870 function Effects 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 abstract description 33
- 230000000694 effects Effects 0.000 abstract description 3
- 238000012795 verification Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000011084 recovery Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
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
本申请实施例提供了一种镜像的编译方法、装置、计算机可读存储介质及电子设备,其中,该方法包括:在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果;在识别结果表示存在PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成PFR镜像;在运行基板控制器的工程中的各个项目时,通过PFR镜像进行数据校验。通过本申请,解决了通用技术与PFR技术的编译代码难以统一,导致难以生成PFR镜像并校验BMC的问题,进而达到了在BMC工程中生成PFR镜像,并通过PFR镜像进行数据校验的效果。
Description
技术领域
本申请实施例涉及计算机领域,具体而言,涉及一种镜像的编译方法、装置、计算机可读存储介质及电子设备。
背景技术
随着计算机领域的发展,计算机软件中的固件是计算机启动时连接硬件和操作系统的底层代码,担任着一个系统最基础、最底层工作,因此,对于平台固件的保护与恢复尤为重要。Intel PFR(Platform Firmware Resilience Intel,平台固件自保护与自恢复)技术是基于Intel平台的一项服务器固件可靠性技术,也是基于硬件实现的保证服务器安全、可靠运行的技术,用于保护平台资产、检测损坏固件等恶意或错误行为,以及将平台固件恢复到良好状态,相对于单纯靠软件层面的安全代码、加密算法等实现对平台固件起到保护作用的方法,该技术更加安全、可靠、稳定。
但由于基板管理控制器(BMC:Board manager controller)需要通过与PFR技术建立安全通信,使得通用技术与PFR技术相结合,进而实现系统内部更新,但由于通用技术与PFR技术之间存在较大差异,两者的代码库独立执行,使得当系统更新时,需要通用技术的公共模块代码升级或者修改后,PFR 技术再去同步通用BMC的代码,会浪费代码维护的工作量以及代码同步困难、功能模块不能完全同步,影响代码分支的稳定性还会造成生产、测试、后期客户端维护方面的问题。
针对相关技术中通用技术与PFR技术的编译代码难以统一,导致难以生成PFR镜像并校验BMC问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种镜像的编译方法、装置、计算机可读存储介质及电子设备,以至少解决相关技术中通用技术与PFR技术的编译代码难以统一,导致难以生成PFR镜像并校验BMC问题。
根据本申请的一个实施例,提供了一种镜像的编译方法,包括:在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果,其中,宏定义为工程配置项目文件中的宏定义;在识别结果表示存在PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成PFR镜像,其中,PFR镜像中包含基板控制器的工程的各个项目的白名单配置文件;在运行基板控制器的工程中的各个项目时,通过PFR镜像进行数据校验。
在一个示例性实施例中,可选地,在识别结果表示存在PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成PFR镜像包括:通过第一签名工具在编译基板控制器的工程中创建PFR签名镜像;通过第二签名工具对PFR签名镜像进行加密,得到PFR镜像。
可选地,第一签名工具为PFR签名工具,通过第一签名工具在编译基板控制器的工程中创建PFR签名镜像包括:将第一签名工具添加在基板控制器的工程的软件目录中;在编译脚本中创建PFR签名镜像的函数,并通过函数将工程的输出目录中的原始镜像、各个项目的白名单配置文件拷贝至软件目录中的第一签名工具的目录中;控制第一签名工具基于原始镜像、各个项目的白名单配置文件生成PFR签名镜像,并将PFR签名镜像拷贝至输出目录中。
可选地,第二签名工具为加密签名工具,通过第二签名工具对PFR签名镜像进行加密,得到PFR镜像包括:将第二签名工具添加在软件目录中;在编译脚本中创建加密签名镜像的函数,通过密签名镜像的函数调用第二签名工具,并控制第二签名工具基于输出目录中的述PFR签名镜像生成PFR镜像。
可选地,控制第一签名工具基于原始镜像、白名单配置文件生成PFR签名镜像包括:在第一签名工具的脚步中轮询各个项目的白名单配置文件,并依次根据白名单配置文件的分区信息中的地址偏移值在原始镜像中映射目标地址,将白名单配置文件写入原始镜像中的目标地址,得到PFR签名镜像,其中,分区的地址偏移值用于表示项目的白名单配置文件在基板控制器的闪存中的位置。
可选地,每个项目的白名单配置文件中包含项目的总线白名单信息以及白名单配置文件的分区信息,其中,分区信息是指编译基板控制器的闪存的分区信息。
可选地,各个项目的白名单配置文件通过以下方式生成:在基板控制器的工程的创建目录中创建各个项目的项目文件夹,并且把每个项目的总线白名单信息存放至对应的项目文件夹中;在用于创建PFR签名镜像的脚本中轮询各个项目的项目文件夹,分别基于项目文件夹中的总线白名单信息生成白名单配置文件,并将白名单配置文件存放至基板控制器的工程的输出目录下。
可选地,白名单配置文件的分区信息包括占用内存大小值和地址偏移值,内存大小参数大于等于白名单配置文件的大小,在第一签名工具的脚步中轮询各个项目的白名单配置文件包括:依次基于当前项目的地址偏移值确定当前项目的白名单配置文件在基板控制器的闪存中的位置,并基于闪存中的位置读取当前项目的白名单配置文件,其中,当前项目的地址偏移值由上一项目的地址偏移值与当前项目的占用内存大小值确定。
可选地,在第一签名工具的脚步中轮询各个项目的白名单配置文件之前,方法还包括:确定闪存的分区的空闲空间,并在空闲空间中存储项目的白名单配置文件,其中,空闲空间由分区的大小、分区的地址偏移值、空闲空间的地址偏移值确定。
可选地,宏定义是指PFR的宏定义,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果包括:在识别到宏定义为是的情况下,确定存在PFR工程的编译操作;在识别到宏定义为否的情况下,确定不存在PFR工程的编译操作。
可选地,在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果之后,方法还包括:在识别结果表示不存在PFR工程的编译操作的情况下,执行用于生成通用镜像的编译代码,生成通用镜像。
可选地,在基板控制器的工程的编译脚本中配置有目标编译脚本,目标编译脚本调用第一脚本执行用于生成PFR镜像的编译代码,目标编译脚本调用第二脚本执行用于生成通用镜像的编译代码。
可选地,方法还包括:在对基板控制器的固件进行刷新的过程中,通过宏定义识别是否存在PFR工程的固件;在存在PFR工程的固件的情况下,对PFR工程的固件进行刷新。
可选地,在存在PFR工程的固件的情况下,对PFR工程的固件进行刷新包括:通过目标刷新工具对PFR工程的固件进行刷新,其中,目标刷新工具是PFR工程的固件的刷新工具。
可选地,方法还包括:在基板控制器的工程运行的过程中,通过宏定义识别是否存在PFR工程;在存在PFR工程的情况下,显示PFR工程的固件的版本。
可选地,方法还包括:在复杂可编程逻辑器件启动之后,进入预启动阶段,对编译基板控制器的闪存进行校验,在校验失败的情况下,通过PFR镜像恢复闪存中的数据。
可选地,方法还包括:在复杂可编程逻辑器件监控到编译基板控制器发送白名单配置文件以外的命令的情况下,复杂可编程逻辑器件控制编译基板控制器进入预启动阶段。
根据本申请的另一个实施例,提供了一种装置,包括:识别单元,用于在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果,其中,宏定义为工程配置项目文件中的宏定义;第一执行单元,用于在识别结果表示存在PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成PFR镜像,其中,PFR镜像中包含基板控制器的工程的各个项目的白名单配置文件;运行单元,用于在运行基板控制器的工程中的各个项目时,通过PFR镜像进行数据校验。
根据本申请的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本申请的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本申请,由于PFR技术与通用技术的编译使用两套代码库,会影响代码分支的稳定性以及产生维护成本过高等问题,因此,通过在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果,其中,宏定义为工程配置项目文件中的宏定义;在识别结果表示存在PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成PFR镜像,其中,PFR镜像中包含基板控制器的工程的各个项目的白名单配置文件;在运行基板控制器的工程中的各个项目时,通过PFR镜像进行数据校验,可以解决相关技术中通用技术与PFR技术的编译代码难以统一,导致难以生成PFR镜像并校验BMC问题,进而达到了在BMC工程中生成PFR镜像,并通过PFR镜像进行数据校验的效果。
附图说明
图1是本申请实施例的一种镜像的编译方法的移动终端的硬件结构框图;
图2是根据本申请实施例的镜像的编译方法的流程图;
图3是根据本申请实施例的可选的镜像的编译方法的镜像编译流程图;
图4是根据本申请实施例中项目白名单文件和镜像的映射关系示意图;
图5是根据本申请实施例的镜像的编译装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的镜像的编译方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本申请实施例的一种镜像的编译方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的镜像的编译方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(NetworkInterfaceController,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(RadioFrequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本申请实施例可以运行于图1所示的网络架构上,如图1所示,该网络架构包括:识别设备、执行设备以及运行设备,其中,识别设备用于识别是否存在PFR工程的编译操作,执行设备用于执行用于生成PFR镜像的编译代码,生成PFR镜像;运行设备用于在运行基板控制器的工程中的各个项目时,通过PFR镜像进行数据校验。
在本实施例中提供了一种运行于移动终端的方法,图2是根据本申请实施例的镜像的编译方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果,其中,宏定义为工程配置项目文件中的宏定义。
具体的,基板控制器,也即BMC(英文全称Board manager controller),是一个独立于服务器系统的小型操作系统,主要负责服务器的硬件状态管理、服务器远程管理、操作系统管理等核心功能以及监控、安装、重启等操作。在编译基板控制器的工程时,可能存在通用工程的编译操作,也可能存在PFR工程的编译操作,PFR工程是指通过Intel PFR(Platform Firmware Resilience Intel,平台固件自保护与自恢复)技术实现的工程。
由于在编译基板控制器的工作时,不同的工程需要不同的镜像执行数据校验,需要对BMC工程的Python编译脚本是否存在执行PFR工程的编译代码进行判断,本实施例在基板控制器工程中,通过配置项目文件(PRJ文件)的宏定义实现判断。
可选地,在本申请实施例提供的镜像的编译方法中,宏定义是指PFR的宏定义,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果包括:在识别到宏定义为是的情况下,确定存在PFR工程的编译操作;在识别到宏定义为否的情况下,确定不存在PFR工程的编译操作。
具体的,PFR的宏定义也即PFR宏定义,例如,PFR宏定义为CONFIG_SPX_FEATURE_INTEL_PFR_SUPPORT,通过判断编译脚本中是否存在PFR宏定义判断是否存在执行PFR工程的编译代码得到识别结果,其中识别结果可以包括“true”和“false”,当宏定义的识别结果显示“true”,则表示存在编译PFR工程的操作,反之,当宏定义表示“false”时,则表示脚本中不存在编译PFR工程的操作。
步骤S204,在识别结果表示存在PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成PFR镜像,其中,PFR镜像中包含基板控制器的工程的各个项目的白名单配置文件。
具体的,基板控制器工程中存在PFR工程的编译操作,则开始执行用于生成PFR镜像的编译代码,生成PFR镜像,其中,镜像是指是一种文件存储形式,是冗余的一种类型,也即一个磁盘上的数据在另一个磁盘上存在一个完全相同的副本。
步骤S206,在运行基板控制器的工程中的各个项目时,通过PFR镜像进行数据校验。
由于PFR技术使用可编程逻辑器件作为整个PFR技术的核心,本实施例通过可编程逻辑器件控制 BMC的PFR镜像进行安全启动校验、数据管理等功能,以实现对整个平台的安全管理。
具体的,基板控制器工程中包括多个项目,当运行各个项目时,为实现对各个项目以及工程的安全管理,需要通过PFR镜像保证固件的正常运行。
通过上述步骤,解决了相关技术中通用技术与PFR技术的编译代码难以统一,导致难以生成PFR镜像并校验BMC问题,达到了在BMC工程中生成PFR镜像,并通过PFR镜像进行数据校验的效果。
可选地,在本申请实施例提供的镜像的编译方法中,在识别结果表示存在PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成PFR镜像包括:通过第一签名工具在编译基板控制器的工程中创建PFR签名镜像;通过第二签名工具对PFR签名镜像进行加密,得到PFR镜像。
具体的,图3是根据本申请实施例的可选的镜像的编译方法的镜像编译流程图,如图3所示,在生成项目的白名单配置文件之后,通过第一签名工具和第二签名工具生成PFR镜像,第一签名工具是指PFR技术的签名工具,简称PFR签名工具,也即用于其功能是对基板控制器的原始镜像生成新的镜像的工具,用于通过基板控制器工程中原始镜像和项目的白名单配置文件创建PFR签名镜像,第二签名工具用于对第一签名工具生成的PFR签名镜像进行加密,得到PFR镜像。
可选地,在本申请实施例提供的镜像的编译方法中,第一签名工具为PFR签名工具,通过第一签名工具在编译基板控制器的工程中创建PFR签名镜像包括:将第一签名工具添加在基板控制器的工程的软件目录中;在编译脚本中创建PFR签名镜像的函数,并通过函数将工程的输出目录中的原始镜像、各个项目的白名单配置文件拷贝至软件目录中的第一签名工具的目录中;控制第一签名工具基于原始镜像、各个项目的白名单配置文件生成PFR签名镜像,并将PFR签名镜像拷贝至输出目录中。
具体的,第一签名工具是指PFR技术的签名工具,在调用第一签名工具前,需要将第一签名工具添加到基板控制器工程的代码的软件目录中,并在编译代码中增加创建PFR签名镜像的函数,通过该操作,可以随时调用签名工具生成签名镜像。利用函数将基板控制器工程中输出目录的原始镜像以及以各个项目命名的白名单配置文件及其文件夹拷贝到第一签名工具的相关目录中,执行创建签名镜像的命令,利用原始镜像以及以各个项目命名的白名单配置文件生成对应项目的PFR签名镜像,并将各个项目的签名镜像拷贝至输出目录中。
可选地,在本申请实施例提供的镜像的编译方法中,第二签名工具为加密签名工具,通过第二签名工具对PFR签名镜像进行加密,得到PFR镜像包括:将第二签名工具添加在软件目录中;在编译脚本中创建加密签名镜像的函数,通过密签名镜像的函数调用第二签名工具,并控制第二签名工具基于输出目录中的PFR签名镜像生成PFR镜像。
具体的,第二签名工具用于对第一签名工具生成的PFR签名镜像进行加密,在加密操作前,需要将第二签名工具添加至基板控制器工程的代码的软件目录中,以便后续调用。添加后在编译代码中增加创建PFR加密签名镜像的函数,利用该函数调用第二签名工具,对第一签名工具生成的PFR签名镜像进行加密与填充,得到对应项目的PFR加密镜像。例如,第二签名工具可以是HPM签名工具,对PFR签名镜像加密生成HPM加密镜像。
可选地,在本申请实施例提供的镜像的编译方法中,控制第一签名工具基于原始镜像、白名单配置文件生成PFR签名镜像包括:在第一签名工具的脚本中轮询各个项目的白名单配置文件,并依次根据白名单配置文件的分区信息中的地址偏移值在原始镜像中映射目标地址,将白名单配置文件写入原始镜像中的目标地址,得到PFR签名镜像,其中,分区的地址偏移值用于表示项目的白名单配置文件在基板控制器的闪存中的位置。
具体的,原始镜像是指其分区的数据为空,需要通过第一签名工具生成数据,并写入对应的分区位置上。第一签名工具放置在基板控制器工程的代码的软件目录中,利用该签名工具,轮询基板控制器工程中各个项目的白名单配置文件,并根据存放在白名单配置文件的分区中原始镜像的目标地址,也即偏地址偏移值,将白名单配置文件写入原始镜像中的目标地址,得到PFR签名镜像。
例如,项目A,B,C,D的pfr_manifest.json文件被依次写到镜像的0x3fc0000,0x3fb0000,0x3fa0000,0x3f90000地址位置。
可选地,在本申请实施例提供的镜像的编译方法中,每个项目的白名单配置文件中包含项目的总线白名单信息以及白名单配置文件的分区信息,其中,分区信息是指编译基板控制器的闪存的分区信息。
具体的,分区信息具体包含尺寸信息和偏移信息,各个项目的总线白名单信息以及编译基板控制器的闪存的分区信息,也即分区信息,均存放在对应的以各个项目命名的白名单配置文件中,而各个项目的白名单配置文件根据偏移信息放置在分区的不同地址中。
可选地,在本申请实施例提供的镜像的编译方法中,各个项目的白名单配置文件通过以下方式生成:在基板控制器的工程的创建目录中创建各个项目的项目文件夹,并且把每个项目的总线白名单信息存放至对应的项目文件夹中;在用于创建PFR签名镜像的脚本中轮询各个项目的项目文件夹,分别基于项目文件夹中的总线白名单信息生成白名单配置文件,并将白名单配置文件存放至基板控制器的工程的输出目录下。
具体的,在基板控制器工程的创建目录中创建以项目名称命名的文件夹,并将对应项目的总线白名单文件信息放在对应的文件夹中,在该工程脚本中轮询各个项目的项目文件夹,使用文件夹中的总线白名单文件信息生成对应项目的白名单配置文件,并将白名单配置文件存放在对应项目名称命名的文件夹中。例如,总线白名单文件信息可以为I2C白名单文件 pfr_smbus_rules.json,对应项目的白名单配置文件可以为pfr_manifest.json。
可选地,在本申请实施例提供的镜像的编译方法中,白名单配置文件的分区信息包括占用内存大小值和地址偏移值,内存大小参数大于等于白名单配置文件的大小,在第一签名工具的脚步中轮询各个项目的白名单配置文件包括:依次基于当前项目的地址偏移值确定当前项目的白名单配置文件在基板控制器的闪存中的位置,并基于闪存中的位置读取当前项目的白名单配置文件,其中,当前项目的地址偏移值由上一项目的地址偏移值与当前项目的占用内存大小值确定。
具体的,将白名单配置文件中的分区信息包括内存大小参数以及起始地址偏移值,可编程逻辑器件可以根据这些信息完成基板控制器启动与刷新过程中对固件的镜像以及重要数据的校验。内存大小参数用于表示文件或分区的内存大小,例如,可以设置为0x10000(64K Bytes),当分区的内存小于白名单配置文件的内存时,白名单配置文件不能放置在分区中,因此,分区的内存大小参数需要大于等于白名单配置文件的大小,地址偏移值用于表征相关信息或配置文件在对应配置文件或分区的具体位置,图4是根据本申请实施例中项目白名单文件和镜像的映射关系示意图,如图4所示,基于每个项目的地址偏移值,可以确定当前项目对应的白名单配置文件在基板控制器的闪存中的具体位置,进而可以读取白名单配置文件。
需要说明的是,内存大小参数可以设置成任意大小,但是当前项目的地址偏移值需要通过该项目地址的前一个项目的地址偏移值确定,具体的,当前项目的地址偏移值为前一个项目的地址偏移值减去前一个项目的内存大小参数,例如,在基板控制器工程中,共存在三个内存大小一致的项目,分别是A项目、B项目和C项目,三个项目的内存大小参数设置为64K,也即0x10000,当A项目的地址偏移值为0x3fc0000时,项目B的地址偏移值为0x3fc0000-0x10000,也即0x3fb0000;C项目的地址偏移值为0x3fb0000-0x10000,也即0x3fa0000。
可选地,在本申请实施例提供的镜像的编译方法中,在第一签名工具的脚步中轮询各个项目的白名单配置文件之前,方法还包括:确定闪存的分区的空闲空间,并在空闲空间中存储项目的白名单配置文件,其中,空闲空间由分区的大小、分区的地址偏移值、空闲空间的地址偏移值确定。
具体的,当白名单配置文件的内存大小参数以及地址偏移值确定前,需要确定分区的内存大小参数以及分区中空闲空间的内存大小参数,以便新项目的白名单配置文件存放。具体的,分区的内存大小参数需能够容纳足够多数量的项目的白名单配置文件的值,例如,当所有项目的白名单配置文件的内存大小参数为64K,需要在分区中放置32个项目,则分区的内存大小参数需要设置为2 M。
对于闪存分区的空闲空间内存大小参数的计算,需要利用分区的大小、分区的地址偏移值、空闲空间的地址偏移值进行确定。具体的,闪存分区包含项目文件占用的分区空间以及剩余的空闲空间,空闲空间的内存大小为项目文件占用的分区空间的结束偏移值与空闲空间中起始偏移值的差值,将两者差值再与项目文件占用的分区空间的内存大小参数做差,可以得到空闲空间的内存大小参数。
可选地,在本申请实施例提供的镜像的编译方法中,在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果之后,方法还包括:在识别结果表示不存在PFR工程的编译操作的情况下,执行用于生成通用镜像的编译代码,生成通用镜像。
具体的,当PFR宏定义的识别结果显示“false”,则表示不存在编译PFR工程的操作,基板控制器工程执行用于生成PFR镜像的编译代码,生成通用镜像。
可选地,在本申请实施例提供的镜像的编译方法中,在基板控制器的工程的编译脚本中配置有目标编译脚本,目标编译脚本调用第一脚本执行用于生成PFR镜像的编译代码,目标编译脚本调用第二脚本执行用于生成通用镜像的编译代码。
具体的,第一代码为生成PFR镜像的第一编译代码,第二代码为生成通用镜像的编译代码,增加PFR BMC工程的自动化编译Python脚本,当宏定义的识别结果显示“true”,则表示存在编译PFR工程的操作,自动化编译Python脚本调用通用BMC的自动化编译脚本,执行用于生成PFR镜像的第一编译代码,当识别结果显示“false”时,自动化编译Python脚本调用PFR BMC的自动化编译脚本,执行生成通用镜像的编译代码,实现了一次自动化编译既能生成通用BMC镜像又能生成PFR BMC的镜像。
可选地,在本申请实施例提供的镜像的编译方法中,方法还包括:在对基板控制器的固件进行刷新的过程中,通过宏定义识别是否存在PFR工程的固件;在存在PFR工程的固件的情况下,对PFR工程的固件进行刷新。
具体的,在基板控制器工程在运行过程中,不仅利用项目文件中的PFR宏定义识别判断是否存在执行PFR工程的编译代码,还利用PFR宏定义识别是否存在PFR工程的固件,当识别结果显示存在PFR工程的固件时,也即PFR宏定义显示“true”时,对PFR工程的固件进行刷新。
可选地,在本申请实施例提供的镜像的编译方法中,在存在PFR工程的固件的情况下,对PFR工程的固件进行刷新包括:通过目标刷新工具对PFR工程的固件进行刷新,其中,目标刷新工具是PFR工程的固件的刷新工具。
具体的,当PFR宏定义显示“true”时,说明存在PFR工程的固件,对PFR工程的固件进行刷新,刷新时利用相应的刷新工具对PFR工程的固件进行刷新。
可选地,在本申请实施例提供的镜像的编译方法中,方法还包括:在基板控制器的工程运行的过程中,通过宏定义识别是否存在PFR工程;在存在PFR工程的情况下,显示PFR工程的固件的版本。
具体的,在基板控制器工程在运行过程中,利用项目文件中的PFR宏定义识别判断是否存在执行PFR工程的编译代码,当识别结果显示存在执行PFR工程的编译代码时,也即当PFR宏定义显示“true”时,显示PFR工程的固件的版本,实现版本号显示的web页面的刷新。
可选地,在本申请实施例提供的镜像的编译方法中,方法还包括:在复杂可编程逻辑器件启动之后,进入预启动阶段,对编译基板控制器的闪存进行校验,在校验失败的情况下,通过PFR镜像恢复闪存中的数据。
具体的,PFR技术运行可以分为两个阶段,预启动阶段和正常启动模式阶段,在对系统上电后,PFR技术先进入了预启动阶段,此时其他所有具有可能启动接口的固件都处于复位状态,其中,固件可以包括中央处理器、基板控制器等,当复杂可编程逻辑器件启动之后,可编程逻辑器件对编译基板控制器的闪存进行校验。
当校验结果显示成功时,则进入正常启动模式阶段,在该阶段运行时,可编程逻辑器件主要负责监视关键启动设备以及确保设备在分配时间内成功引导,若引导超时,可编程逻辑器件则会跳转至预启动状态,进行恢复数据的操作,其中,监控启动设备可以包括基板控制器对闪存的操作、监控硬件总线等。
当校验结果显示失败时,可编程逻辑器件会擦除校验失败的闪存区域,使用PFR镜像文件恢复闪存中的数据。
可选地,在本申请实施例提供的镜像的编译方法中,方法还包括:在复杂可编程逻辑器件监控到编译基板控制器发送白名单配置文件以外的命令的情况下,复杂可编程逻辑器件控制编译基板控制器进入预启动阶段。
具体的,PFR技术中的可编程逻辑器件在正常启动模式阶段对基板控制器的硬件进行监控,并对硬件总线数据进行过滤,以及监控基板控制器是否发送白名单以外的命令。基板控制器对可编程逻辑器件提供相应的白名单文件,当可编程逻辑器件监控到编译基板控制器发送白名单配置文件以外的命令时,说明存在编译风险,可编程逻辑器件控制编译基板控制器进入预启动阶段,并在预启动阶段进行数据校验。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在本实施例中还提供了一种装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的镜像的编译装置的结构框图,如图5所示,该装置包括识别单元10、第一执行单元20、运行单元30:
识别单元10,用于在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果,其中,宏定义为工程配置项目文件中的宏定义。
第一执行单元20,用于在识别结果表示存在PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成PFR镜像,其中,PFR镜像中包含基板控制器的工程的各个项目的白名单配置文件。
运行单元30,用于在运行基板控制器的工程中的各个项目时,通过PFR镜像进行数据校验。
可选地,在本申请实施例提供的镜像的编译装置中,第一执行单元20包括:第一创建模块,用于通过第一签名工具在编译基板控制器的工程中创建PFR签名镜像;加密模块,用于通过第二签名工具对PFR签名镜像进行加密,得到PFR镜像。
可选地,在本申请实施例提供的镜像的编译装置中,第一执行单元20包括:第一添加模块,用于将第一签名工具添加在基板控制器的工程的软件目录中;第二创建模块,用于在编译脚本中创建PFR签名镜像的函数,并通过函数将工程的输出目录中的原始镜像、各个项目的白名单配置文件拷贝至软件目录中的第一签名工具的目录中;控制模块,用于控制第一签名工具基于原始镜像、各个项目的白名单配置文件生成PFR签名镜像,并将PFR签名镜像拷贝至输出目录中。
可选地,在本申请实施例提供的镜像的编译装置中第一执行单元20包括:第二添加模块,用于将第二签名工具添加在软件目录中;第三创建模块,用于在编译脚本中创建加密签名镜像的函数,通过密签名镜像的函数调用第二签名工具,并控制第二签名工具基于输出目录中的述PFR签名镜像生成PFR镜像。
可选地,在本申请实施例提供的镜像的编译装置中,第一执行单元20包括:第一轮询模块,用于在第一签名工具的脚步中轮询各个项目的白名单配置文件,并依次根据白名单配置文件的分区信息中的地址偏移值在原始镜像中映射目标地址,将白名单配置文件写入原始镜像中的目标地址,得到PFR签名镜像,其中,分区的地址偏移值用于表示项目的白名单配置文件在基板控制器的闪存中的位置。
可选地,在本申请实施例提供的镜像的编译装置中,包含模块,用于每个项目的白名单配置文件中包含项目的总线白名单信息以及白名单配置文件的分区信息,其中,分区信息是指编译基板控制器的闪存的分区信息。
可选地,在本申请实施例提供的镜像的编译装置中,装置包括:第四创建模块,用于在基板控制器的工程的创建目录中创建各个项目的项目文件夹,并且把每个项目的总线白名单信息存放至对应的项目文件夹中;第二轮询模块,用于在用于创建PFR签名镜像的脚本中轮询各个项目的项目文件夹,分别基于项目文件夹中的总线白名单信息生成白名单配置文件,并将白名单配置文件存放至基板控制器的工程的输出目录下。
可选地,在本申请实施例提供的镜像的编译装置中,第一执行单元20包括:第一确定模块,用于依次基于当前项目的地址偏移值确定当前项目的白名单配置文件在基板控制器的闪存中的位置,并基于闪存中的位置读取当前项目的白名单配置文件,其中,当前项目的地址偏移值由上一项目的地址偏移值与当前项目的占用内存大小值确定。
可选地,在本申请实施例提供的镜像的编译装置中,装置包括:确定单元,用于在第一签名工具的脚步中轮询各个项目的白名单配置文件之前确定闪存的分区的空闲空间,并在空闲空间中存储项目的白名单配置文件,其中,空闲空间由分区的大小、分区的地址偏移值、空闲空间的地址偏移值确定。
可选地,在本申请实施例提供的镜像的编译装置中,识别单元10包括:第二确定模块,用于在识别到宏定义为是的情况下,确定存在PFR工程的编译操作;第三确定模块,用于在识别到宏定义为否的情况下,确定不存在PFR工程的编译操作。
可选地,在本申请实施例提供的镜像的编译装置中,装置还包括:第二执行单元在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果之后,在识别结果表示不存在PFR工程的编译操作的情况下,执行用于生成通用镜像的编译代码,生成通用镜像。
可选地,在本申请实施例提供的镜像的编译装置中,装置包括:配置模块,用于在基板控制器的工程的编译脚本中配置有目标编译脚本,目标编译脚本调用第一脚本执行用于生成PFR镜像的编译代码,目标编译脚本调用第二脚本执行用于生成通用镜像的编译代码。
可选地,在本申请实施例提供的镜像的编译装置中,识别单元10包括:第一识别模块,用于在对基板控制器的固件进行刷新的过程中,通过宏定义识别是否存在PFR工程的固件;第一刷新模块,用于在存在PFR工程的固件的情况下,对PFR工程的固件进行刷新。
可选地,在本申请实施例提供的镜像的编译装置中,识别单元10包括:第二刷新模块,用于通过目标刷新工具对PFR工程的固件进行刷新,其中,目标刷新工具是PFR工程的固件的刷新工具。
可选地,在本申请实施例提供的镜像的编译装置中,识别单元10还包括:第二识别模块,用于在基板控制器的工程运行的过程中,通过宏定义识别是否存在PFR工程;显示模块,用于在存在PFR工程的情况下,显示PFR工程的固件的版本。
可选地,在本申请实施例提供的镜像的编译装置中,运行单元30包括:校验模块,用于在复杂可编程逻辑器件启动之后,进入预启动阶段,对编译基板控制器的闪存进行校验,在校验失败的情况下,通过PFR镜像恢复闪存中的数据。
可选地,在本申请实施例提供的镜像的编译装置中,运行单元30包括:监控模块,用于在复杂可编程逻辑器件监控到编译基板控制器发送白名单配置文件以外的命令的情况下,复杂可编程逻辑器件控制编译基板控制器进入预启动阶段。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-OnlyMemory,简称为ROM)、随机存取存储器(RandomAccessMemory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子设备,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子设备还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (18)
1.一种镜像的编译方法,其特征在于,包括:
在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果,其中,所述宏定义为工程配置项目文件中的宏定义;
在所述识别结果表示不存在所述PFR工程的编译操作的情况下,执行用于生成通用镜像的编译代码,生成所述通用镜像;
在所述识别结果表示存在所述PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成所述PFR镜像,其中,所述PFR镜像中包含所述基板控制器的工程的各个项目的白名单配置文件;
在运行所述基板控制器的工程中的各个项目时,通过所述PFR镜像进行数据校验;
其中,在所述识别结果表示存在所述PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成所述PFR镜像包括:
通过第一签名工具在所述编译基板控制器的工程中创建PFR签名镜像;
通过第二签名工具对所述PFR签名镜像进行加密,得到所述PFR镜像;
其中,通过第一签名工具在所述编译基板控制器的工程中创建PFR签名镜像包括:
将所述第一签名工具添加在所述基板控制器的工程的软件目录中;
在所述编译脚本中创建PFR签名镜像的函数,并通过所述函数将所述工程的输出目录中的原始镜像、各个项目的白名单配置文件拷贝至所述软件目录中的所述第一签名工具的目录中;
控制所述第一签名工具基于所述原始镜像、所述各个项目的白名单配置文件生成所述PFR签名镜像,并将所述PFR签名镜像拷贝至所述输出目录中。
2.根据权利要求1所述的方法,其特征在于,所述第一签名工具为PFR签名工具。
3.根据权利要求2所述的方法,其特征在于,所述第二签名工具为加密签名工具,通过第二签名工具对所述PFR签名镜像进行加密,得到所述PFR镜像包括:
将所述第二签名工具添加在所述软件目录中;
在所述编译脚本中创建加密签名镜像的函数,通过所述密签名镜像的函数调用所述第二签名工具,并控制所述第二签名工具基于所述输出目录中的所述PFR签名镜像生成所述PFR镜像。
4.根据权利要求2所述的方法,其特征在于,控制所述第一签名工具基于所述原始镜像、所述白名单配置文件生成所述PFR签名镜像包括:
在所述第一签名工具的脚步中轮询各个项目的白名单配置文件,并依次根据所述白名单配置文件的分区信息中的地址偏移值在所述原始镜像中映射目标地址,将所述白名单配置文件写入所述原始镜像中的所述目标地址,得到所述PFR签名镜像,其中,所述分区的地址偏移值用于表示项目的白名单配置文件在所述基板控制器的闪存中的位置。
5.根据权利要求4所述的方法,其特征在于,每个项目的白名单配置文件中包含项目的总线白名单信息以及所述白名单配置文件的分区信息,其中,所述分区信息是指所述编译基板控制器的闪存的分区信息。
6.根据权利要求5所述的方法,其特征在于,所述各个项目的白名单配置文件通过以下方式生成:
在所述基板控制器的工程的创建目录中创建各个项目的项目文件夹,并且把每个项目的总线白名单信息存放至对应的项目文件夹中;
在用于创建所述PFR签名镜像的脚本中轮询所述各个项目的项目文件夹,分别基于项目文件夹中的总线白名单信息生成白名单配置文件,并将所述白名单配置文件存放至所述基板控制器的工程的输出目录下。
7.根据权利要求6所述的方法,其特征在于,所述白名单配置文件的分区信息包括占用内存大小值和地址偏移值,所述内存大小参数大于等于所述白名单配置文件的大小,在所述第一签名工具的脚步中轮询各个项目的白名单配置文件包括:
依次基于当前项目的地址偏移值确定所述当前项目的白名单配置文件在所述基板控制器的闪存中的位置,并基于所述闪存中的位置读取所述当前项目的白名单配置文件,其中,所述当前项目的地址偏移值由上一项目的地址偏移值与所述当前项目的占用内存大小值确定。
8.根据权利要求4所述的方法,其特征在于,在所述第一签名工具的脚步中轮询各个项目的白名单配置文件之前,所述方法还包括:
确定所述闪存的分区的空闲空间,并在所述空闲空间中存储项目的白名单配置文件,其中,所述空闲空间由所述分区的大小、所述分区的地址偏移值、所述空闲空间的地址偏移值确定。
9.根据权利要求1所述的方法,其特征在于,所述宏定义是指PFR的宏定义,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果包括:
在识别到所述宏定义为是的情况下,确定存在所述PFR工程的编译操作;
在识别到所述宏定义为否的情况下,确定不存在所述PFR工程的编译操作。
10.根据权利要求1所述的方法,其特征在于,在所述基板控制器的工程的编译脚本中配置有目标编译脚本,所述目标编译脚本调用第一脚本执行用于生成所述PFR镜像的编译代码,所述目标编译脚本调用第二脚本执行用于生成所述通用镜像的编译代码。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在对所述基板控制器的固件进行刷新的过程中,通过所述宏定义识别是否存在PFR工程的固件;
在存在所述PFR工程的固件的情况下,对所述PFR工程的固件进行刷新。
12.根据权利要求11所述的方法,其特征在于,在存在所述PFR工程的固件的情况下,对所述PFR工程的固件进行刷新包括:
通过目标刷新工具对所述PFR工程的固件进行刷新,其中,所述目标刷新工具是所述PFR工程的固件的刷新工具。
13.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述基板控制器的工程运行的过程中,通过所述宏定义识别是否存在所述PFR工程;
在存在所述PFR工程的情况下,显示所述PFR工程的固件的版本。
14.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在复杂可编程逻辑器件启动之后,进入预启动阶段,对所述编译基板控制器的闪存进行校验,在校验失败的情况下,通过所述PFR镜像恢复所述闪存中的数据。
15.根据权利要求14所述的方法,其特征在于,所述方法还包括:
在所述复杂可编程逻辑器件监控到所述编译基板控制器发送所述白名单配置文件以外的命令的情况下,所述复杂可编程逻辑器件控制所述编译基板控制器进入所述预启动阶段。
16.一种镜像的编译装置,其特征在于,包括:
识别单元,用于在编译基板控制器的工程时,在编译脚本中通过宏定义识别是否存在PFR工程的编译操作,得到识别结果,其中,所述宏定义为工程配置项目文件中的宏定义;
第一执行单元,用于在所述识别结果表示存在所述PFR工程的编译操作的情况下,执行用于生成PFR镜像的编译代码,生成所述PFR镜像,其中,所述PFR镜像中包含所述基板控制器的工程的各个项目的白名单配置文件;
运行单元,用于在运行所述基板控制器的工程中的各个项目时,通过所述PFR镜像进行数据校验;
第二执行单元,用于在所述识别结果表示不存在所述PFR工程的编译操作的情况下,执行用于生成通用镜像的编译代码,生成所述通用镜像;
其中,所述第一执行单元包括:
第一创建模块,用于通过第一签名工具在所述编译基板控制器的工程中创建PFR签名镜像;
加密模块,用于通过第二签名工具对所述PFR签名镜像进行加密,得到所述PFR镜像;
其中,第一执行单元包括:
第一添加模块,用于将所述第一签名工具添加在所述基板控制器的工程的软件目录中;
第二创建模块,用于在所述编译脚本中创建PFR签名镜像的函数,并通过所述函数将所述工程的输出目录中的原始镜像、各个项目的白名单配置文件拷贝至所述软件目录中的所述第一签名工具的目录中;
控制模块,用于控制所述第一签名工具基于所述原始镜像、所述各个项目的白名单配置文件生成所述PFR签名镜像,并将所述PFR签名镜像拷贝至所述输出目录中。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现所述权利要求1至15任一项中所述的镜像的编译方法的步骤。
18.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1至15任一项中所述的镜像的编译方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310029650.8A CN115756496B (zh) | 2023-01-09 | 2023-01-09 | 镜像的编译方法、装置、计算机可读存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310029650.8A CN115756496B (zh) | 2023-01-09 | 2023-01-09 | 镜像的编译方法、装置、计算机可读存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115756496A CN115756496A (zh) | 2023-03-07 |
CN115756496B true CN115756496B (zh) | 2023-04-14 |
Family
ID=85348781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310029650.8A Active CN115756496B (zh) | 2023-01-09 | 2023-01-09 | 镜像的编译方法、装置、计算机可读存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115756496B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626803A (zh) * | 2021-06-28 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种bmc固件的保护方法、系统、装置及可读存储介质 |
CN115048655A (zh) * | 2022-06-23 | 2022-09-13 | 苏州浪潮智能科技有限公司 | 基本输入输出系统镜像校验方法、装置、设备和介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101063720B1 (ko) * | 2007-04-13 | 2011-09-07 | 인터내셔널 비지네스 머신즈 코포레이션 | 피어 프로그램 가능 하드웨어 장치에 대한 자동화 펌웨어 복구 |
CN105511911B (zh) * | 2015-11-27 | 2019-02-12 | 青岛海信移动通信技术股份有限公司 | 系统固件升级包的生成方法及装置 |
CN114116305A (zh) * | 2021-10-26 | 2022-03-01 | 苏州浪潮智能科技有限公司 | 基于pfr的bios固件恢复方法、系统、终端及存储介质 |
-
2023
- 2023-01-09 CN CN202310029650.8A patent/CN115756496B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113626803A (zh) * | 2021-06-28 | 2021-11-09 | 苏州浪潮智能科技有限公司 | 一种bmc固件的保护方法、系统、装置及可读存储介质 |
CN115048655A (zh) * | 2022-06-23 | 2022-09-13 | 苏州浪潮智能科技有限公司 | 基本输入输出系统镜像校验方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115756496A (zh) | 2023-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569035B (zh) | 软件开发项目的代码编译方法、装置、设备和存储介质 | |
EP2096538A1 (en) | Communication device and firmware update method thereof | |
CN103329093A (zh) | 更新软件 | |
CN111277645B (zh) | 主备节点热切换方法、区块链系统、区块链节点及介质 | |
CN110995473A (zh) | 一种业务节点的控制方法及相关设备 | |
CN105144074A (zh) | 使用混合存储器设备的块存储 | |
CN110162429B (zh) | 系统修复方法、服务器及存储介质 | |
CN108170453B (zh) | 一种mit系统升级方法、存储介质及终端设备 | |
CN111338656B (zh) | 安装软件包至目标主机的方法、装置和计算机设备 | |
CN108920934B (zh) | Mac系统中大容量存储设备的驱动方法、装置及设备 | |
CN111694612A (zh) | 配置检查方法、装置、计算机系统及存储介质 | |
CN111078481A (zh) | 获取配置检查清单的方法、装置、电子设备及存储介质 | |
CN114064216A (zh) | 一种虚拟机初始化方法、装置、终端设备及存储介质 | |
CN115756496B (zh) | 镜像的编译方法、装置、计算机可读存储介质及电子设备 | |
CN111984287A (zh) | 设备升级方法及系统 | |
CN115827069A (zh) | 服务器主板的启动控制方法、系统及装置 | |
CN115913913A (zh) | 网卡预启动执行环境功能故障定位方法及装置 | |
CN113268206B (zh) | 一种网络靶场资源热插拔实现方法与系统 | |
CN114237991A (zh) | 基于冷备模式的主备服务切换方法、装置、设备及介质 | |
CN114153503A (zh) | 一种bios控制方法、装置、介质 | |
CN113568834A (zh) | Sdk代码的兼容性检测方法、装置、计算机设备和介质 | |
CN113360914A (zh) | 一种bios更新的方法、系统、设备及介质 | |
CN111258805B (zh) | 一种服务器的硬盘状态监控方法、设备和计算机设备 | |
CN113347620B (zh) | 兼容多版本应用空发卡方法、装置、设备及存储介质 | |
CN112463240B (zh) | 一种重启进入WinPE的方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |