CN106909362B - Bmc固件生成的方法和装置、bmc系统启动的方法和装置 - Google Patents
Bmc固件生成的方法和装置、bmc系统启动的方法和装置 Download PDFInfo
- Publication number
- CN106909362B CN106909362B CN201510979991.7A CN201510979991A CN106909362B CN 106909362 B CN106909362 B CN 106909362B CN 201510979991 A CN201510979991 A CN 201510979991A CN 106909362 B CN106909362 B CN 106909362B
- Authority
- CN
- China
- Prior art keywords
- debugging
- bmc
- kernel
- original
- file
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种BMC固件生成的方法和装置,包括:在u‑boot配置预设信息标识BMC系统的启动状态;根据需求功能得到对应的调试内核和调试文件系统,编译所述调试内核和调试文件系统,生成所述调试内核对应的调试内核映像文件;修改闪存内存地址配置,为所述调试内核和调试文件系统配置存储空间,根据所述调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件,生成具有双内核的BMC固件,从而在系统启动时,如果原始BMC系统启动失败,可使用调试内核进入调试系统,并且由于调试内核根据需求生成从而可以方便的进行相应功能的调试。此外,还提供了一种BMC系统启动的方法和装置。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种BMC固件生成的方法和装置、BMC系统启动的方法和装置。
背景技术
随着计算机技术的发展,服务器在社会的应用越来越广泛,对服务器运行状态进行监控管理的BMC(baseboard Management Controller,基板管理控制器)也得到了广泛应用。
BMC芯片通常通过一个串行外围设备接口的闪存(Serial Peripheral InterfaceFlash,SPI Flash)来存储BMC的固件,工程师将制作好的固件烧录在Flash中,BMC芯片将Flash中的固件信息读取到存储器中,就可以按需要进行工作了。Flash是存储芯片的一种,通过特定的程序可以修改里面的数据,不仅具备电子可擦除可编程的性能,还可以快速读取数据,使数据不会因为断电而丢失,即平时所说的“闪存”。但是BMC调试时有可能导致BMC系统启动失败,此时由于BMC系统无法启动,导致很多操作都无法完成,如不能继续分析系统启动失败的原因或者在线烧录BMC,只能离线烧录BMC固件,使得工程师进行调试时非常不方便。
发明内容
基于此,有必要针对上述技术问题,提供一种BMC固件生成的方法和装置、BMC系统启动的方法和装置,提高BMC调试的方便性。
一种BMC固件生成的方法,所述方法包括:
在u-boot配置预设信息标识BMC系统的启动状态;
根据需求功能得到对应的调试内核和调试文件系统,编译所述调试内核和调试文件系统,生成所述调试内核对应的调试内核映像文件;
修改闪存内存地址配置,为所述调试内核和调试文件系统配置存储空间,根据所述调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件。
在其中一个实施例中,所述根据需求功能得到对应的调试内核和调试文件系统的步骤包括:
拷贝BMC原始内核和原始文件系统,根据需求功能修改所述BMC原始内核生成调试内核,根据需求功能修改所述原始文件系统生成调试文件系统。
在其中一个实施例中,所述预设信息为预留的BMC Flash地址,所述预留的BMCFlash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值。
在其中一个实施例中,所述根据需求功能得到对应的调试内核和调试文件系统的步骤包括:
增加在线烧录命令、远程传输工具、BMC网页web界面、自制软件中的至少一种至所述调试文件系统。
一种BMC固件生成的装置,所述装置包括:
u-boot配置模块,用于在u-boot配置预设信息标识BMC系统的启动状态;
调试内核映像文件生成模块,用于根据需求功能得到对应的调试内核和调试文件系统,编译所述调试内核和调试文件系统,生成所述调试内核对应的调试内核映像文件;
空间配置模块,用于修改闪存内存地址配置,为所述调试内核和调试文件系统配置存储空间;
BMC固件生成模块,用于根据所述调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件。
上述BMC固件生成的方法和装置,通过在u-boot配置预设信息标识BMC系统的启动状态,根据需求功能得到对应的调试内核和调试文件系统,编译调试内核和调试文件系统,生成调试内核对应的调试内核映像文件,修改闪存内存地址配置,为调试内核和调试文件系统配置存储空间,根据调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件,可根据需求生成调试内核和调试文件系统,生成具有双内核的BMC固件,从而在系统启动时,如果原始BMC系统启动失败,可使用调试内核进入调试系统,并且由于调试内核根据需求生成从而可以方便的进行相应功能的调试。
一种BMC系统启动的方法,所述方法包括:
获取u-boot配置的预设信息,根据所述预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件;
根据闪存内存地址配置读取调试内核和调试文件系统,所述调试内核和调试文件系统根据需求功能得到;
根据所述调试内核和调试文件系统启动调试系统。
在其中一个实施例中,所述预设信息为预留的BMC Flash地址,所述预留的BMCFlash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值,所述根据所述预设信息判断BMC原始系统是否启动失败的步骤包括:
判断所述预设信息是否等于或大于预设阈值,如果是,则判断为BMC原始系统启动失败,否则判断为BMC原始系统启动成功。
在其中一个实施例中,所述调试文件系统包括在线烧录命令,所述方法还包括:
在所述调试系统中完成BMC固件在线烧录。
一种BMC系统启动的装置,所述装置包括:
判断处理模块,用于获取u-boot配置的预设信息,根据所述预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件;
读取模块,用于根据闪存内存地址配置读取调试内核和调试文件系统,所述调试内核和调试文件系统根据需求功能得到;
启动模块,用于根据所述调试内核和调试文件系统启动调试系统。
在其中一个实施例中,所述预设信息为预留的BMC Flash地址,所述预留的BMCFlash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值,所述判断处理模块还用于判断所述预设信息是否等于或大于预设阈值,如果是,则判断为BMC原始系统启动失败,否则判断为BMC原始系统启动成功。
上述BMC系统启动的方法和装置,通过获取u-boot配置的预设信息,根据所述预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件,根据闪存内存地址配置读取调试内核和调试文件系统,根据调试内核和调试文件系统启动调试系统,在系统启动时,如果原始BMC系统启动失败,可使用调试内核进入调试系统,调试内核和调试文件系统根据需求功能得到,从而能在调试系统运行的过程中完成对应的功能,方便的进行调试。
附图说明
图1为一个实施例中BMC固件生成的方法的流程图;
图2为一个实施例中BMC系统启动的方法的流程图;
图3为一个实施例中BMC固件生成的装置的结构框图;
图4为一个实施例中BMC系统启动的装置的结构框图;
图5为另一个实施例中BMC系统启动的装置的结构框图。
具体实施方式
在一个实施例中,提供了一种BMC固件生成的方法,包括以下步骤:
步骤S110,在u-boot配置预设信息标识BMC系统的启动状态。
具体的,u-boot(Universal Boot Loader,通用引导程序)是在操作系统内核运行之前运行的一段程序,通过这段程序,可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。预设信息可根据需要自定义,如自定义一个变量或使用预留的地址等。通过预设信息标识BMC系统的启动状态,可根据BMC系统的启动情况变化预设信息的值,如正常启动与启动失败时赋值不同,从而根据预设信息判定BMC系统是否启动成功。通过在u-boot配置预设信息,可在引导程序运行时通过预设信息判定BMC系统是否启动成功,从而根据启动结果进入不同的BMC系统。
在一个实施例中,预设信息为预留的BMC Flash地址,预留的BMC Flash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值。
具体的,预设信息为预留的BMC Flash地址不需要额外增设变量,简单方便,BMC系统启动则此BMC Flash地址的值增加,如加1,如果BMC Flash地址的值不断递增,则说明BMC系统启动多次,但是又没有成功进入系统,说明启动失败。当BMC Flash地址的值等于或大于预设值时,则说明BMC原始系统无法进入,只能进入调试系统。如BMC Flash地址初始值为0,启动3次后为3,预设值为3,BMC Flash地址达到3后,则不再尝试重新启动BMC原始系统,而是启动调试系统。
步骤S120,根据需求功能得到对应的调试内核和调试文件系统,编译调试内核和调试文件系统,生成调试内核对应的调试内核映像文件。
具体的,根据需要增加调试系统的功能,为了实现不同的功能需要相应的修改调试内核和调试文件系统,加入需要增加的linux工具命令及lib库,实现定制的调试文件系统。调试内核和调试文件系统可通过定制实现,也可在BMC原始内核和原始文件系统的基础上进行修改得到。编译调试内核和调试文件系统,便可得到调试内核对应的调试内核映像文件,如得到调试内核映像文件uImage,uImage是u-boot使用bootm命令引导的Linux压缩内核映像文件格式,使用工具mkimage对普通的压缩内核映像文件(zImage)加工而得。编译调试内核和调试文件系统的方法参照BMC代码编译BMC系统内核编译,Linux内核的编译菜单有多个版本,如运行:
1)make config:进入命令行,可以一行一行的配置。
2)make menuconfig:进入熟悉的menuconfig菜单。
3)make xconfig:在2.4.X以及以前版本中xconfig菜单是基于TCL/TK的图形库的。
所有内核配置菜单都是通过Config.in经由不同脚本解释器产生.config。目前刚刚推出的2.6.X内核用QT图形库,由KConfig经由脚本解释器产生,通过配置.config来配置内核,编译BMC工程会自动编译内核。
调试内核映像文件根据内核配置文件的配置不同可包含不同的内容,如配置调试内核的配置文件,把调试文件系统加入调试内核中,用调试内核编译,合并生成的uImage包含调试内核kernel和调试文件系统。当uImage被启动流程调用,会被解压生成调试内核kernel和调试文件系统。调试文件系统可以合并至调试内核中,也可以分开存储。
步骤S130,修改闪存内存地址配置,为调试内核和调试文件系统配置存储空间,根据调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件。
具体的,闪存内存地址配置Flash Memory Map用于配置BMC固件存储的位置,如一块BMC固件有64M的Flash,规定从0-64M的位置分别存储什么内容。修改闪存内存地址配置,为调试内核和调试文件系统配置存储空间,从而在启动流程可根据Flash Memory Map从Flash读取调试内核和调试文件系统至RAM。在BMC工程项目文件,例如ast2400evb项目中,双击ast2400evb.MAP,在出现的界面点击创建并配置相应参数,创建Flash Memory Map。在一个具体的实施例中修改Flash Memory Map,给BMC调试内核和调试文件系统配置其存储空间。示例如下:
修改BMC工程文件之后再进行编译可以得到相应的具有双内核的BMC固件。双内核的BMC固件包括调试内核和原始BMC内核,从而在系统启动时,如果原始BMC系统启动失败,可使用调试内核进入调试系统,不用重新启动就可以方便的进行相应功能的调试,如进行BMC固件在线烧录等,还可以分析原始BMC系统启动失败的原因。
本实施例中,通过在u-boot配置预设信息标识BMC系统的启动状态,根据需求功能得到对应的调试内核和调试文件系统,编译调试内核和调试文件系统,生成调试内核对应的调试内核映像文件,修改闪存内存地址配置,为调试内核和调试文件系统配置存储空间,根据调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件,可根据需求生成调试内核和调试文件系统,生成具有双内核的BMC固件,从而在系统启动时,如果原始BMC系统启动失败,可使用调试内核进入调试系统,并且由于调试内核根据需求生成从而可以方便的进行相应功能的调试。
在一个实施例中,步骤S120包括:拷贝BMC原始内核和原始文件系统,根据需求功能修改BMC原始内核生成调试内核,根据需求功能修改原始文件系统生成调试文件系统。
具体的,BMC原始内核和原始文件系统是BMC厂商提供的原始的BMC kernel文件系统,可裁减原始文件系统,删除不需要的命令及文件,减少调试系统大小,并加入需要增加的linux工具命令及lib库,便生成了调试文件系统。在BMC原始内核和原始文件系统的基础上进行修改生成调试内核和调试文件系统,修改内容少,简单方便,加快了调试内核和调试文件系统的生成速度,降低了调试内核和调试文件系统的生成难度。
在一个实施例中,步骤S120包括:增加在线烧录命令、远程传输工具、BMC网页web界面、自制软件中的至少一种至调试文件系统。
具体的,增加了在线烧录命令就可以在进入调试系统后进行烧录BMC固件,从而避免了BMC原始系统启动失败不能继续在线烧录的问题。远程传输工具可以进行远程传输数据,如ftp,可以通过ftp从PC机发送或者接收文件,达到与其它系统进行交互。BMC网页web界面可通过界面进行在线烧录等,简单方便。自制软件可以是根据功能需求自行开发的软件,将自制软件加入调试文件系统,便于在进入调试系统后完成相应的功能。
在一个实施例中,如图2所示,提供了一种BMC系统启动的方法,包括:
步骤S210,获取u-boot配置的预设信息,根据预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件。
具体的,在BMC u-boot源码中,修改u-boot代码,BMC系统启动失败,没进入操作系统的次数达到预设次数及以上则u-boot切换到调试系统启动项并启动调试系统。预设信息可根据需要自定义,如自定义一个变量或使用预留的地址等。通过预设信息标识BMC系统的启动状态,可根据BMC系统的启动情况变化预设信息的值,如正常启动与启动失败时赋值不同,从而根据预设信息判定BMC系统是否启动成功。通过在u-boot配置预设信息,可在引导程序运行时通过预设信息判定BMC系统是否启动成功,从而根据启动结果进入不同的BMC系统。如果启动失败,则调用BMC固件中的调试内核映像文件,调试内核映像文件用于启动调试系统。调试内核映像文件根据内核配置文件的配置不同可包含不同的内容,如配置调试内核的配置文件,把调试文件系统加入调试内核中,用调试内核编译,合并生成的uImage包含调试内核kernel和调试文件系统。当uImage被启动流程调用,会被解压生成调试内核kernel和调试文件系统。调试文件系统可以合并至调试内核中,也可以分开存储。
在一个实施例中,预设信息为预留的BMC Flash地址,预留的BMC Flash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值,步骤S210包括:判断预设信息是否等于或大于预设阈值,如果是,则判断为BMC原始系统启动失败,否则判断为BMC原始系统启动成功。
具体的,预设信息为预留的BMC Flash地址不需要额外增设变量,简单方便,BMC系统启动则此BMC Flash地址的值增加,如加1,系统启动成功进入则BMC Flash地址恢复为初始值,如为0。如果BMC Flash地址的值不断递增,则说明BMC系统启动多次,但是又没有成功进入系统,说明启动失败。如此BMC Flash地址的值到达或大于3,则说明BMC原始系统无法进入,只能进入调试系统。可以编写一个工具,用于读取此BMC Flash地址的值,BMC系统启动成功后调用此工具以给BMC Flash地址赋0,以达到u-boot智能启动BMC系统。
步骤S220,根据闪存内存地址配置读取调试内核和调试文件系统,调试内核和调试文件系统根据需求功能得到。
具体的,u-boot启动内核的过程可以分为两个阶段,各个阶段的功能如下:
(1)第一阶段的功能
硬件设备初始化
加载U-Boot第二阶段代码到RAM空间
设置好栈
跳转到第二阶段代码入口
(2)第二阶段的功能
初始化本阶段使用的硬件设备
检测系统内存映射
获取内核启动参数
将内核从Flash读取到RAM中
调用内核
在第二阶段中将内核从Flash中读取到RAM中之前判断BMC原始系统的启动状态,并根据状态获取内核启动参数,读取相应的内核,以此来启动相应内核。u-boot在启动内核时,会向内核传递一些启动参数,参数结构可为结构体(parameter_struct),或参数链表(tagged list)。启动参数主要包括:系统的根设备标志,页面大小,内核的起始地址和大小,虚拟内存盘RAMDISK的起始地址和大小,压缩的RAMDISK的地始地址和大小。在内核中,会根据情况搭配相应的参数,如这里原始内核地址和调试内核地址不同,所以需要配置相应的启动参数以使相应的内核能够正常启动,不正确的配置会使内核启动失败。如果需要启动调试系统,则对应调试系统的启动参动,并且能根据闪存内存地址配置读取调试内核和调试文件系统,将调试内核从Flash读取到RAM中,并根据启动参数调用调试内核,从而启动调试系统。并且调试内核和调试文件系统根据需求功能得到,包含了根据需求加入的linux工具命令及lib库,能在调试系统运行的过程中完成对应的功能。
步骤S230,根据调试内核和调试文件系统启动调试系统。
具体的,根据调试内核和调试文件系统启动调试系统,由于调试文件系统中包含了根据需求加入的linux工具命令及lib库,能在调试系统运行的过程中完成对应的功能。从而在系统启动时,如果原始BMC系统启动失败,可使用调试内核进入调试系统,不用重新启动就可以方便的进行相应功能的调试,如进行BMC固件在线烧录等,还可以分析原始BMC系统启动失败的原因。
本实施例中,通过获取u-boot配置的预设信息,根据所述预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件,根据闪存内存地址配置读取调试内核和调试文件系统,根据调试内核和调试文件系统启动调试系统,在系统启动时,如果原始BMC系统启动失败,可使用调试内核进入调试系统,调试内核和调试文件系统根据需求功能得到,从而能在调试系统运行的过程中完成对应的功能,方便的进行调试。
在一个实施例中,调试文件系统包括在线烧录命令,方法还包括:在调试系统中完成BMC固件在线烧录。
具体的,调试文件系统可包含与各种功能对应的命令和工具,如调试文件系统包括在线烧录命令就可以在进入调试系统后进行在线烧录BMC固件,从而避免了BMC原始系统启动失败不能继续在线烧录的问题。调试文件系统包括远程传输工具就可以进行远程传输数据,如ftp,可以通过ftp从PC机发送或者接收文件,达到与其它系统进行交互。调试文件系统包括BMC网页web界面就可通过界面进行在线烧录等,简单方便。调试文件系统包括自制软件,自制软件是根据功能需求自行开发的软件,就可以在进入调试系统后完成相应的功能。可以理解的是调试文件系统可以包括以上一种或多种对应的命令和工具。
在一个实施例中,提供了一种BMC固件生成的装置,如图3所示,装置包括:
u-boot配置模块310,用于在u-boot配置预设信息标识BMC系统的启动状态。
调试内核映像文件生成模块320,用于根据需求功能得到对应的调试内核和调试文件系统,编译调试内核和调试文件系统,生成调试内核对应的调试内核映像文件。
空间配置模块330,用于修改闪存内存地址配置,为调试内核和调试文件系统配置存储空间。
BMC固件生成模块340,用于根据调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件。
在一个实施例中,调试内核映像文件生成模块320还用于拷贝BMC原始内核和原始文件系统,根据需求功能修改BMC原始内核生成调试内核,根据需求功能修改原始文件系统生成调试文件系统。
在一个实施例中,调试内核映像文件生成模块320还用于增加在线烧录命令、远程传输工具、BMC网页web界面、自制软件中的至少一种至调试文件系统。
在一个实施例中,如图4所示,提供了一种BMC系统启动的装置,装置包括:
判断处理模块410,用于获取u-boot配置的预设信息,根据预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件。
读取模块420,用于根据闪存内存地址配置读取调试内核和调试文件系统,调试内核和调试文件系统根据需求功能得到。
启动模块430,用于根据调试内核和调试文件系统启动调试系统。
在一个实施例中,预设信息为预留的BMC Flash地址,预留的BMC Flash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值,判断处理模块410还用于判断预设信息是否等于或大于预设阈值,如果是,则判断为BMC原始系统启动失败,否则判断为BMC原始系统启动成功。
在一个实施例中,调试文件系统包括在线烧录命令,如图5所示,装置还包括:
在线烧录模块440,用于在所述调试系统中完成BMC固件在线烧录。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种BMC固件生成的方法,所述方法包括:
在u-boot配置预设信息标识BMC系统的启动状态;
根据需求功能得到对应的调试内核和调试文件系统,编译所述调试内核和调试文件系统,生成所述调试内核对应的调试内核映像文件;
修改闪存内存地址配置,为所述调试内核和调试文件系统配置存储空间,根据所述调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件,所述具有双内核的BMC固件用于在系统启动时,如果原始BMC系统启动失败,使用所述调试内核进入调试系统,使用所述调试系统进行相应功能的调试。
2.根据权利要求1所述的方法,其特征在于,所述根据需求功能得到对应的调试内核和调试文件系统的步骤包括:
拷贝BMC原始内核和原始文件系统,根据需求功能修改所述BMC原始内核生成调试内核,根据需求功能修改所述原始文件系统生成调试文件系统。
3.根据权利要求1所述的方法,其特征在于,所述预设信息为预留的BMC Flash地址,所述预留的BMC Flash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值。
4.根据权利要求1所述的方法,其特征在于,所述根据需求功能得到对应的调试内核和调试文件系统的步骤包括:
增加在线烧录命令、远程传输工具、BMC网页web界面、自制软件中的至少一种至所述调试文件系统。
5.一种BMC系统启动的方法,所述方法包括:
获取u-boot配置的预设信息,根据所述预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件;
根据闪存内存地址配置读取调试内核和调试文件系统,所述调试内核和调试文件系统根据需求功能得到;
根据所述调试内核和调试文件系统启动调试系统,使用所述调试系统进行相应功能的调试。
6.根据权利要求5所述的方法,其特征在于,所述预设信息为预留的BMC Flash地址,所述预留的BMC Flash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值,所述根据所述预设信息判断BMC原始系统是否启动失败的步骤包括:
判断所述预设信息是否等于或大于预设阈值,如果是,则判断为BMC原始系统启动失败,否则判断为BMC原始系统启动成功。
7.根据权利要求5所述的方法,其特征在于,所述调试文件系统包括在线烧录命令,所述方法还包括:
在所述调试系统中完成BMC固件在线烧录。
8.一种BMC固件生成的装置,其特征在于,所述装置包括:
u-boot配置模块,用于在u-boot配置预设信息标识BMC系统的启动状态;
调试内核映像文件生成模块,用于根据需求功能得到对应的调试内核和调试文件系统,编译所述调试内核和调试文件系统,生成所述调试内核对应的调试内核映像文件;
空间配置模块,用于修改闪存内存地址配置,为所述调试内核和调试文件系统配置存储空间;
BMC固件生成模块,用于根据所述调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件,所述具有双内核的BMC固件用于在系统启动时,如果原始BMC系统启动失败,使用所述调试内核进入调试系统,使用所述调试系统进行相应功能的调试。
9.一种BMC系统启动的装置,其特征在于,所述装置包括:
判断处理模块,用于获取u-boot配置的预设信息,根据所述预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件;
读取模块,用于根据闪存内存地址配置读取调试内核和调试文件系统,所述调试内核和调试文件系统根据需求功能得到;
启动模块,用于根据所述调试内核和调试文件系统启动调试系统,使用所述调试系统进行相应功能的调试。
10.根据权利要求9所述的装置,其特征在于,所述预设信息为预留的BMC Flash地址,所述预留的BMC Flash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值,所述判断处理模块还用于判断所述预设信息是否等于或大于预设阈值,如果是,则判断为BMC原始系统启动失败,否则判断为BMC原始系统启动成功。
11.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510979991.7A CN106909362B (zh) | 2015-12-23 | 2015-12-23 | Bmc固件生成的方法和装置、bmc系统启动的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510979991.7A CN106909362B (zh) | 2015-12-23 | 2015-12-23 | Bmc固件生成的方法和装置、bmc系统启动的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106909362A CN106909362A (zh) | 2017-06-30 |
CN106909362B true CN106909362B (zh) | 2020-10-27 |
Family
ID=59200534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510979991.7A Active CN106909362B (zh) | 2015-12-23 | 2015-12-23 | Bmc固件生成的方法和装置、bmc系统启动的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106909362B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491316B (zh) * | 2017-09-01 | 2021-07-16 | 联想(北京)有限公司 | 基板管理控制器的扩展方法、装置及电子设备 |
CN108399098A (zh) * | 2018-03-01 | 2018-08-14 | 郑州云海信息技术有限公司 | 一种服务器bmc功能自适应调整方法及装置 |
CN110532005A (zh) * | 2019-08-09 | 2019-12-03 | 苏州浪潮智能科技有限公司 | 基板管理控制器及其构建方法 |
CN110851138A (zh) * | 2019-11-06 | 2020-02-28 | 山东超越数控电子股份有限公司 | 一种将内核和应用分离的bmc软件开发方法 |
CN111488163B (zh) * | 2020-04-08 | 2022-11-08 | 苏州浪潮智能科技有限公司 | 一种固件更新方法、装置及电子设备和存储介质 |
CN111949529B (zh) * | 2020-08-06 | 2024-03-22 | 曙光信息产业(北京)有限公司 | 系统调试方法、装置、计算机设备和存储介质 |
CN112380083B (zh) * | 2020-10-23 | 2023-01-06 | 浪潮电子信息产业股份有限公司 | 一种bmc主备切换稳定性测试方法和系统 |
CN112433769A (zh) * | 2020-11-05 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种bmc启动方法、装置、计算机设备及存储介质 |
CN113377425B (zh) * | 2021-06-29 | 2023-05-30 | 南昌华勤电子科技有限公司 | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005008384A2 (en) * | 2003-07-11 | 2005-01-27 | Computer Associates Think, Inc. | Kernel-level method of flagging problems in applications |
CN104239174A (zh) * | 2013-06-17 | 2014-12-24 | 鸿富锦精密工业(深圳)有限公司 | Bmc远程调试系统及方法 |
CN104580475A (zh) * | 2015-01-13 | 2015-04-29 | 华为技术有限公司 | 远程控制方法、终端设备、管理服务器及远程控制系统 |
CN104615506A (zh) * | 2015-02-13 | 2015-05-13 | 浪潮电子信息产业股份有限公司 | 一种基于逻辑控制的bios和bmc备份方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101437106B (zh) * | 2007-11-16 | 2011-01-05 | 深圳Tcl工业研究院有限公司 | 一种机顶盒系统及其自行修复的方法 |
CN102289395A (zh) * | 2011-07-14 | 2011-12-21 | 深圳市共进电子有限公司 | 嵌入式设备上使用双代码镜像运行的方法 |
CN103246579A (zh) * | 2012-02-06 | 2013-08-14 | 鸿富锦精密工业(深圳)有限公司 | 基板管理控制器系统 |
TWI483105B (zh) * | 2013-01-31 | 2015-05-01 | Hon Hai Prec Ind Co Ltd | 主機板及其備份基板管理控制系統的方法 |
-
2015
- 2015-12-23 CN CN201510979991.7A patent/CN106909362B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005008384A2 (en) * | 2003-07-11 | 2005-01-27 | Computer Associates Think, Inc. | Kernel-level method of flagging problems in applications |
CN104239174A (zh) * | 2013-06-17 | 2014-12-24 | 鸿富锦精密工业(深圳)有限公司 | Bmc远程调试系统及方法 |
CN104580475A (zh) * | 2015-01-13 | 2015-04-29 | 华为技术有限公司 | 远程控制方法、终端设备、管理服务器及远程控制系统 |
CN104615506A (zh) * | 2015-02-13 | 2015-05-13 | 浪潮电子信息产业股份有限公司 | 一种基于逻辑控制的bios和bmc备份方法 |
Non-Patent Citations (1)
Title |
---|
一种刀片式服务器测试系统的设计;杨明涛等;《自动化与仪表》;20120415;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106909362A (zh) | 2017-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106909362B (zh) | Bmc固件生成的方法和装置、bmc系统启动的方法和装置 | |
TWI363298B (en) | Communication device and firmware update method thereof | |
CN108509215B (zh) | 一种系统软件的更换方法、装置、终端设备及存储介质 | |
CN105760191A (zh) | 嵌入式系统设备程序烧写量产方法 | |
CN112764766B (zh) | 一种k8s集群与存储的对接方法、装置、设备及存储介质 | |
WO2021136200A1 (zh) | 引导程序的加载方法、存储介质及嵌入式终端 | |
CN112015447B (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN102053848A (zh) | Linux操作系统的自动安装方法 | |
CN116009921A (zh) | 一种嵌入式操作系统升级方法、装置及其介质 | |
CN106775897B (zh) | 一种用于机顶盒的驱动程序启动方法及系统 | |
CN106776310B (zh) | 一种调试方法及调试装置 | |
CN100363893C (zh) | 加载系统及方法 | |
CN110825421A (zh) | 一种固件升级方法、系统及可读存储介质 | |
CN103176903A (zh) | MapReduce分布式系统程序的测试方法及设备 | |
CN113377425B (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
CN108052337A (zh) | 一种eMMC量产工具的固件升级方法及装置 | |
CN112596751B (zh) | 应用程序安装包的编译方法、终端、服务器及存储介质 | |
CN115357355A (zh) | 一种软件跨系统迁移的方法、装置、设备及可读存储介质 | |
GB2515598A (en) | Information processing apparatus and information processing method | |
CN116107673A (zh) | 屏幕配适方法、车载终端及计算机存储介质 | |
CN113553110A (zh) | 一种服务器的硬件基线自动化修正方法、装置及系统 | |
CN113407187A (zh) | 构建文件系统的方法、装置、设备及计算机存储介质 | |
CN109428936B (zh) | App的升级方法、装置、系统、电子设备及存储介质 | |
CN113157329A (zh) | 启动应用的方法、系统、服务器和存储介质 | |
CN114625389A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230707 Address after: 518057 1701, Yanxiang science and technology building, 31 Gaoxin middle Fourth Road, Maling community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province Patentee after: Shenzhen Yanxiang Smart Technology Co.,Ltd. Address before: 518107 5th floor, No.1, Yanxiang Zhigu chuangxiangdi, No.11, Gaoxin Road, Guangming New District, Shenzhen City, Guangdong Province Patentee before: EVOC INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |