欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種集中更新BIOS固件的方法與流程

文檔序號:11917752閱讀:775來源:國知局

本發(fā)明涉及服務器管理技術(shù)領域,具體涉及一種集中更新BIOS固件的方法。



背景技術(shù):

刀片服務器和整機柜服務器由于具有刀片密度高、部署靈活快速的優(yōu)點,在互聯(lián)網(wǎng)領域得到了廣泛的應用。服務器的每個刀片上往往都有一顆BMC(Baseboard Management Controller,基板管理控制器)對服務器進行管理,BMC又被管理載板上的SMC(System Management Controller,系統(tǒng)管理控制器)通過Web管理界面集中管理。存放BMC固件所使用的Flash芯片與存放BIOS固件所使用的Flash芯片可以是相同的,而且Flash都是具有SPI接口的串行Nor Flash,通過BMC的SPI控制器可以更新BMC的固件,因此通過BMC的SPI控制器也就可以更新BIOS固件。每個刀片的運行都需要BIOS的支持,如何簡單高效地對服務器中多個刀片上的BIOS固件進行更新是一個需要解決的技術(shù)問題。



技術(shù)實現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題是:本發(fā)明針對以上問題,提供一種集中更新BIOS固件的方法。

本發(fā)明所采用的技術(shù)方案為:

一種集中更新BIOS固件的方法,所述方法通過SMC和多個BMC構(gòu)成的服務器管理系統(tǒng),通過操作SMC的Web管理界面,借助SMC的固件中繼作用,由SMC對BIOS固件進行中繼進而分發(fā)到各個計算單元的BMC上,通過計算單元BMC的SPI控制器執(zhí)行具體的BIOS固件更新操作,對多個計算單元BIOS固件的同時集中更新。避免了逐個更新計算單元BIOS固件的繁瑣和低效,提高了固件更新效率。

所述SMC和多個BMC構(gòu)成的服務器管理系統(tǒng)包含一個SMC和多個BMC,所述的SMC與多個BMC通過管理交換機建立網(wǎng)絡連接,所述的BMC通過選擇器掛接BMC SPI Flash和BIOS SPI Flash,計算單元上的PCH通過選擇器掛接BIOS SPI Flash。

所述方法包括以下步驟:

1)服務器上電,服務器各個計算單元處于關機狀態(tài),此時SPI Flash的連接處于BIOS SPI Flash與PCH連接以及BMC SPI Flash與BMC連接的默認連接狀態(tài),待整個管理系統(tǒng)完成啟動后登錄SMC的Web管理界面;

2)在SMC的Web管理界面的BIOS固件更新頁面選擇要更新BIOS固件的計算刀片,點擊更新BIOS固件按鈕進入BIOS固件集中更新階段;

3)SMC發(fā)送Prepare Flash Area命令到被選中的計算刀片的BMC;

4)BMC執(zhí)行Prepare Flash Area命令為接收和刷新BIOS固件做準備,主要的操作包括準備BMC端固件更新環(huán)境和切換SPI Flash硬件鏈路;

5)SMC獲取BMC執(zhí)行Prepare Flash Area命令的狀態(tài);

6)在BMC完成Prepare Flash Area操作后,SMC也執(zhí)行Prepare Flash Area;

7)在SMC完成Prepare Flash Area操作后,彈出選擇BIOS固件的對話框,選擇固件后使用SMC的Web服務器提供的文件上傳功能上傳BIOS固件到SMC,存儲到/dev/shm掛載的/mnt目錄下,文件名為bios.bin;

8)SMC使用Web服務器的文件上傳功能上傳BIOS固件完畢后,SMC向BMC發(fā)送Receive Flash File命令;

9)BMC接收到Receive Flash File命令后,如果已成功執(zhí)行Prepare Flash Area命令,則向SMC回復可以接收BIOS固件文件;

10)SMC獲取BMC是否可以接收BIOS固件文件的信息,若存在可以接收BIOS固件文件的BMC,則SMC讀取尺寸為整個固件尺寸的整數(shù)分之一的數(shù)據(jù)塊并向收到Receive Flash File命令回復的BMC分別發(fā)送:

發(fā)送完此數(shù)據(jù)塊后,經(jīng)過一定的延時,等待BMC接收并寫入此數(shù)據(jù)塊后,再讀取新的數(shù)據(jù)塊并分別發(fā)送,直到發(fā)送完畢;

11)BMC完成固件接收并關閉固件文件后,向SMC回復已接收完畢;

12)SMC獲取BMC執(zhí)行Receive Flash File命令的狀態(tài);

