本發(fā)明涉及bios領(lǐng)域,尤其涉及一種易于bios代碼維護(hù)管理和增強(qiáng)可移植的方法。
背景技術(shù):
在服務(wù)器的開發(fā)和維護(hù)過(guò)程中,同一主板的服務(wù)器要滿足不同的客戶需求,如果每個(gè)客戶都各自維護(hù)一套代碼,那么當(dāng)解決一個(gè)共性的問(wèn)題時(shí),需要同時(shí)升級(jí)所有的客戶的代碼,工作量會(huì)很大,且出錯(cuò)機(jī)率會(huì)變大。
技術(shù)實(shí)現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)中的不足,本發(fā)明提供一種bios代碼維護(hù)移植方法,方法包括:
s10:在服務(wù)器的bios代碼里,梳理出可選的功能模塊;
s11:將可選功能模塊整合并建立第一package,根據(jù)第一個(gè)客戶或第一應(yīng)用情景的預(yù)設(shè)參數(shù),在第一package中設(shè)置每個(gè)功能模塊的控制變量,使第一package中的功能模塊滿足第一個(gè)客戶或第一應(yīng)用情景的預(yù)設(shè)參數(shù);
s12:當(dāng)?shù)诙€(gè)客戶或第二個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第一個(gè)客戶或第一個(gè)應(yīng)用場(chǎng)景的第一package,然后根據(jù)第二個(gè)客戶或第二個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第一package中每個(gè)功能模塊的控制變量,形成第二package,并使第二package中的功能模塊滿足第二個(gè)客戶或第二應(yīng)用情景的預(yù)設(shè)參數(shù);
s13:當(dāng)?shù)谌齻€(gè)客戶或第三個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第一個(gè)客戶或第一個(gè)應(yīng)用場(chǎng)景的第一package,然后根據(jù)第三個(gè)客戶或第三個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第一package中每個(gè)功能模塊的控制變量,形成第三package,并使第三package中的功能模塊滿足第三個(gè)客戶或第三應(yīng)用情景的預(yù)設(shè)參數(shù);
s14:當(dāng)?shù)趎個(gè)客戶或第n個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第一個(gè)客戶或第一個(gè)應(yīng)用場(chǎng)景的第一package,然后根據(jù)第n個(gè)客戶或第n個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第一package中每個(gè)功能模塊的控制變量,形成第npackage,并使第npackage中的功能模塊滿足第n個(gè)客戶或第n個(gè)應(yīng)用情景的預(yù)設(shè)參數(shù)。
優(yōu)選地,步驟s12之后還包括:
當(dāng)?shù)谌齻€(gè)客戶或第三個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第二個(gè)客戶或第二個(gè)應(yīng)用場(chǎng)景的第二package,然后根據(jù)第三個(gè)客戶或第三個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第二package中每個(gè)功能模塊的控制變量,形成第三package,并使第三package中的功能模塊滿足第三個(gè)客戶或第三應(yīng)用情景的預(yù)設(shè)參數(shù);
當(dāng)?shù)趎個(gè)客戶或第n個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第n-1個(gè)客戶或第n-1個(gè)應(yīng)用場(chǎng)景的第n-1package,然后根據(jù)第n個(gè)客戶或第n個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第n-1package中每個(gè)功能模塊的控制變量,形成第n個(gè)package,并使第n個(gè)package中的功能模塊滿足第n個(gè)客戶或第n個(gè)應(yīng)用情景的預(yù)設(shè)參數(shù)。
優(yōu)選地,步驟s11還包括:控制變量的值為0或1,若變量為1,則在第一package中執(zhí)行對(duì)應(yīng)的功能模塊;若變量為0,則在第一package中不執(zhí)行對(duì)應(yīng)的功能模塊。
優(yōu)選地,步驟s11還包括:通過(guò)bios_for_customer模塊設(shè)置每個(gè)package的參數(shù)代碼。
優(yōu)選地,bios_for_customer模塊將第一package的參數(shù)代碼設(shè)置為1,將第二package的參數(shù)代碼設(shè)置為2,將第npackage的參數(shù)代碼設(shè)置為n。
優(yōu)選地,當(dāng)package的調(diào)取值為1時(shí),則調(diào)取第一package,以滿足第一個(gè)客戶或第一應(yīng)用情景的預(yù)設(shè)參數(shù);
當(dāng)package的調(diào)取值為2時(shí),則調(diào)取第二package,以滿足第二個(gè)客戶或第二應(yīng)用情景的預(yù)設(shè)參數(shù);
當(dāng)package的調(diào)取值為n時(shí),則調(diào)取第npackage,以滿足第n個(gè)客戶或第n應(yīng)用情景的預(yù)設(shè)參數(shù)。
從以上技術(shù)方案可以看出,本發(fā)明具有以下優(yōu)點(diǎn):
bios代碼維護(hù)移植方法通過(guò)梳理出可選的功能模塊建立package,實(shí)現(xiàn)滿足不同第一個(gè)客戶或第一應(yīng)用情景的預(yù)設(shè)參數(shù),bios代碼可移植行強(qiáng)。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明的技術(shù)方案,下面將對(duì)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為bios代碼維護(hù)移植方法流程圖;
圖2為bios代碼維護(hù)移植實(shí)施例方法流程圖。
具體實(shí)施方式
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點(diǎn)能夠更加的明顯和易懂,下面將運(yùn)用具體的實(shí)施例及附圖,對(duì)本發(fā)明保護(hù)的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,下面所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而非全部的實(shí)施例?;诒緦@械膶?shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本專利保護(hù)的范圍。
本實(shí)施例提供一種bios代碼維護(hù)移植方法,如圖1所示,方法包括:
s10:在服務(wù)器的bios代碼里,梳理出可選的功能模塊;
s11:將可選功能模塊整合并建立第一package,根據(jù)第一個(gè)客戶或第一應(yīng)用情景的預(yù)設(shè)參數(shù),在第一package中設(shè)置每個(gè)功能模塊的控制變量,使第一package中的功能模塊滿足第一個(gè)客戶或第一應(yīng)用情景的預(yù)設(shè)參數(shù);
控制變量的值為0或1,若變量為1,則在第一package中執(zhí)行對(duì)應(yīng)的功能模塊;若變量為0,則在第一package中不執(zhí)行對(duì)應(yīng)的功能模塊。
當(dāng)然在bios里,有些功能模塊可以通過(guò)變量參數(shù)進(jìn)行控制如打開調(diào)試模式的功能模塊用debug_mode控制,隱藏biossetupitem選項(xiàng)的功能模塊,用setup_hide_support控制等。在package中每個(gè)功能模塊控制變量的設(shè)置方式根據(jù)該功能模塊的控制方式來(lái)設(shè)定,這里不做限定。
s12:當(dāng)?shù)诙€(gè)客戶或第二個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第一個(gè)客戶或第一個(gè)應(yīng)用場(chǎng)景的第一package,然后根據(jù)第二個(gè)客戶或第二個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第一package中每個(gè)功能模塊的控制變量,形成第二package,并使第二package中的功能模塊滿足第二個(gè)客戶或第二應(yīng)用情景的預(yù)設(shè)參數(shù);
若變量為1,則在第二package中執(zhí)行對(duì)應(yīng)的功能模塊;若變量為0,則在第二package中不執(zhí)行對(duì)應(yīng)的功能模塊。
s13:當(dāng)?shù)谌齻€(gè)客戶或第三個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第一個(gè)客戶或第一個(gè)應(yīng)用場(chǎng)景的第一package,然后根據(jù)第三個(gè)客戶或第三個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第一package中每個(gè)功能模塊的控制變量,形成第三package,并使第三package中的功能模塊滿足第三個(gè)客戶或第三應(yīng)用情景的預(yù)設(shè)參數(shù);
若變量為1,則在第三package中執(zhí)行對(duì)應(yīng)的功能模塊;若變量為0,則在第三package中不執(zhí)行對(duì)應(yīng)的功能模塊。
s14:當(dāng)?shù)趎個(gè)客戶或第n個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第一個(gè)客戶或第一個(gè)應(yīng)用場(chǎng)景的第一package,然后根據(jù)第n個(gè)客戶或第n個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第一package中每個(gè)功能模塊的控制變量,形成第npackage,并使第npackage中的功能模塊滿足第n個(gè)客戶或第n個(gè)應(yīng)用情景的預(yù)設(shè)參數(shù)。
若變量為1,則在第npackage中執(zhí)行對(duì)應(yīng)的功能模塊;若變量為0,則在第npackage中不執(zhí)行對(duì)應(yīng)的功能模塊。
本實(shí)施例中,步驟s11還包括:通過(guò)bios_for_customer模塊設(shè)置每個(gè)package的參數(shù)代碼。bios_for_customer模塊將第一package的參數(shù)代碼設(shè)置為1,將第二package的參數(shù)代碼設(shè)置為2,將第npackage的參數(shù)代碼設(shè)置為n。
當(dāng)package的調(diào)取值為1時(shí),則調(diào)取第一package,以滿足第一個(gè)客戶或第一應(yīng)用情景的預(yù)設(shè)參數(shù);當(dāng)package的調(diào)取值為2時(shí),則調(diào)取第二package,以滿足第二個(gè)客戶或第二應(yīng)用情景的預(yù)設(shè)參數(shù);當(dāng)package的調(diào)取值為n時(shí),則調(diào)取第npackage,以滿足第n個(gè)客戶或第n應(yīng)用情景的預(yù)設(shè)參數(shù)。這樣便于客戶調(diào)用package。
本發(fā)明還提供一種bios代碼維護(hù)移植方法,如圖2所示,方法包括:
s21:在服務(wù)器的bios代碼里,梳理出可選的功能模塊;
s22:將可選功能模塊整合并建立第一package,根據(jù)第一個(gè)客戶或第一應(yīng)用情景的預(yù)設(shè)參數(shù),在第一package中設(shè)置每個(gè)功能模塊的控制變量,使第一package中的功能模塊滿足第一個(gè)客戶或第一應(yīng)用情景的預(yù)設(shè)參數(shù);
s23:當(dāng)?shù)诙€(gè)客戶或第二個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第一個(gè)客戶或第一個(gè)應(yīng)用場(chǎng)景的第一package,然后根據(jù)第二個(gè)客戶或第二個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第一package中每個(gè)功能模塊的控制變量,形成第二package,并使第二package中的功能模塊滿足第二個(gè)客戶或第二應(yīng)用情景的預(yù)設(shè)參數(shù);
s24:當(dāng)?shù)谌齻€(gè)客戶或第三個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第二個(gè)客戶或第二個(gè)應(yīng)用場(chǎng)景的第二package,然后根據(jù)第三個(gè)客戶或第三個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第二package中每個(gè)功能模塊的控制變量,形成第三package,并使第三package中的功能模塊滿足第三個(gè)客戶或第三應(yīng)用情景的預(yù)設(shè)參數(shù);
s25:當(dāng)?shù)趎個(gè)客戶或第n個(gè)應(yīng)用場(chǎng)景存在需求時(shí),復(fù)制第n-1個(gè)客戶或第n-1個(gè)應(yīng)用場(chǎng)景的第n-1package,然后根據(jù)第n個(gè)客戶或第n個(gè)應(yīng)用場(chǎng)景的預(yù)設(shè)參數(shù),調(diào)整第n-1package中每個(gè)功能模塊的控制變量,形成第n個(gè)package,并使第n個(gè)package中的功能模塊滿足第n個(gè)客戶或第n個(gè)應(yīng)用情景的預(yù)設(shè)參數(shù)。
對(duì)所公開的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。