專利名稱:一種BIOS與Linux內(nèi)核自動(dòng)升級(jí)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及主板BIOS和Linux操作系統(tǒng)內(nèi)核更新,具體來說,提供了一種BIOS與 Linux內(nèi)核自動(dòng)升級(jí)的方法。
背景技術(shù):
在服務(wù)器的使用過程中,不排除對(duì)BI0S、LinuX內(nèi)核程序進(jìn)行更新的可能。當(dāng)由管理人員或者使用人員對(duì)成百上千臺(tái)機(jī)器進(jìn)行BIOS、Linux內(nèi)核更新,并不是一件容易、愉快的事情。當(dāng)前BIOS和內(nèi)核的更新操作,一方面沒有集成到BIOS程序中,另一方面需要用戶或者管理人員手工完成。當(dāng)需要對(duì)BIOS程序進(jìn)行更新時(shí),主要有以下兩種方法(1)首先安裝BIOS更新程序,并獲得最新的BIOS 二進(jìn)制代碼文件。這一方面需要操作系統(tǒng)的支持, 另一方面也得需要BIOS更新程序的支持;(2)使用帶有啟動(dòng)功能的軟盤來啟動(dòng)計(jì)算機(jī),此軟盤包含了 BIOS更新程序及最新的BIOS 二進(jìn)制代碼文件。對(duì)需要進(jìn)行BIOS更新的用戶或者管理人員來說,這兩種方法明顯增加了更新難度和工作量。同時(shí),當(dāng)BIOS啟動(dòng)完成后,會(huì)運(yùn)行Grub等引導(dǎo)程序。用戶可以對(duì)Grub引導(dǎo)程序進(jìn)行設(shè)置,以啟動(dòng)不同的Linux內(nèi)核程序,完成對(duì)Linux內(nèi)核程序的更新操作。當(dāng)用戶使用舊版本的Linux內(nèi)核將系統(tǒng)啟動(dòng)后,可以用最新的Linux內(nèi)核程序文件覆蓋舊版本的Linux 內(nèi)核文件,這樣不需要對(duì)Grub引導(dǎo)程序配置進(jìn)行改動(dòng)。當(dāng)用戶沒有覆蓋舊版本的Linux內(nèi)核文件,而是使用的新的文件名時(shí),為了使Grub引導(dǎo)程序能使用此新的Linux內(nèi)核文件進(jìn)行啟動(dòng),需要對(duì)Grub引導(dǎo)程序進(jìn)行配置。此更新方法明顯涉及太多的用戶參與,而且需要用戶花費(fèi)很長(zhǎng)的時(shí)間才能完成Linux內(nèi)核的更新操作。
發(fā)明內(nèi)容
為了解決上述問題,本發(fā)明提供了一種BIOS與Linux內(nèi)核自動(dòng)升級(jí)的方法,使 BIOS, Linux內(nèi)核程序更新不再是一件繁瑣的任務(wù)。一種BIOS與Linux內(nèi)核自動(dòng)升級(jí)的方法,其特征在于BI0S啟動(dòng)后,完成網(wǎng)卡初始化,通過網(wǎng)絡(luò)連接到升級(jí)服務(wù)器,讀取配置文件,根據(jù)配置文件的解析結(jié)果進(jìn)行BIOS與 Linux內(nèi)核的更新。優(yōu)選的,所述網(wǎng)卡的驅(qū)動(dòng)文件是融合在BIOS中,在BIOS啟動(dòng)時(shí)加載。優(yōu)選的,所述配置文件由管理員根據(jù)更新需要配置完成并存放在升級(jí)服務(wù)器上。優(yōu)選的,所述配置文件內(nèi)容包括BIOS和Linux內(nèi)核的文件名,版本號(hào)和更新日期。優(yōu)選的,所述配置文件的解析結(jié)果如果與flash存儲(chǔ)器中BIOS和Linux的環(huán)境變量一致,則不需要更新,BIOS退出更新功能代碼,繼續(xù)執(zhí)行后續(xù)代碼;若環(huán)境變量不一致, 則需要更新。較優(yōu)選的,更新時(shí)從升級(jí)服務(wù)器讀取升級(jí)文件,并將文件加載到內(nèi)存中,同時(shí)將讀取的配置文件信息作為環(huán)境變量存儲(chǔ)到flash存儲(chǔ)器中。
較優(yōu)選的,更新完成后,下次啟動(dòng)時(shí)BIOS通過加載新的環(huán)境變量更新。本發(fā)明使BIOS、Linux內(nèi)核程序更新不再是一件繁瑣的任務(wù),同時(shí),可以根據(jù)需要自行設(shè)定更新的版本和內(nèi)容。
具體實(shí)施例方式當(dāng)BIOS程序在啟動(dòng)運(yùn)行時(shí),在完成網(wǎng)絡(luò)功能初始化后,通過網(wǎng)絡(luò)加載配置文件, 對(duì)配置文件進(jìn)行解析,以確定是否需要對(duì)BIOS程序或者Linux內(nèi)核程序進(jìn)行更新操作。當(dāng)不需要進(jìn)行更新操作時(shí),BIOS退出更新功能代碼,繼續(xù)執(zhí)行其他功能代碼。當(dāng)需要進(jìn)行更新操作時(shí),BIOS程序可以通過對(duì)配置文件的解析,知道最新的BIOS程序或者Linux內(nèi)核程序的文件名和版本號(hào)。如果此版本號(hào)與Flash存儲(chǔ)的環(huán)境變量對(duì)應(yīng)的版本號(hào)一致,表示BIOS 程序或者Linux內(nèi)核程序上次啟動(dòng)時(shí)已經(jīng)更新過,此次啟動(dòng)時(shí)無需再次進(jìn)行更新,BIOS退出更新功能代碼,繼續(xù)執(zhí)行其他功能代碼。如果此版本號(hào)與Flash存儲(chǔ)的環(huán)境變量對(duì)應(yīng)的版本號(hào)不一致,或者Flash存儲(chǔ)的環(huán)境變量并不存在,表示BIOS程序或者Linux內(nèi)核程序在此次啟動(dòng)過程中需要更新。這樣就可以將最新的BIOS程序、Linux內(nèi)核程序加載到內(nèi)存中。同時(shí),將獲得的BIOS程序或者Linux內(nèi)核程序版本號(hào)做為環(huán)境變量存儲(chǔ)到Flash中。 這樣,下次啟動(dòng)時(shí),BIOS加載flash存儲(chǔ)器內(nèi)容完成更新操作。通過以上步驟,即可完成對(duì)服務(wù)器的BIOS、Linux內(nèi)核程序更新操作。
權(quán)利要求
1.一種BIOS與Linux內(nèi)核自動(dòng)升級(jí)的方法,其特征在于BI0S啟動(dòng)后,完成網(wǎng)卡初始化,通過網(wǎng)絡(luò)連接到升級(jí)服務(wù)器,讀取配置文件,根據(jù)配置文件的解析結(jié)果進(jìn)行BIOS與 Linux內(nèi)核的更新。
2.如權(quán)利要求1所述的方法,其特征在于所述網(wǎng)卡的驅(qū)動(dòng)文件是融合在BIOS中,在 BIOS啟動(dòng)時(shí)加載。
3.如權(quán)利要求1所述的方法,其特征在于所述配置文件由管理員根據(jù)更新需要配置完成并存放在升級(jí)服務(wù)器上。
4.如權(quán)利要求1所述的方法,其特征在于所述配置文件內(nèi)容包括BIOS和Linux內(nèi)核的文件名,版本號(hào)和更新日期。
5.如權(quán)利要求1所述的方法,其特征在于所述配置文件的解析結(jié)果如果與flash存儲(chǔ)器中BIOS和Linux的環(huán)境變量一致,則不需要更新,BIOS退出更新功能代碼,繼續(xù)執(zhí)行后續(xù)代碼;若環(huán)境變量不一致,則需要更新。
6.如權(quán)利要求5所述的方法,其特征在于更新時(shí)從升級(jí)服務(wù)器讀取升級(jí)文件,并將文件加載到內(nèi)存中,同時(shí)將讀取的配置文件信息作為環(huán)境變量存儲(chǔ)到flash存儲(chǔ)器中。
7.如權(quán)利要求1、5或6所述的方法,其特征在于更新完成后,下次啟動(dòng)時(shí)BIOS通過加載新的環(huán)境變量更新。
全文摘要
本發(fā)明提供了一種BIOS與Linux內(nèi)核自動(dòng)升級(jí)的方法,其特征在于BIOS啟動(dòng)后,完成網(wǎng)卡初始化,通過網(wǎng)絡(luò)連接到升級(jí)服務(wù)器,讀取配置文件,根據(jù)配置文件的解析結(jié)果進(jìn)行BIOS與Linux內(nèi)核的更新。本發(fā)明使BIOS、Linux內(nèi)核程序更新不再是一件繁瑣的任務(wù),同時(shí),可以根據(jù)需要自行設(shè)定更新的版本和內(nèi)容。
文檔編號(hào)G06F9/445GK102331942SQ20111018885
公開日2012年1月25日 申請(qǐng)日期2011年7月7日 優(yōu)先權(quán)日2011年7月7日
發(fā)明者劉新春, 尹寧寧, 李豐旺, 李永成, 楊曉君, 邵宗有, 鄭臣明 申請(qǐng)人:曙光信息產(chǎn)業(yè)股份有限公司