13)如果BMC接收固件文件完畢,則SMC向BMC發(fā)送Verify Firmware Image命令,這一命令的數(shù)據(jù)字段中包含SMC計算得到的BIOS固件的文件校驗和;

14)BMC執(zhí)行Verify Firmware Image命令;

15)SMC獲取BMC執(zhí)行Verify Firmware Image命令的狀態(tài);

16)如果BMC校驗成功,則SMC向BMC發(fā)送Start Image Flash命令;

17)BMC執(zhí)行Start Image Flash命令進入真正的固件刷新階段,如果刷新完畢,則向SMC回復固件已刷新完畢并自動重啟,BMC重啟后SPI Flash恢復到BIOS SPI Flash與PCH連接以及BMC SPI Flash與BMC連接的默認連接狀態(tài);

18)SMC向BMC定時發(fā)送Get Flash Progress命令以獲取BMC執(zhí)行Start Image Flash命令后BMC的固件刷新進度;

19)如果所有的BMC已完成固件刷新,則SMC自動重啟。

步驟4)中準備BMC端固件更新環(huán)境時,BMC通過kill固件更新無關的進程,rmmod所有的模塊,unmount固件更新無關的文件系統(tǒng),掛載/dev/shm設備到/mnt目錄并格式化為tmpfs文件系統(tǒng)等操作,準備固件更新所需的環(huán)境。

準備BMC端固件更新環(huán)境完畢后,BMC通過GPIO控制選擇器切換SPI Flash硬件鏈路,斷開BIOS SPI Flash與PCH以及BMC SPI Flash與BMC的連接并將BIOS SPI Flash掛接到BMC的SPI控制器上,命令執(zhí)行完成之后向SMC回復準備完成情況。

步驟10)中SMC讀取數(shù)據(jù)塊,當未讀到文件末尾時,發(fā)送內(nèi)容為這個數(shù)據(jù)塊及數(shù)據(jù)塊結(jié)尾的未發(fā)送完畢標志位;

當已讀到文件末尾時,由于設置的讀取數(shù)據(jù)塊尺寸為整個固件尺寸的整數(shù)分之一,因此read()函數(shù)返回的實際讀取字節(jié)為0,為了BMC接收端處理數(shù)據(jù)的一致性,使發(fā)送內(nèi)容為相同尺寸的未經(jīng)賦值的數(shù)據(jù)塊及數(shù)據(jù)塊結(jié)尾的已發(fā)送完畢標志位。

BMC接收BIOS固件文件數(shù)據(jù)塊,解析數(shù)據(jù)塊結(jié)尾的標志位:

若標志位指示未發(fā)送完畢,則將去除標志位的數(shù)據(jù)塊寫入BMC端的固件文件;

若標志位指示已發(fā)送完畢,則不再向BMC端的固件文件中寫入任何數(shù)據(jù),并關閉文件.

BMC執(zhí)行Verify Firmware Image命令的方法是:讀取BIOS固件并計算文件的校驗和,如果BMC計算得到的校驗和與Verify Firmware Image命令的數(shù)據(jù)字段中包含的校驗和相等,則認為在由SMC發(fā)送到BMC的過程中BIOS固件沒有差錯。

本發(fā)明的有益效果為:

本發(fā)明通過操作SMC的Web管理界面,借助SMC的固件中繼作用,使用計算單元BMC的SPI控制器實現(xiàn)對多個計算單元BIOS固件的同時集中更新,避免了逐個更新計算單元BIOS固件的繁瑣和低效,提高了固件更新效率。

附圖說明

圖1為SPI Flash切換的示意圖。

具體實施方式

下面根據(jù)說明書附圖,結(jié)合具體實施方式對本發(fā)明進一步說明:

實施例1

一種集中更新BIOS固件的方法,所述方法通過SMC和多個BMC構(gòu)成的服務器管理系統(tǒng),通過操作SMC的Web管理界面,借助SMC的固件中繼作用,由SMC對BIOS固件進行中繼進而分發(fā)到各個計算單元的BMC上,通過計算單元BMC的SPI控制器執(zhí)行具體的BIOS固件更新操作,對多個計算單元BIOS固件的同時集中更新。避免了逐個更新計算單元BIOS固件的繁瑣和低效,提高了固件更新效率。

實施例2

在實施例1的基礎上,本實施例所述SMC和多個BMC構(gòu)成的服務器管理系統(tǒng)包含一個SMC和多個BMC,所述的SMC與多個BMC通過管理交換機建立網(wǎng)絡連接,所述的BMC通過選擇器掛接BMC SPI Flash和BIOS SPI Flash,計算單元上的PCH通過選擇器掛接BIOS SPI Flash。

