TWI776579B - 韌體更新的處理方法與裝置 - Google Patents
韌體更新的處理方法與裝置 Download PDFInfo
- Publication number
- TWI776579B TWI776579B TW110124860A TW110124860A TWI776579B TW I776579 B TWI776579 B TW I776579B TW 110124860 A TW110124860 A TW 110124860A TW 110124860 A TW110124860 A TW 110124860A TW I776579 B TWI776579 B TW I776579B
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- source information
- backplane
- tree source
- device tree
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title abstract description 9
- 230000002093 peripheral effect Effects 0.000 claims abstract description 62
- 230000005540 biological transmission Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 26
- 238000000034 method Methods 0.000 claims description 18
- 238000012856 packing Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 14
- 238000011161 development Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 2
- 238000009459 flexible packaging Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
- Small-Scale Networks (AREA)
Abstract
一種韌體更新的處理方法與系統,所述韌體更新的處理方法包括獲取伺服器的設備清單,設備清單記錄至少一週邊設備;根據主機板產生核心裝置樹源資訊;根據設備清單產生每一週邊設備的設備裝置樹源資訊與至少一背板裝置樹源資訊;將核心裝置樹源資訊、設備裝置樹源資訊與所述背板裝置樹源資訊封裝為目標文件。所述的韌體更新的處理方法可以對同一系列的伺服器提供相應的目標文件,並且根據增設的週邊設備部署相應的硬體描述資訊,以供伺服器更新相應的韌體。
Description
關於一種韌體更新方法與裝置,特別有關一種伺服器與其週邊設備的韌體更新的處理方法與裝置。
隨著各式的運算需求的增加,也帶動伺服器的快速發展。在佈建伺服器時除了要求處理器的運算能力外,也要考量伺服器的擴充能力。一般而言,伺服器可以透過背板(backplane)擴充各式的週邊設備。例如:伺服器透過背板連接外接的儲存裝置、風扇或感應器等。
由於伺服器與各種週邊設備的組合搭配樣式繁多。舉例來說,相同型號的伺服器可能為因應不同數量的刀鋒主機板,所以會配置不同數量的背板、風扇與感應器。如果對每一種主機板與週邊設備提出相應的裝置樹源資訊(Device Tree Source)的開發,這將會大幅提高後端人員的開發與維護的成本。
有鑑於此,韌體更新的處理方法包括獲取主機板的設備清單,設備清單記錄至少一週邊設備;根據主機板產生核心裝置樹源資訊;根據設備清單產生每一週邊設備的設備裝置樹源資訊與至少一背板裝置樹源資訊;將核心裝置樹源資訊、設備裝置樹源資訊與所述背板裝置樹源資訊封裝為目標文件。所述的韌體更新的處理方法可以對同一系列的伺服器提供相同的目標文件,並且根據增設的週邊設備部署相應的硬體描述資訊。除了方便客戶端獲取欲更新的目標文件外,後端開發人員可以降低重複維護的成本。
在一些實施例中,在將核心裝置樹源資訊、設備裝置樹源資訊與所述背板裝置樹源資訊封裝為目標文件之步驟包括將所述設備裝置樹源資訊編譯為設備中間文件;根據主機板的背板數量資訊產生相應數量的所述背板裝置樹源資訊;將所述背板裝置樹源資訊編譯為背板中間文件;將核心裝置樹源資訊編譯為核心文件;將設備中間文件、背板中間文件與核心文件封裝為目標文件。
在一些實施例中,在封裝目標文件之步驟後包括由第一計算機發送目標文件至第二計算機;判斷第二計算機的當前描述文件與目標文件的校驗和值;若當前描述文件的校驗和值相異於目標文件的校驗和值,根據目標文件更新當前描述文件。
在一些實施例中,韌體更新的處理方法包括獲取主機板的第一設備清單與第二設備清單,第一設備清單具有至少一第一週邊設備,第二設備清單具有至少一第二週邊設備;根據主機板產生核心裝置樹源資訊;根據第一設備清單產生每一第一週邊設備的第一設備裝置樹源資訊與至少一第一背板裝置樹源資訊;根據第二設備清單產生每一第二週邊設備的第二設備裝置樹源資訊與至少一第二背板裝置樹源資訊;將核心裝置樹源資訊、第一設備裝置樹源資訊、第一背板裝置樹源資訊、第二設備裝置樹源資訊與第二背板裝置樹源資訊封裝為目標文件。
在一些實施例中,在封裝為目標文件之步驟包括將所述第一設備裝置樹源資訊與所述第二設備裝置樹源資訊分別編譯為第一設備中間文件與第二設備中間文件;根據主機板的第一背板數量資訊與第二背板數量資訊分別產生相應數量的所述第一背板裝置樹源資訊與所述第二背板裝置樹源資訊;將所述第一背板裝置樹源資訊與所述第二背板裝置樹源資訊分別編譯為第一背板中間文件與第二背板中間文件;將核心裝置樹源資訊編譯為核心文件;將第一設備中間文件與第一背板中間文件封裝為第一文件群;將第二設備中間文件與第二背板中間文件封裝為第二文件群;將該核心文件、第一文件群與第二文件群封裝為目標文件。
在一些實施例中,將第一文件群與第二文件群封裝為目標文件之步驟後包括由第一計算機發送目標文件至第二計算機;判斷第二計算機的當前描述文件與目標文件的校驗和值;若當前描述文件的校驗和值相異於目標文件的校驗和值,根據第二計算機的主機板與版本資訊從目標文件中選擇第一文件群或第二文件群。
在一些實施例中,韌體更新的處理裝置包括第一傳輸單元、第一儲存單元與第一處理器;第一傳輸單元獲取主機板的設備清單,設備清單記錄至少一週邊設備;第一儲存單元儲存處理程式、設備清單與目標文件;第一處理器耦接於第一傳輸單元與第一儲存單元,第一處理器執行處理程式,第一處理器根據主機板產生核心裝置樹源資訊,第一處理器根據設備清單產生至少一設備裝置樹源資訊與至少一背板裝置樹源資訊,第一處理器將核心裝置樹源資訊、所述設備裝置樹源資訊與所述背板裝置樹源資訊封裝為目標文件。
在一些實施例中,第二計算機具有第二傳輸單元、第二儲存單元與第二處理器,第二處理器耦接於第二傳輸單元與第二儲存單元,第二傳輸單元連接於第一計算機,第二儲存單元儲存更新程式、導引程式與當前描述文件,第二處理器執行更新程式與導引程式,更新程式透過第二傳輸單元通過第一傳輸單元向第一儲存單元獲取目標文件,導引程式根據目標文件更新第二計算機,導引程式根據目標文件更新第二計算機。
在一些實施例中,導引程式判斷當前描述文件與目標文件的校驗和值是否相同,若當前描述文件的校驗和值相異於目標文件的校驗和值,導引程式根據目標文件更新當前描述文件。
所述的韌體更新的處理方法與系統提供彈性化的設備韌體的封裝與更新,使得同一目標文件可以支援多組不同的伺服器與相應週邊設備。開發人員可以將核心文件任意搭配設備韌體與背板韌體,藉以符合伺服器的不同版本資訊。
請參考圖1所示,其係為一實施例的硬體架構示意圖。韌體更新的處理系統001包括處理裝置(對應於圖1的第一計算機100)與外部伺服器200。為能方便說明,以下將處理裝置稱為第一計算機100。第一計算機100包括第一傳輸單元110、第一儲存單元120與第一處理器130。第一處理器130耦接於該第一傳輸單元110與第一儲存單元120。第一傳輸單元110獲取主機板的設備清單210。第一傳輸單元110可以透過乙太網路連接至外部伺服器200或存取通訊匯流排的儲存設備以獲取一設備清單210。所述的通訊匯流排可以是通用序列匯流排(Universal Serial Bus,USB)、序列先進技術通訊協議(Serial Advanced Technology Attachment,SATA)、外部連結標準匯流排(Peripheral Component Interconnect,PCI)或快捷外設組件互連標準(Peripheral Component Interconnect Express,PCIE)。
設備清單210中記錄主機板的版本資訊214與主機板所連接的週邊設備。版本資訊214可以是但不限定為主機板的型號、當前描述文件的版本、產品專案或第一計算機100的產品型號等。所述週邊設備可以是但不限定為背板(backplane)、風扇、感測器、連接埠、訊號燈或控制晶片等。此外,設備清單210所載的背板數量係以同一系列產品的伺服器所連接的最大值與所連接的種類為主。舉例來說,採用相同主機板的伺服器存在兩系列產品,其係分別為伺服器A與伺服器B。伺服器A可連接10組背板,而伺服器B可連接5組背板。設備清單210中將會記錄該主機板的可連接背板數量為10組。
在一些實施例中,第一計算機100可以選擇性連接至外部伺服器200。外部伺服器200根據各開發專案的物料表(bill of materials,BOM)產生相應的設備清單210。第一計算機100透過第一傳輸單元110獲取開發專案的設備清單210。設備清單210記錄開發專案的伺服器型號、背板種類與數量、週邊設備的種類與數量。不同的開發專案可能採用相同的伺服器,但伺服器所屬的背板與週邊設備會有所差異。
第一儲存單元120儲存處理程式121、設備清單210、目標文件123與作業系統(無標號)。第一處理器130執行作業系統與處理程式121。以下為方便說明將以處理程式121為主,但在實際運算中仍是以第一處理器130作為實體處理的核心。作業系統的種類係為Linux作業系統、UNIX作業系統或其他BSD的作業系統。處理程式121用於產生裝置樹源資訊(Device Tree Source,DTS)與目標文件123。處理程式121根據設備清單210的週邊設備產生相應的裝置樹源資訊,並將裝置樹源資訊編譯裝置樹塊(Device Tree Blob,DTB)或裝置樹疊加塊(Device Tree Blob Overlay,DTBO)的輸出結果。
在此實施例中,處理程式121可以根據設備清單210所載的主機板與週邊設備產生對應的裝置樹源資訊。處理程式121根據主機板與版本資訊214產生核心裝置樹源資訊211。處理程式121根據週邊設備產生設備裝置樹源資訊212。處理程式121根據背板的種類與數量產生背板裝置樹源資訊213。處理程式121可以根據週邊設備的種類分別產生多種的設備裝置樹源資訊212,並根據相同種類的週邊設備產生相應數量的設備裝置樹源資訊212。
為進一步說明伺服器與所屬週邊設備的硬體描述文件的更新的處理方法,請配合圖2所示。伺服器與所屬週邊設備的硬體描述文件的更新方法包括以下步驟:
步驟S310:第一計算機獲取主機板的設備清單,設備清單記錄至少一週邊設備;
步驟S320:根據主機板產生核心裝置樹源資訊;
步驟S330:根據設備清單產生每一週邊設備的設備裝置樹源資訊與至少一背板裝置樹源資訊;以及
步驟S340:將核心裝置樹源資訊、設備裝置樹源資訊與所述背板裝置樹源資訊封裝為目標文件。
首先,第一計算機100透過第一傳輸單元110獲取主機板的設備清單210。第一計算機100執行處理程式121,處理程式121根據設備清單210所記錄的主機板產生核心裝置樹源資訊211。處理程式121根據設備清單210所記錄週邊設備產生設備裝置樹源資訊212與背板裝置樹源資訊213。
接著,處理程式121將設備裝置樹源資訊212編譯為設備中間文件412。處理程式121可以使用裝置樹編譯器(Device Tree Compiler,DTC)對設備裝置樹源資訊212進行編譯。處理程式121根據設備裝置樹源資訊212的種類與數量逐一產生設備中間文件412。換言之,每一個設備中間文件412係對應一個設備裝置樹源資訊212。
處理程式121從設備清單210中獲取背板的數量或種類的資訊。處理程式121根據背板數量資訊產生相應數量的背板裝置樹源資訊213。處理程式121根據背板的種類與數量對背板裝置樹源資訊213進行編譯,並產生相應種類與數量的背板中間文件413。
在一實施例中,處理程式121可以對背板裝置樹源資訊213使用裝置樹疊加(Device Tree Overlay)或裝置樹塊疊加(Device Tree Blob Overlay)的呼叫處理。處理程式121可以透過前述的疊加處理,藉以在現有的裝置樹源資訊的基礎上,增加新週邊設備的裝置樹源資訊。疊加處理可用於協調各背板的硬體資源共享,例如:背板對於接腳的優先權、記憶體區段、中斷處理或暫存器。
接著,處理程式121對主機板的核心裝置樹源資訊211編譯為核心中間文件411。請參考圖3所示,其係為一實施例的裝置樹源資訊與對應的中間文件的示意圖。處理程式121完成前述的核心中間文件411、設備中間文件412與背板中間文件413後,處理程式121將主機板的版本資訊214、核心中間文件411、設備中間文件412與背板中間文件413進行封裝,而封裝結果係為目標文件123。
處理程式121根據核心中間文件411、設備中間文件412與背板中間文件413進行封裝,例如圖4所示。處理程式121將目標文件123儲存於第一儲存單元120。此外,在目標文件123於封裝的過程中,處理程式121也可以計算目標文件123的校驗和值(checksum)。處理程式121封裝目標文件123時,處理程式121也會將校驗和值一併加入。
在一實施例中,韌體更新的處理系統001更包括第二計算機500。第二計算機500包括主機板540、第二傳輸單元510、第二儲存單元520與第二處理器530,請配合圖5所示。第二計算機500可以是但不限定為伺服器、個人電腦或筆記型電腦的X86架構計算機,也可以是進階精簡指令集機器(Advanced RISC Machine,ARM)的計算設備。第二處理器530耦接於第二傳輸單元510與第二儲存單元520。第二傳輸單元510連接於第一計算機100,第二傳輸單元510用於傳輸目標文件123。第二儲存單元520儲存更新程式521、導引程式522與當前描述文件523。當前描述文件523係為第二計算機500運行中所使用的硬體描述檔案。
第二處理器530執行更新程式521與導引程式522。第二處理器530可以是基板控制管理器(Board Management Controller,BMC)或中央處理器(Central Processing Unit,CPU),其係根據第二計算機500的硬體架構所決定。更新程式521根據第二計算機500的主機板540的版本資訊214向第一計算機100獲取相應的目標文件123。亦或者,使用者透過更新程式521向第一計算機100獲取特定版號的目標文件123。導引程式522根據目標文件123更新第二計算機500的當前描述文件523。導引程式522可以是Linux作業系統的Uboot或是UNIX作業系統的啟動程式(bootloader)所實現。主機板540可以根據版本資訊214擴充週邊設備550或背板560。
導引程式522更新目標文件123時,導引程式522將進行以下的處理步驟,並請配合圖6所示。導引程式522的更新目標文件123包括:
步驟S610:導引程式判斷當前描述文件與目標文件的校驗和值是否相同;
步驟S620:若當前描述文件的校驗和值相異於目標文件的校驗和值,導引程式根據目標文件更新當前描述文件;以及
步驟S630:若當前描述文件的校驗和值等同於目標文件的校驗和值,導引程式發送提示訊息。
導引程式522於更新目標文件123時,導引程式522會判斷目標文件123的校驗和值與當前描述文件523的校驗和值是否相同。校驗和值可以根據目標文件123與雜湊函數所得到的數值結果。一般而言,兩相同內容檔案才會得到相同的校驗和值。因此,導引程式522於更新前會判斷當前描述文件523的校驗和值與目標文件123的校驗和值兩者是否相同。若當前描述文件523的校驗和值相異於目標文件123的校驗和值時,導引程式522才會進入硬體資源文件的更新處理。反之,導引程式522將目標文件123與當前描述文件523視為相同版本的硬體資源文件,並且發出提示訊息藉以提示使用者。例如:於作業系統的顯示畫面中跳現對話框(意即提示訊息)。
首先,導引程式522載入核心中間文件411至記憶體區段。接著,導引程式522根據版本資訊214確認設備中間文件412的種類與數量。導引程式522將各設備中間文件412載入記憶體區段中。導引程式522可以根據設備中間文件412的編號或裝置樹疊加等方式逐一導入週邊設備的裝置樹源資訊。最後,導引程式522將各背板中間文件413載入至記憶體區段。同理,導引程式522也可以透過裝置樹疊加的方式添加背板560與所屬的裝置(例如:感應器或風扇)。
對於同一系列產品的伺服器而言,伺服器的主機板540可搭配不同的週邊設備或背板560。對於此實施例可以配合圖1或圖5的系統架構示意圖,並且同時配合圖7所示。圖7為此實施例的伺服器的目標文件的封裝處理流程示意圖,其係包括以下步驟:
步驟S710:獲取第一設備清單與第二設備清單,第一設備清單具有至少一第一週邊設備,第二設備清單具有至少一第二週邊設備;
步驟S720:根據主機板產生核心裝置樹源資訊;
步驟S730:根據第一設備清單產生每一第一週邊設備的第一設備裝置樹源資訊與至少一第一背板裝置樹源資訊;
步驟S740:根據第二設備清單產生每一第二週邊設備的第二設備裝置樹源資訊與至少一第二背板裝置樹源資訊;以及
步驟S750:將核心裝置樹源資訊、第一設備裝置樹源資訊、第一背板裝置樹源資訊、第二設備裝置樹源資訊與第二背板裝置樹源資訊封裝為目標文件。
第一計算機100獲取主機板540的第一設備清單210與第二設備清單210。第一設備清單210與第二設備清單210係為同一主機板540且不同系列之產品。第一設備清單210記錄第一週邊設備。第二設備清單210記錄第二週邊設備。第一週邊設備的數量或種類可以不完全等同於第二週邊設備的數量或種類。第一處理器130執行處理程式121。
處理程式121根據第一設備清單210產生核心裝置樹源資訊211、第一設備裝置樹源資訊212與第一背板裝置樹源資訊213。處理程式121根據核心裝置樹源資訊211、第二設備清單210產生第二設備裝置樹源資訊212與第一背板裝置樹源資訊213。處理程式121根據所產生的前述裝置樹源資訊進行目標文件123的相關處理,請配合圖8所示:
步驟S810:將第一設備裝置樹源資訊與第二設備裝置樹源資訊分別編譯為第一設備中間文件與第二設備中間文件;
步驟S820:根據第一設備清單的第一背板數量資訊與第二設備清單的第二背板數量資訊分別產生相應數量的第一背板裝置樹源資訊與第二背板裝置樹源資訊;
步驟S830:將第一背板裝置樹源資訊與第二背板裝置樹源資訊分別編譯為第一背板中間文件與第二背板中間文件;
步驟S840:將核心裝置樹源資訊編譯為核心文件;
步驟S850:將第一設備中間文件與第一背板中間文件封裝為第一文件群;
步驟S860:將第二設備中間文件與第二背板中間文件封裝為第二文件群;以及
步驟S870:將核心文件、第一文件群與第二文件群封裝為目標文件。
處理程式121將第一設備裝置樹源資訊(無標號)與第二設備裝置樹源資訊(無標號)分別編譯為第一設備中間文件911與第二設備中間文件921。其中,第一設備中間文件911的數量相應於第一設備樹源資訊的數量;第二設備中間文件921的數量也相應於第二設備樹源資訊的數量。
處理程式121根據第一設備清單210的背板數量(以下稱為第一背板數量)產生第一背板裝置樹源資訊(無標號)。處理程式121根據第二設備清單210的背板數量(以下稱為第二背板數量)產生第二背板裝置樹源資訊213。接著,處理程式121將第一背板裝置樹源資訊213與第二背板裝置樹源資訊213分別編譯為第一背板中間文件912與第二背板中間文件922。其中,第一背板中間文件912的數量等於第一背板數量,第二背板中間文件922的數量等於第二背板數量。
處理程式121將核心裝置樹源資訊211編譯為核心中間文件411。由於第一設備清單210與第二設備清單210均採用相同的主機板540,因此處理程式121編譯前可以根據版本資訊214判斷兩設備清單210。處理程式121可以以最新版本資訊214作為選擇核心裝置樹源資訊211的依據。
處理程式121將第一設備中間文件412與第一背板中間文件413封裝為第一文件群910。處理程式121也將第二設備中間文件412與第二背板中間文件413封裝為第二文件群920。最後,處理程式121將核心中間文件411、第一文件群910與第二文件群920封裝為目標文件123,如圖9所示。圖9中係以虛線框所圈選的多筆文件為同一群組的文件群。若第一計算機100接獲第三設備清單210時,第一計算機100根據前述動作產生第三文件群(無標號)。處理程式121將第一文件群910、第二文件群920與第三文件群封裝於目標文件123中。
第一計算機100將目標文件123發送至第二計算機500。第二計算機500判斷自身的當前描述文件523與所接收的目標文件123的校驗和值是否相同。若當前描述文件523的校驗和值相異於目標文件123的校驗和值,第二計算機500與導引程式522才會進行更新目標文件123的處理。在此實施例中,導引程式522根據主機板540的版本資訊214從目標文件123中選擇第一文件群910或第二文件群920。或者,使用者由目標文件123中選擇其中之一,並由導引程式522進行韌體的更新處理。
為清楚說明此實施例,係以兩設備清單210與所生成的目標文件作為示例,但並非僅侷限於此硬體資源的分配。舉例來說,設備清單I與設備清單II分別記錄兩組伺服器,且兩伺服器係採用相同的主機板,其係分別為伺服器A與伺服器B。伺服器A與伺服器B分別搭載的不同數量的週邊設備550與背板560。請參考表1與圖10,其係為此實施例的設備清單與各項裝置樹源資訊之示意圖。表1中的設備清單記載各週邊設備550與背板560之種類與數量。其中,週邊設備550係為積體匯流排電路(Inter-Integrated Circuit,簡稱I2C),I2C的後綴詞表示設備編號。表1中背板560係為「BP」以示意,BP的後綴詞係為背板編號,每一個背板560可連接不同的設備,所連接設備如表1所示。
表1. 設備清單所載週邊列表
| 主機板 | 週邊設備 | 背板 | |
| 設備清單_I | MB_a | I2C_4; I2C_5 | BP_1(風扇*1、溫度感應器*1); BP_2(風扇*2、溫度感應器*1) |
| 設備清單_II | MB_a | I2C_5; I2C_6; I2C_7 | BP_1(風扇*1、溫度感應器*2) |
處理程式121根據設備清單I與設備清單II分別產生主機板a的核心裝置樹源資訊211、設備裝置樹源資訊212與背板裝置樹源資訊213。由於兩設備清單I、II使用相同的主機板a,因此處理程式121將產生一組核心裝置樹源資訊211。處理程式121根據設備清單I所載的週邊設備550與背板560,處理程式121產生具有I2C_4與I2C_5的設備裝置樹源資訊212,處理程式121產生具有BP_1與BP_2的背板裝置樹源資訊213。同理,處理程式121根據設備清單II產生相應的設備裝置樹源資訊212與背板裝置樹源資訊213。
接著,處理程式121根據設備清單I與設備清單II編譯相應的中間文件,如圖3所示。處理程式121根據設備清單I將各中間文件封裝為對應的第一文件群910,處理程式121根據設備清單II將各中間文件封裝為對應的第二文件群920,如圖9所示。
所述的韌體更新的處理方法與系統提供彈性化的設備韌體的封裝與更新,使得同一目標文件123可以支援多組不同的伺服器與相應週邊設備550。開發人員可以將核心文件任意搭配週邊設備550的硬體描述文件與背板560的硬體描述文件,藉以符合伺服器的不同版本資訊214。
001:韌體更新的處理系統
100:第一計算機
110:第一傳輸單元
120:第一儲存單元
121:處理程式
123:目標文件
130:第一處理器
200:外部伺服器
210:設備清單
211:核心裝置樹源資訊
212:設備裝置樹源資訊
213:背板裝置樹源資訊
214:版本資訊
411:核心中間文件
412:設備中間文件
413:背板中間文件
500:第二計算機
510:第二傳輸單元
520:第二儲存單元
521:更新程式
522:導引程式
523:當前描述文件
530:第二處理器
540:主機板
550:週邊設備
560:背板
910:第一文件群
911:第一設備中間文件
912:第一背板中間文件
920:第二文件群
921:第二設備中間文件
922:第二背板中間文件
S310、S320、S330、S340:步驟
S610、S620、S630:步驟
S710、S720、S730、S740、S750:步驟
S810、S820、S830、S840、S850、S860、S870:步驟
[圖1]係為一實施例的硬體架構示意圖。
[圖2]為一實施例的伺服器與所屬週邊設備的硬體描述文件的更新流程示意圖。
[圖3]為一實施例的裝置樹源資訊與對應的中間文件的示意圖。
[圖4]為一實施例的目標文件的架構示意圖。
[圖5]為一實施例的第一計算機與第二計算機的系統架構示意圖。
[圖6]為一實施例的導引程式更新目標文件的運作流程示意圖。
[圖7]為一實施例的伺服器的目標文件的封裝處理流程示意圖。
[圖8]為一實施例的目標文件編譯的流程示意圖。
[圖9]係為一實施例的目標文件之架構示意圖。
[圖10]係為一實施例的裝置樹源資訊的程式碼示意圖。
001:韌體更新的處理系統
100:第一計算機
110:第一傳輸單元
120:第一儲存單元
121:處理程式
123:目標文件
130:第一處理器
200:外部伺服器
210:設備清單
211:核心裝置樹源資訊
212:設備裝置樹源資訊
213:背板裝置樹源資訊
214:版本資訊
Claims (11)
- 一種韌體更新的處理方法,包括:由一第一計算機向一外部伺服器獲取一主機板的一設備清單,該設備清單記錄至少一週邊設備;該第一計算機根據該主機板產生一核心裝置樹源資訊;該第一計算機根據該設備清單產生每一該週邊設備的一設備裝置樹源資訊與至少一背板裝置樹源資訊;以及該第一計算機將該核心裝置樹源資訊、該設備裝置樹源資訊與該些背板裝置樹源資訊封裝為一目標文件。
- 如請求項1所述的韌體更新的處理方法,其中在將該核心裝置樹源資訊、該設備裝置樹源資訊與該些背板裝置樹源資訊封裝為該目標文件之步驟包括:將每一該設備裝置樹源資訊分別編譯為一設備中間文件;根據該主機板的一背板數量資訊產生相應數量的該些背板裝置樹源資訊;將每一該背板裝置樹源資訊分別編譯為一背板中間文件;將該核心裝置樹源資訊編譯為一核心文件;以及將該設備中間文件、該背板中間文件與該核心文件封裝為該目標文件。
- 如請求項2所述的韌體更新的處理方法,其中在封裝該目標文件之步驟後包括: 由一第一計算機發送該目標文件至一第二計算機;判斷該第二計算機的一當前描述文件與該目標文件的一校驗和值;以及若該當前描述文件的該校驗和值相異於該目標文件的該校驗和值,將該目標文件替代該當前描述文件。
- 如請求項3所述的韌體更新的處理方法,其中在判斷該第二計算機的該當前描述文件與該目標文件的該校驗和值之步驟包括:獲取該第二計算機的一主機板與該主機板的一版本資訊;根據該版本資訊從該目標文件中選擇至少一該背板中間文件、該核心文件與該些設備中間文件;以及根據所選的該背板中間文件、該核心文件與該些設備中間文件產生相應的該校驗和值。
- 一種韌體更新的處理方法,包括:由一第一計算機向一外部伺服器獲取一主機板的一第一設備清單與一第二設備清單,該第一設備清單具有至少一第一週邊設備,該第二設備清單具有至少一第二週邊設備;該第一計算機根據該主機板產生一核心裝置樹源資訊;該第一計算機根據該第一設備清單產生每一該第一週邊設備的一第一設備裝置樹源資訊與至少一第一背板裝置樹源資訊;該第一計算機根據該第二設備清單產生每一該第二週邊設備的一第二設備裝置樹源資訊與至少一第二背板裝置樹源資訊;以及 該第一計算機將該核心裝置樹源資訊、該第一設備裝置樹源資訊、該第一背板裝置樹源資訊、該第二設備裝置樹源資訊與該第二背板裝置樹源資訊封裝為一目標文件。
- 如請求項5所述的韌體更新的處理方法,其中在封裝為該目標文件之步驟包括:將該些第一設備裝置樹源資訊與該些第二設備裝置樹源資訊分別編譯為一第一設備中間文件與一第二設備中間文件;根據該第一設備清單的一第一背板數量資訊與該第二設備清單的一第二背板數量資訊分別產生相應數量的該些第一背板裝置樹源資訊與該些第二背板裝置樹源資訊;將該些第一背板裝置樹源資訊與該些第二背板裝置樹源資訊分別編譯為一第一背板中間文件與一第二背板中間文件;將該核心裝置樹源資訊編譯為一核心文件;將該第一設備中間文件與該第一背板中間文件封裝為一第一文件群;將該第二設備中間文件與該第二背板中間文件封裝為一第二文件群;以及將該核心文件、該第一文件群與該第二文件群封裝為該目標文件。
- 如請求項6所述的韌體更新的處理方法,其中將該第一文件群與該第二文件群封裝為該目標文件之步驟後包括:由一第一計算機發送該目標文件至一第二計算機; 判斷該第二計算機的一當前描述文件與該目標文件的一校驗和值;以及若該當前描述文件的該校驗和值相異於該目標文件的該校驗和值,根據該第二計算機的該主機板與該主機板的一版本資訊從該目標文件中選擇該第一文件群或該第二文件群。
- 一種韌體更新的處理裝置,包括:一第一傳輸單元,從一外部伺服器獲取一設備清單,該設備清單對應於一主機板且該設備清單記錄至少一週邊設備;一第一儲存單元,儲存一處理程式、該設備清單與一目標文件;以及一第一處理器,耦接於該第一傳輸單元與該第一儲存單元,該第一處理器執行該處理程式,該第一處理器根據該主機板產生一核心裝置樹源資訊,該第一處理器根據該設備清單產生至少一設備裝置樹源資訊與至少一背板裝置樹源資訊,該第一處理器將該核心裝置樹源資訊、該些設備裝置樹源資訊與該些背板裝置樹源資訊封裝為該目標文件。
- 如請求項8所述的韌體更新的處理裝置,其中該第一處理器根據該些設備裝置樹源資訊編譯為一設備中間文件,該第一處理器根據該主機板的一背板數量資訊產生相應數量的該些背板裝置樹源資訊,該第一處理器將該核心裝置樹源資訊編譯為一核心文件,該第一處理器將該些背板裝置樹源資訊編譯為一背板中間文件,該第一處理器將該設備中間文件、該背板中間文件與該核心文件封裝為該目標文件。
- 如請求項8所述的韌體更新的處理裝置,其中包括一第二計算機,其係具有一第二傳輸單元、一第二儲存單元與一第二處理器,第二處理器耦接於該第二傳輸單元與該第二儲存單元,該第二傳輸單元連接於該第一傳輸單元,該第二儲存單元儲存一更新程式、一導引程式與一當前描述文件,該第二處理器執行該更新程式與該導引程式,該更新程式透過該第二傳輸單元通過該第一傳輸單元向該第一儲存單元獲取該目標文件,該導引程式根據該目標文件更新該第二計算機。
- 如請求項10所述的韌體更新的處理裝置,其中該導引程式判斷該當前描述文件與該目標文件的一校驗和值是否相同,若該當前描述文件的該校驗和值相異於該目標文件的該校驗和值,該導引程式根據該目標文件更新該當前描述文件。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW110124860A TWI776579B (zh) | 2021-07-06 | 2021-07-06 | 韌體更新的處理方法與裝置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| TW110124860A TWI776579B (zh) | 2021-07-06 | 2021-07-06 | 韌體更新的處理方法與裝置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TWI776579B true TWI776579B (zh) | 2022-09-01 |
| TW202303385A TW202303385A (zh) | 2023-01-16 |
Family
ID=84957895
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW110124860A TWI776579B (zh) | 2021-07-06 | 2021-07-06 | 韌體更新的處理方法與裝置 |
Country Status (1)
| Country | Link |
|---|---|
| TW (1) | TWI776579B (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI826211B (zh) * | 2022-12-28 | 2023-12-11 | 神雲科技股份有限公司 | 嵌入式系統的通用輸入輸出設置方法 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN116700774A (zh) * | 2023-05-29 | 2023-09-05 | 鼎捷软件股份有限公司 | 应用程序管理系统以及应用程序管理方法 |
| US20250217129A1 (en) * | 2024-01-02 | 2025-07-03 | Quanta Computer Inc. | Automatic firmware updating |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100403836C (zh) * | 2005-06-10 | 2008-07-16 | 华为技术有限公司 | 终端设备软件/固件下载更新方法 |
| US20190026022A1 (en) * | 2017-07-20 | 2019-01-24 | Dell Products, Lp | System and Method to Detect Storage Controller Workloads and to Dynamically Split a Backplane |
| TW201911045A (zh) * | 2017-08-09 | 2019-03-16 | 廣達電腦股份有限公司 | 伺服器系統、電腦實施方法及非暫態電腦可讀取媒體 |
| CN110799942A (zh) * | 2017-06-13 | 2020-02-14 | 思科技术公司 | 检测和管理设备和服务配置数据中的反复出现的模式 |
| US20200257518A1 (en) * | 2020-04-24 | 2020-08-13 | Intel Corporation | Device firmware update techniques |
-
2021
- 2021-07-06 TW TW110124860A patent/TWI776579B/zh active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN100403836C (zh) * | 2005-06-10 | 2008-07-16 | 华为技术有限公司 | 终端设备软件/固件下载更新方法 |
| CN110799942A (zh) * | 2017-06-13 | 2020-02-14 | 思科技术公司 | 检测和管理设备和服务配置数据中的反复出现的模式 |
| US20190026022A1 (en) * | 2017-07-20 | 2019-01-24 | Dell Products, Lp | System and Method to Detect Storage Controller Workloads and to Dynamically Split a Backplane |
| TW201911045A (zh) * | 2017-08-09 | 2019-03-16 | 廣達電腦股份有限公司 | 伺服器系統、電腦實施方法及非暫態電腦可讀取媒體 |
| US20200257518A1 (en) * | 2020-04-24 | 2020-08-13 | Intel Corporation | Device firmware update techniques |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| TWI826211B (zh) * | 2022-12-28 | 2023-12-11 | 神雲科技股份有限公司 | 嵌入式系統的通用輸入輸出設置方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| TW202303385A (zh) | 2023-01-16 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| TWI776579B (zh) | 韌體更新的處理方法與裝置 | |
| US10031993B1 (en) | Application store model for dynamic reconfiguration of a field-programmable gate array (FPGA) | |
| CN115605844A (zh) | 用于裸机云部署的微代码(微码)热升级方法 | |
| US10268628B2 (en) | Method for extracting BIOS attributes for BIOS management and system therefor | |
| US20220147335A1 (en) | Method and system for server firmware update framework | |
| CN108898230A (zh) | 一种设备管理方法及管理服务器 | |
| CN114756290B (zh) | 一种操作系统安装方法、设备及可读存储介质 | |
| US20250130829A1 (en) | Systems and methods for simulating hardware devices | |
| US10459742B2 (en) | System and method for operating system initiated firmware update via UEFI applications | |
| US10838471B2 (en) | System for estimating airflow exiting an information handling system and method therefor | |
| US10558453B1 (en) | System and method to achieve shared drive firmware version consistency via ESRT update | |
| US20240134989A1 (en) | Systems and methods for bmc firmware identity based access control | |
| US10996942B1 (en) | System and method for graphics processing unit firmware updates | |
| US10572151B2 (en) | System and method to allocate available high bandwidth memory to UEFI pool services | |
| CN115576577A (zh) | 固件更新的处理方法与装置 | |
| US12423204B2 (en) | Systems and methods to abstract hardware access in baseboard management controllers (BMCS) | |
| US12423256B2 (en) | Systems and methods for desktop bus (D-Bus) caching | |
| US12386967B2 (en) | Hash look-up table to triage catastrophic system failures | |
| CN116881929B (zh) | 安全防护方法、装置、电子设备以及基板控制器芯片 | |
| US20240103836A1 (en) | Systems and methods for topology aware firmware updates in high-availability systems | |
| CN115756624A (zh) | 设备树dtb文件加载方法、系统、电子设备及存储介质 | |
| CN114706715A (zh) | 一种基于bmc的分布式raid的控制方法、装置、设备及介质 | |
| US12443718B2 (en) | Utilizing a hash of a boot path as indication of a secure boot flow | |
| US20250138800A1 (en) | Systems and methods for scanning open source desktop bus (d-bus) code | |
| US12292814B1 (en) | Systems and methods to provide dynamic participation of multiple services for generating health status scores in a D-bus architecture |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| GD4A | Issue of patent certificate for granted invention patent |