CN106909362A - Bmc固件生成的方法和装置、bmc系统启动的方法和装置 - Google Patents

Bmc固件生成的方法和装置、bmc系统启动的方法和装置 Download PDF

Info

Publication number
CN106909362A
CN106909362A CN201510979991.7A CN201510979991A CN106909362A CN 106909362 A CN106909362 A CN 106909362A CN 201510979991 A CN201510979991 A CN 201510979991A CN 106909362 A CN106909362 A CN 106909362A
Authority
CN
China
Prior art keywords
debugging
bmc
kernel
file system
systems
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.)
Granted
Application number
CN201510979991.7A
Other languages
English (en)
Other versions
CN106909362B (zh
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.)
Shenzhen Yanxiang Smart Technology Co ltd
Original Assignee
EVOC Intelligent 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 EVOC Intelligent Technology Co Ltd filed Critical EVOC Intelligent Technology Co Ltd
Priority to CN201510979991.7A priority Critical patent/CN106909362B/zh
Publication of CN106909362A publication Critical patent/CN106909362A/zh
Application granted granted Critical
Publication of CN106909362B publication Critical patent/CN106909362B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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)
  • 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固件生成的方法和装置、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地址,所述预留的BMC Flash地址在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地址,所述预留的BMC Flash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值,所述根据所述预设信息判断BMC原始系统是否启动失败的步骤包括:
判断所述预设信息是否等于或大于预设阈值,如果是,则判断为BMC原始系统启动失败,否则判断为BMC原始系统启动成功。
在其中一个实施例中,所述调试文件系统包括在线烧录命令,所述方法还包括:
在所述调试系统中完成BMC固件在线烧录。
一种BMC系统启动的装置,所述装置包括:
判断处理模块,用于获取u-boot配置的预设信息,根据所述预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件;
读取模块,用于根据闪存内存地址配置读取调试内核和调试文件系统,所述调试内核和调试文件系统根据需求功能得到;
启动模块,用于根据所述调试内核和调试文件系统启动调试系统。
在其中一个实施例中,所述预设信息为预留的BMC Flash地址,所述预留的BMC Flash地址在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厂商提供的原始的BMCkernel文件系统,可裁减原始文件系统,删除不需要的命令及文件,减少调试系统大小,并加入需要增加的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 Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种BMC固件生成的方法,所述方法包括:
在u-boot配置预设信息标识BMC系统的启动状态;
根据需求功能得到对应的调试内核和调试文件系统,编译所述调试内核和调试文件系统,生成所述调试内核对应的调试内核映像文件;
修改闪存内存地址配置,为所述调试内核和调试文件系统配置存储空间,根据所述调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件。
2.根据权利要求1所述的方法,其特征在于,所述根据需求功能得到对应的调试内核和调试文件系统的步骤包括:
拷贝BMC原始内核和原始文件系统,根据需求功能修改所述BMC原始内核生成调试内核,根据需求功能修改所述原始文件系统生成调试文件系统。
3.根据权利要求1所述的方法,其特征在于,所述预设信息为预留的BMCFlash地址,所述预留的BMC Flash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值。
4.根据权利要求1所述的方法,其特征在于,所述根据需求功能得到对应的调试内核和调试文件系统的步骤包括:
增加在线烧录命令、远程传输工具、BMC网页web界面、自制软件中的至少一种至所述调试文件系统。
5.一种BMC系统启动的方法,所述方法包括:
获取u-boot配置的预设信息,根据所述预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件;
根据闪存内存地址配置读取调试内核和调试文件系统,所述调试内核和调试文件系统根据需求功能得到;
根据所述调试内核和调试文件系统启动调试系统。
6.根据权利要求5所述的方法,其特征在于,所述预设信息为预留的BMCFlash地址,所述预留的BMC Flash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值,所述根据所述预设信息判断BMC原始系统是否启动失败的步骤包括:
判断所述预设信息是否等于或大于预设阈值,如果是,则判断为BMC原始系统启动失败,否则判断为BMC原始系统启动成功。
7.根据权利要求5所述的方法,其特征在于,所述调试文件系统包括在线烧录命令,所述方法还包括:
在所述调试系统中完成BMC固件在线烧录。
8.一种BMC固件生成的装置,其特征在于,所述装置包括:
u-boot配置模块,用于在u-boot配置预设信息标识BMC系统的启动状态;
调试内核映像文件生成模块,用于根据需求功能得到对应的调试内核和调试文件系统,编译所述调试内核和调试文件系统,生成所述调试内核对应的调试内核映像文件;
空间配置模块,用于修改闪存内存地址配置,为所述调试内核和调试文件系统配置存储空间;
BMC固件生成模块,用于根据所述调试内核映像文件、闪存内存地址配置编译生成具有双内核的BMC固件。
9.一种BMC系统启动的装置,其特征在于,所述装置包括:
判断处理模块,用于获取u-boot配置的预设信息,根据所述预设信息判断BMC原始系统是否启动失败,如果启动失败,则调用BMC固件中的调试内核映像文件;
读取模块,用于根据闪存内存地址配置读取调试内核和调试文件系统,所述调试内核和调试文件系统根据需求功能得到;
启动模块,用于根据所述调试内核和调试文件系统启动调试系统。
10.根据权利要求9所述的装置,其特征在于,所述预设信息为预留的BMCFlash地址,所述预留的BMC Flash地址在BMC原始系统启动时递增,启动成功进入系统则恢复为初始值,所述判断处理模块还用于判断所述预设信息是否等于或大于预设阈值,如果是,则判断为BMC原始系统启动失败,否则判断为BMC原始系统启动成功。
CN201510979991.7A 2015-12-23 2015-12-23 Bmc固件生成的方法和装置、bmc系统启动的方法和装置 Active CN106909362B (zh)

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 true CN106909362A (zh) 2017-06-30
CN106909362B 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)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491316A (zh) * 2017-09-01 2017-12-19 联想(北京)有限公司 基板管理控制器的扩展方法、装置及电子设备
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软件开发方法
CN111488163A (zh) * 2020-04-08 2020-08-04 苏州浪潮智能科技有限公司 一种固件更新方法、装置及电子设备和存储介质
CN111949529A (zh) * 2020-08-06 2020-11-17 曙光信息产业(北京)有限公司 系统调试方法、装置、计算机设备和存储介质
CN112380083A (zh) * 2020-10-23 2021-02-19 浪潮电子信息产业股份有限公司 一种bmc主备切换稳定性测试方法和系统
CN112433769A (zh) * 2020-11-05 2021-03-02 苏州浪潮智能科技有限公司 一种bmc启动方法、装置、计算机设备及存储介质
CN113377425A (zh) * 2021-06-29 2021-09-10 南昌华勤电子科技有限公司 Bmc固件生成方法和装置、bmc启动方法和装置及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
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
CN101437106A (zh) * 2007-11-16 2009-05-20 深圳Tcl工业研究院有限公司 一种机顶盒系统及其自行修复的方法
CN102289395A (zh) * 2011-07-14 2011-12-21 深圳市共进电子有限公司 嵌入式设备上使用双代码镜像运行的方法
CN103246579A (zh) * 2012-02-06 2013-08-14 鸿富锦精密工业(深圳)有限公司 基板管理控制器系统
US20140215134A1 (en) * 2013-01-31 2014-07-31 Hon Hai Precision Industry Co., Ltd. Mainboard and method of backing up of baseboard management controller
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备份方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
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
CN101437106A (zh) * 2007-11-16 2009-05-20 深圳Tcl工业研究院有限公司 一种机顶盒系统及其自行修复的方法
CN102289395A (zh) * 2011-07-14 2011-12-21 深圳市共进电子有限公司 嵌入式设备上使用双代码镜像运行的方法
CN103246579A (zh) * 2012-02-06 2013-08-14 鸿富锦精密工业(深圳)有限公司 基板管理控制器系统
US20140215134A1 (en) * 2013-01-31 2014-07-31 Hon Hai Precision Industry Co., Ltd. Mainboard and method of backing up of baseboard management controller
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)

