一种BIOS代码维护移植方法与流程

文档序号:11406829阅读:1785来源:国知局
一种BIOS代码维护移植方法与流程

本发明涉及bios领域,尤其涉及一种易于bios代码维护管理和增强可移植的方法。



背景技术:

在服务器的开发和维护过程中,同一主板的服务器要满足不同的客户需求,如果每个客户都各自维护一套代码,那么当解决一个共性的问题时,需要同时升级所有的客户的代码,工作量会很大,且出错机率会变大。



技术实现要素:

为了克服上述现有技术中的不足,本发明提供一种bios代码维护移植方法,方法包括:

s10:在服务器的bios代码里,梳理出可选的功能模块;

s11:将可选功能模块整合并建立第一package,根据第一个客户或第一应用情景的预设参数,在第一package中设置每个功能模块的控制变量,使第一package中的功能模块满足第一个客户或第一应用情景的预设参数;

s12:当第二个客户或第二个应用场景存在需求时,复制第一个客户或第一个应用场景的第一package,然后根据第二个客户或第二个应用场景的预设参数,调整第一package中每个功能模块的控制变量,形成第二package,并使第二package中的功能模块满足第二个客户或第二应用情景的预设参数;

s13:当第三个客户或第三个应用场景存在需求时,复制第一个客户或第一个应用场景的第一package,然后根据第三个客户或第三个应用场景的预设参数,调整第一package中每个功能模块的控制变量,形成第三package,并使第三package中的功能模块满足第三个客户或第三应用情景的预设参数;

s14:当第n个客户或第n个应用场景存在需求时,复制第一个客户或第一个应用场景的第一package,然后根据第n个客户或第n个应用场景的预设参数,调整第一package中每个功能模块的控制变量,形成第npackage,并使第npackage中的功能模块满足第n个客户或第n个应用情景的预设参数。

优选地,步骤s12之后还包括:

当第三个客户或第三个应用场景存在需求时,复制第二个客户或第二个应用场景的第二package,然后根据第三个客户或第三个应用场景的预设参数,调整第二package中每个功能模块的控制变量,形成第三package,并使第三package中的功能模块满足第三个客户或第三应用情景的预设参数;

当第n个客户或第n个应用场景存在需求时,复制第n-1个客户或第n-1个应用场景的第n-1package,然后根据第n个客户或第n个应用场景的预设参数,调整第n-1package中每个功能模块的控制变量,形成第n个package,并使第n个package中的功能模块满足第n个客户或第n个应用情景的预设参数。

优选地,步骤s11还包括:控制变量的值为0或1,若变量为1,则在第一package中执行对应的功能模块;若变量为0,则在第一package中不执行对应的功能模块。

优选地,步骤s11还包括:通过bios_for_customer模块设置每个package的参数代码。

优选地,bios_for_customer模块将第一package的参数代码设置为1,将第二package的参数代码设置为2,将第npackage的参数代码设置为n。

优选地,当package的调取值为1时,则调取第一package,以满足第一个客户或第一应用情景的预设参数;

当package的调取值为2时,则调取第二package,以满足第二个客户或第二应用情景的预设参数;

当package的调取值为n时,则调取第npackage,以满足第n个客户或第n应用情景的预设参数。

从以上技术方案可以看出,本发明具有以下优点:

bios代码维护移植方法通过梳理出可选的功能模块建立package,实现满足不同第一个客户或第一应用情景的预设参数,bios代码可移植行强。

附图说明

为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为bios代码维护移植方法流程图;

图2为bios代码维护移植实施例方法流程图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。

本实施例提供一种bios代码维护移植方法,如图1所示,方法包括:

s10:在服务器的bios代码里,梳理出可选的功能模块;

s11:将可选功能模块整合并建立第一package,根据第一个客户或第一应用情景的预设参数,在第一package中设置每个功能模块的控制变量,使第一package中的功能模块满足第一个客户或第一应用情景的预设参数;

控制变量的值为0或1,若变量为1,则在第一package中执行对应的功能模块;若变量为0,则在第一package中不执行对应的功能模块。

当然在bios里,有些功能模块可以通过变量参数进行控制如打开调试模式的功能模块用debug_mode控制,隐藏biossetupitem选项的功能模块,用setup_hide_support控制等。在package中每个功能模块控制变量的设置方式根据该功能模块的控制方式来设定,这里不做限定。

s12:当第二个客户或第二个应用场景存在需求时,复制第一个客户或第一个应用场景的第一package,然后根据第二个客户或第二个应用场景的预设参数,调整第一package中每个功能模块的控制变量,形成第二package,并使第二package中的功能模块满足第二个客户或第二应用情景的预设参数;

若变量为1,则在第二package中执行对应的功能模块;若变量为0,则在第二package中不执行对应的功能模块。

s13:当第三个客户或第三个应用场景存在需求时,复制第一个客户或第一个应用场景的第一package,然后根据第三个客户或第三个应用场景的预设参数,调整第一package中每个功能模块的控制变量,形成第三package,并使第三package中的功能模块满足第三个客户或第三应用情景的预设参数;

若变量为1,则在第三package中执行对应的功能模块;若变量为0,则在第三package中不执行对应的功能模块。

s14:当第n个客户或第n个应用场景存在需求时,复制第一个客户或第一个应用场景的第一package,然后根据第n个客户或第n个应用场景的预设参数,调整第一package中每个功能模块的控制变量,形成第npackage,并使第npackage中的功能模块满足第n个客户或第n个应用情景的预设参数。

若变量为1,则在第npackage中执行对应的功能模块;若变量为0,则在第npackage中不执行对应的功能模块。

本实施例中,步骤s11还包括:通过bios_for_customer模块设置每个package的参数代码。bios_for_customer模块将第一package的参数代码设置为1,将第二package的参数代码设置为2,将第npackage的参数代码设置为n。

当package的调取值为1时,则调取第一package,以满足第一个客户或第一应用情景的预设参数;当package的调取值为2时,则调取第二package,以满足第二个客户或第二应用情景的预设参数;当package的调取值为n时,则调取第npackage,以满足第n个客户或第n应用情景的预设参数。这样便于客户调用package。

本发明还提供一种bios代码维护移植方法,如图2所示,方法包括:

s21:在服务器的bios代码里,梳理出可选的功能模块;

s22:将可选功能模块整合并建立第一package,根据第一个客户或第一应用情景的预设参数,在第一package中设置每个功能模块的控制变量,使第一package中的功能模块满足第一个客户或第一应用情景的预设参数;

s23:当第二个客户或第二个应用场景存在需求时,复制第一个客户或第一个应用场景的第一package,然后根据第二个客户或第二个应用场景的预设参数,调整第一package中每个功能模块的控制变量,形成第二package,并使第二package中的功能模块满足第二个客户或第二应用情景的预设参数;

s24:当第三个客户或第三个应用场景存在需求时,复制第二个客户或第二个应用场景的第二package,然后根据第三个客户或第三个应用场景的预设参数,调整第二package中每个功能模块的控制变量,形成第三package,并使第三package中的功能模块满足第三个客户或第三应用情景的预设参数;

s25:当第n个客户或第n个应用场景存在需求时,复制第n-1个客户或第n-1个应用场景的第n-1package,然后根据第n个客户或第n个应用场景的预设参数,调整第n-1package中每个功能模块的控制变量,形成第n个package,并使第n个package中的功能模块满足第n个客户或第n个应用情景的预设参数。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1