實施例3

在實施例2的基礎上,本實施例所述方法包括以下步驟:

1)服務器上電,服務器各個計算單元處于關機狀態(tài),此時SPI Flash的連接處于BIOS SPI Flash與PCH連接以及BMC SPI Flash與BMC連接的默認連接狀態(tài),待整個管理系統(tǒng)完成啟動后登錄SMC的Web管理界面;

2)在SMC的Web管理界面的BIOS固件更新頁面選擇要更新BIOS固件的計算刀片,點擊更新BIOS固件按鈕進入BIOS固件集中更新階段;

3)SMC發(fā)送Prepare Flash Area命令到被選中的計算刀片的BMC;

4)BMC執(zhí)行Prepare Flash Area命令為接收和刷新BIOS固件做準備,主要的操作包括準備BMC端固件更新環(huán)境和切換SPI Flash硬件鏈路,準備BMC端固件更新環(huán)境時BMC會通過kill固件更新無關的進程,rmmod所有的模塊,unmount固件更新無關的文件系統(tǒng),掛載/dev/shm設備到/mnt目錄并格式化為tmpfs文件系統(tǒng)等操作準備固件更新所需的環(huán)境;準備BMC端固件更新環(huán)境完畢后BMC通過GPIO控制選擇器切換SPI Flash硬件鏈路,斷開BIOS SPI Flash與PCH以及BMC SPI Flash與BMC的連接并將BIOS SPI Flash掛接到BMC的SPI控制器上,命令執(zhí)行完成之后向SMC回復準備完成情況,如圖1所示;

5)SMC獲取BMC執(zhí)行Prepare Flash Area命令的狀態(tài);

6)在BMC完成Prepare Flash Area操作后,SMC也執(zhí)行Prepare Flash Area,與BMC執(zhí)行此操作不同的是,BMC是為了最終執(zhí)行更新BIOS固件的操作,而SMC只是為了接收Web上傳的BMC固件而釋放一部分RAM空間,而這正體現(xiàn)了SMC的固件中繼作用;

7)在SMC完成Prepare Flash Area操作后,彈出選擇BIOS固件的對話框,選擇固件后使用SMC的Web服務器提供的文件上傳功能上傳BIOS固件到SMC,存儲到/dev/shm掛載的/mnt目錄下,文件名為bios.bin;

8)SMC使用Web服務器的文件上傳功能上傳BIOS固件完畢后,SMC向BMC發(fā)送Receive Flash File命令;

9)BMC接收到Receive Flash File命令后,如果已成功執(zhí)行Prepare Flash Area命令,則向SMC回復可以接收BIOS固件文件;

10)SMC獲取BMC是否可以接收BIOS固件文件的信息,若存在可以接收BIOS固件文件的BMC,則SMC讀取尺寸為整個固件尺寸的整數(shù)分之一的數(shù)據(jù)塊并向收到Receive Flash File命令回復的BMC分別發(fā)送:

當未讀到文件末尾時,發(fā)送內(nèi)容為這個數(shù)據(jù)塊及數(shù)據(jù)塊結(jié)尾的未發(fā)送完畢標志位;

當已讀到文件末尾時,由于設置的讀取數(shù)據(jù)塊尺寸為整個固件尺寸的整數(shù)分之一,因此read()函數(shù)返回的實際讀取字節(jié)為0,為了BMC接收端處理數(shù)據(jù)的一致性,使發(fā)送內(nèi)容為相同尺寸的未經(jīng)賦值的數(shù)據(jù)塊及數(shù)據(jù)塊結(jié)尾的已發(fā)送完畢標志位;

發(fā)送完此數(shù)據(jù)塊后,經(jīng)過一定的延時,等待BMC接收并寫入此數(shù)據(jù)塊后,再讀取新的數(shù)據(jù)塊并分別發(fā)送,直到發(fā)送完畢;

11)BMC接收BIOS固件文件數(shù)據(jù)塊,解析數(shù)據(jù)塊結(jié)尾的標志位:

若標志位指示未發(fā)送完畢,則將去除標志位的數(shù)據(jù)塊寫入BMC端的固件文件;

若標志位指示已發(fā)送完畢,則不再向BMC端的固件文件中寫入任何數(shù)據(jù),并關閉文件;

BMC端的固件文件存儲在與SMC端相同的位置,即將接收到的數(shù)據(jù)塊存儲為BMC端/dev/shm掛載的/mnt目錄下的bios.bin文件;

BMC完成固件接收并關閉固件文件后,向SMC回復已接收完畢;