* Cited by examiner, † Cited by third party
Title
杨明涛等: "一种刀片式服务器测试系统的设计", 《自动化与仪表》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491316B (zh) * 2017-09-01 2021-07-16 联想(北京)有限公司 基板管理控制器的扩展方法、装置及电子设备
CN107491316A (zh) * 2017-09-01 2017-12-19 联想(北京)有限公司 基板管理控制器的扩展方法、装置及电子设备
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软件开发方法
CN111488163A (zh) * 2020-04-08 2020-08-04 苏州浪潮智能科技有限公司 一种固件更新方法、装置及电子设备和存储介质
CN111949529A (zh) * 2020-08-06 2020-11-17 曙光信息产业(北京)有限公司 系统调试方法、装置、计算机设备和存储介质
CN111949529B (zh) * 2020-08-06 2024-03-22 曙光信息产业(北京)有限公司 系统调试方法、装置、计算机设备和存储介质
CN112380083A (zh) * 2020-10-23 2021-02-19 浪潮电子信息产业股份有限公司 一种bmc主备切换稳定性测试方法和系统
CN112380083B (zh) * 2020-10-23 2023-01-06 浪潮电子信息产业股份有限公司 一种bmc主备切换稳定性测试方法和系统
CN112433769A (zh) * 2020-11-05 2021-03-02 苏州浪潮智能科技有限公司 一种bmc启动方法、装置、计算机设备及存储介质
CN113377425A (zh) * 2021-06-29 2021-09-10 南昌华勤电子科技有限公司 Bmc固件生成方法和装置、bmc启动方法和装置及存储介质
CN113377425B (zh) * 2021-06-29 2023-05-30 南昌华勤电子科技有限公司 Bmc固件生成方法和装置、bmc启动方法和装置及存储介质

Also Published As

Publication number Publication date
CN106909362B (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
CN106909362A (zh) Bmc固件生成的方法和装置、bmc系统启动的方法和装置
CN110554965B (zh) 自动化模糊测试方法及相关设备、计算机可读存储介质
US20100205604A1 (en) Systems and methods for efficiently running multiple instances of multiple applications
US20040221268A1 (en) Off-device class/resource loading methods, systems and computer program products for debugging a Java application in a Java micro device
US20060190933A1 (en) Method and apparatus for quickly developing an embedded operating system through utilizing an automated building framework
CN104679540A (zh) 计算机系统与计算机系统启动方法
CN103164238A (zh) 自动化连续安装操作系统的方法
CN108509215B (zh) 一种系统软件的更换方法、装置、终端设备及存储介质
CN112068852B (zh) 基于国产服务器的开源软件安装方法、系统及设备和介质
CN103577212A (zh) 系统启动预加载方法及装置
CN113342590B (zh) NVMe设备调试功能实现方法、装置、设备及存储介质
CN112764766B (zh) 一种k8s集群与存储的对接方法、装置、设备及存储介质
CN105760191A (zh) 嵌入式系统设备程序烧写量产方法
CN112882718A (zh) 编译处理方法、装置、设备及存储介质
CN115291946A (zh) 鸿蒙系统移植方法、装置、电子设备及可读介质
CN103455750B (zh) 一种嵌入式设备的高安验证方法及装置
US20210004239A1 (en) Electronic apparatus and control method thereof
CN113742224A (zh) 测试系统、方法、装置、计算机设备和存储介质
CN113377586A (zh) 一种服务器自动化检测方法、装置及存储介质
CN110806891B (zh) 嵌入式设备软件版本的生成方法及装置
CN103176903A (zh) MapReduce分布式系统程序的测试方法及设备
CN112596751B (zh) 应用程序安装包的编译方法、终端、服务器及存储介质
CN113031964B (zh) 一种大数据应用的管理方法、装置、设备及存储介质
CN108052337A (zh) 一种eMMC量产工具的固件升级方法及装置
CN109947407B (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