12)SMC獲取BMC執(zhí)行Receive Flash File命令的狀態(tài);

13)如果BMC接收固件文件完畢,則SMC向BMC發(fā)送Verify Firmware Image命令,這一命令的數(shù)據(jù)字段中包含SMC計算得到的BIOS固件的文件校驗和;

14)BMC執(zhí)行Verify Firmware Image命令,方法是讀取BIOS固件并計算文件的校驗和,如果BMC計算得到的校驗和與Verify Firmware Image命令的數(shù)據(jù)字段中包含的校驗和相等則認為在由SMC發(fā)送到BMC的過程中BIOS固件沒有差錯;

15)SMC獲取BMC執(zhí)行Verify Firmware Image命令的狀態(tài);

16)如果BMC校驗成功,則SMC向BMC發(fā)送Start Image Flash命令;

17)BMC執(zhí)行Start Image Flash命令進入真正的固件刷新階段,如果刷新完畢,則向SMC回復固件已刷新完畢并自動重啟,BMC重啟后SPI Flash恢復到BIOS SPI Flash與PCH連接以及BMC SPI Flash與BMC連接的默認連接狀態(tài);

18)SMC向BMC定時發(fā)送Get Flash Progress命令以獲取BMC執(zhí)行Start Image Flash命令后BMC的固件刷新進度;

19)如果所有的BMC已完成固件刷新,則SMC自動重啟。

實施例4

一個具有多個刀片的服務器,有一個管理載板和若干個計算單元,及機箱電源、風扇等必備組件。管理載板上放置一顆SMC,每個計算單元上各放置一顆BMC。計算單元上的BMC通過選擇器掛接BMC SPI Flash和BIOS SPI Flash,計算單元上的PCH通過選擇器掛接BIOS SPI Flash。

具體實現(xiàn)步驟如下:

(1)擴展Web接口調(diào)用擴展固件刷新庫向BMC發(fā)送Prepare Flash Area、Receive Flash File、Verify Firmware Image、Start Image Flash和Get Flash Progress命令;

(2)在擴展固件刷新庫中增加了文件發(fā)送功能模塊,發(fā)送通過Web上傳到SMC的BIOS固件文件/mnt/bios.bin到BMC,Web的文件上傳功能和擴展固件刷新庫中的文件發(fā)送功能模塊相結(jié)合起到了SMC對BMC固件的中繼作用,文件發(fā)送功能模塊的主要作用是高效可靠地分發(fā)BMC固件;

(3)在固件刷新進程中增加了“處理BMC回復線程”的功能模塊,對BMC的回復信息進行解析處理,存放到BMC回復信息的存儲空間中,并由Web調(diào)用擴展Web接口進而調(diào)用擴展固件刷新庫獲取BMC更新BIOS固件的狀態(tài)以更新Web顯示;

(4)BMC端通過修改固件刷新進程進行具體的固件更新操作,在固件刷新進程中增加了“處理SMC命令線程”,接收并執(zhí)行SMC發(fā)出的Prepare Flash Area、Receive Flash File、Verify Firmware Image、Start Image Flash和Get Flash Progress命令;

特別地,當“處理SMC命令線程”接收到Receive Flash File命令時,啟動文件接收功能模塊,接收SMC發(fā)送的BMC固件文件,并寫入為BMC的/mnt/bios.bin文件,文件接收功能模塊起到了Web的文件上傳功能的部分作用;

(5)BMC在執(zhí)行Prepare Flash Area階段通過GPIO控制BIOS SPI Flash由附圖中虛線顯示的與PCH連接切換為附圖中實線顯示的與BMC連接,同時,BMC SPI Flash由附圖中虛線顯示的與BMC連接切換為與PCH和BMC都不連接的懸空狀態(tài),BMC完成BIOS固件更新重啟后恢復為附圖中虛線所示的默認連接狀態(tài)。

實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關技術(shù)領域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應由權(quán)利要求限定。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
卢氏县| 洞头县| 广安市| 靖江市| 鄂伦春自治旗| 万全县| 浮梁县| 锡林郭勒盟| 东山县| 古田县| 成都市| 漾濞| 云和县| 苏尼特左旗| 茌平县| 沽源县| 石嘴山市| 泸水县| 林州市| 大方县| 石河子市| 容城县| 广州市| 厦门市| 宝坻区| 报价| 安化县| 堆龙德庆县| 集安市| 广河县| 海丰县| 永定县| 怀来县| 宁远县| 营山县| 织金县| 南投市| 太白县| 习水县| 茶陵县| 灌南县|