TWI776579B - Processing method and device of firmware updating - Google Patents

Processing method and device of firmware updating Download PDF

Info

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
Application number
TW110124860A
Other languages
Chinese (zh)
Other versions
TW202303385A (en
Inventor
王紹宇
孫佩傑
黃添壽
李尚恩
Original Assignee
技嘉科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 技嘉科技股份有限公司 filed Critical 技嘉科技股份有限公司
Priority to TW110124860A priority Critical patent/TWI776579B/en
Application granted granted Critical
Publication of TWI776579B publication Critical patent/TWI776579B/en
Publication of TW202303385A publication Critical patent/TW202303385A/en

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Small-Scale Networks (AREA)

Abstract

The processing method and device of firmware updating is provided. The processing method comprise of the steps obtaining a device list of a server, and the device list has at least one device; creating a core device tree information according to a mainboard of the server; creating a peripheral device tree information according to the device list; creating a backplane device tree information according to the device list; packing the core device tree information, the peripheral device tree information and backplane device tree information into an object firmware.

Description

韌體更新的處理方法與裝置Firmware update processing method and device

關於一種韌體更新方法與裝置,特別有關一種伺服器與其週邊設備的韌體更新的處理方法與裝置。A method and device for updating firmware, in particular, a method and device for updating firmware of a server and its peripheral devices.

隨著各式的運算需求的增加,也帶動伺服器的快速發展。在佈建伺服器時除了要求處理器的運算能力外,也要考量伺服器的擴充能力。一般而言,伺服器可以透過背板(backplane)擴充各式的週邊設備。例如:伺服器透過背板連接外接的儲存裝置、風扇或感應器等。With the increase of various computing demands, it also drives the rapid development of servers. When deploying a server, in addition to the computing power of the processor, the expansion capability of the server should also be considered. Generally speaking, a server can expand various peripheral devices through a backplane. For example, the server is connected to external storage devices, fans or sensors through the backplane.

由於伺服器與各種週邊設備的組合搭配樣式繁多。舉例來說,相同型號的伺服器可能為因應不同數量的刀鋒主機板,所以會配置不同數量的背板、風扇與感應器。如果對每一種主機板與週邊設備提出相應的裝置樹源資訊(Device Tree Source)的開發,這將會大幅提高後端人員的開發與維護的成本。Due to the combination of the server and various peripheral devices, there are many styles. For example, servers of the same model may have different numbers of backplanes, fans, and sensors for different numbers of blade motherboards. If the development of the corresponding device tree source information (Device Tree Source) is proposed for each motherboard and peripheral devices, this will greatly increase the development and maintenance costs of back-end personnel.

有鑑於此,韌體更新的處理方法包括獲取主機板的設備清單,設備清單記錄至少一週邊設備;根據主機板產生核心裝置樹源資訊;根據設備清單產生每一週邊設備的設備裝置樹源資訊與至少一背板裝置樹源資訊;將核心裝置樹源資訊、設備裝置樹源資訊與所述背板裝置樹源資訊封裝為目標文件。所述的韌體更新的處理方法可以對同一系列的伺服器提供相同的目標文件,並且根據增設的週邊設備部署相應的硬體描述資訊。除了方便客戶端獲取欲更新的目標文件外,後端開發人員可以降低重複維護的成本。In view of this, the processing method of firmware update includes obtaining a device list of the motherboard, and the device list records at least one peripheral device; generating core device tree source information according to the motherboard; generating device device tree source information of each peripheral device according to the device list and at least one backplane device tree source information; the core device tree source information, the equipment device tree source information and the backplane device tree source information are encapsulated into object files. The processing method of the firmware update can provide the same target file to the same series of servers, and deploy the corresponding hardware description information according to the added peripheral devices. In addition to facilitating the client to obtain the target file to be updated, the back-end developer can reduce the cost of repeated maintenance.

在一些實施例中,在將核心裝置樹源資訊、設備裝置樹源資訊與所述背板裝置樹源資訊封裝為目標文件之步驟包括將所述設備裝置樹源資訊編譯為設備中間文件;根據主機板的背板數量資訊產生相應數量的所述背板裝置樹源資訊;將所述背板裝置樹源資訊編譯為背板中間文件;將核心裝置樹源資訊編譯為核心文件;將設備中間文件、背板中間文件與核心文件封裝為目標文件。In some embodiments, the step of encapsulating the core device tree source information, the equipment device tree source information and the backplane device tree source information into object files includes compiling the equipment device tree source information into a device intermediate file; according to The backplane quantity information of the motherboard generates a corresponding amount of the backplane device tree source information; compiling the backplane device tree source information into a backplane intermediate file; compiling the core device tree source information into a core file; Files, backplane intermediate files and core files are encapsulated as object files.

在一些實施例中,在封裝目標文件之步驟後包括由第一計算機發送目標文件至第二計算機;判斷第二計算機的當前描述文件與目標文件的校驗和值;若當前描述文件的校驗和值相異於目標文件的校驗和值,根據目標文件更新當前描述文件。In some embodiments, after the step of encapsulating the target file, the first computer includes sending the target file to the second computer; judging the checksum value of the current description file and the target file of the second computer; The sum value is different from the checksum value of the target file, and the current description file is updated according to the target file.

在一些實施例中,韌體更新的處理方法包括獲取主機板的第一設備清單與第二設備清單,第一設備清單具有至少一第一週邊設備,第二設備清單具有至少一第二週邊設備;根據主機板產生核心裝置樹源資訊;根據第一設備清單產生每一第一週邊設備的第一設備裝置樹源資訊與至少一第一背板裝置樹源資訊;根據第二設備清單產生每一第二週邊設備的第二設備裝置樹源資訊與至少一第二背板裝置樹源資訊;將核心裝置樹源資訊、第一設備裝置樹源資訊、第一背板裝置樹源資訊、第二設備裝置樹源資訊與第二背板裝置樹源資訊封裝為目標文件。In some embodiments, the firmware update processing method includes acquiring a first device list and a second device list of the motherboard, the first device list having at least one first peripheral device, and the second device list having at least one second peripheral device ; Generate core device tree source information according to the motherboard; generate first equipment device tree source information and at least one first backplane device tree source information of each first peripheral device according to the first equipment list; A second equipment device tree source information and at least one second backplane device tree source information of a second peripheral device; the core device tree source information, the first equipment device tree source information, the first backplane device tree source information, the first The source information of the second equipment device tree and the source information of the second backplane device tree are encapsulated into object files.

在一些實施例中,在封裝為目標文件之步驟包括將所述第一設備裝置樹源資訊與所述第二設備裝置樹源資訊分別編譯為第一設備中間文件與第二設備中間文件;根據主機板的第一背板數量資訊與第二背板數量資訊分別產生相應數量的所述第一背板裝置樹源資訊與所述第二背板裝置樹源資訊;將所述第一背板裝置樹源資訊與所述第二背板裝置樹源資訊分別編譯為第一背板中間文件與第二背板中間文件;將核心裝置樹源資訊編譯為核心文件;將第一設備中間文件與第一背板中間文件封裝為第一文件群;將第二設備中間文件與第二背板中間文件封裝為第二文件群;將該核心文件、第一文件群與第二文件群封裝為目標文件。In some embodiments, the step of encapsulating into an object file includes compiling the first equipment device tree source information and the second equipment device tree source information into a first equipment intermediate file and a second equipment intermediate file, respectively; according to The first backplane quantity information and the second backplane quantity information of the motherboard respectively generate corresponding quantities of the first backplane device tree source information and the second backplane device tree source information; The device tree source information and the second backplane device tree source information are compiled into a first backplane intermediate file and a second backplane intermediate file respectively; the core device tree source information is compiled into a core file; the first device intermediate file and The first backplane intermediate file is encapsulated into a first file group; the second device intermediate file and the second backplane intermediate file are encapsulated into a second file group; the core file, the first file group and the second file group are encapsulated as targets document.

在一些實施例中,將第一文件群與第二文件群封裝為目標文件之步驟後包括由第一計算機發送目標文件至第二計算機;判斷第二計算機的當前描述文件與目標文件的校驗和值;若當前描述文件的校驗和值相異於目標文件的校驗和值,根據第二計算機的主機板與版本資訊從目標文件中選擇第一文件群或第二文件群。In some embodiments, the step of encapsulating the first file group and the second file group into target files includes sending the target file from the first computer to the second computer; judging the verification between the current description file of the second computer and the target file Sum value; if the checksum value of the current description file is different from the checksum value of the target file, select the first file group or the second file group from the target file according to the motherboard and version information of the second computer.

在一些實施例中,韌體更新的處理裝置包括第一傳輸單元、第一儲存單元與第一處理器;第一傳輸單元獲取主機板的設備清單,設備清單記錄至少一週邊設備;第一儲存單元儲存處理程式、設備清單與目標文件;第一處理器耦接於第一傳輸單元與第一儲存單元,第一處理器執行處理程式,第一處理器根據主機板產生核心裝置樹源資訊,第一處理器根據設備清單產生至少一設備裝置樹源資訊與至少一背板裝置樹源資訊,第一處理器將核心裝置樹源資訊、所述設備裝置樹源資訊與所述背板裝置樹源資訊封裝為目標文件。In some embodiments, the firmware update processing device includes a first transmission unit, a first storage unit, and a first processor; the first transmission unit acquires a device list of the motherboard, and the device list records at least one peripheral device; the first storage unit The unit stores the processing program, the device list and the target file; the first processor is coupled to the first transmission unit and the first storage unit, the first processor executes the processing program, and the first processor generates the core device tree source information according to the motherboard, The first processor generates at least one equipment device tree source information and at least one backplane device tree source information according to the equipment list, and the first processor generates the core device tree source information, the equipment device tree source information and the backplane device tree Source information is packaged into object files.

在一些實施例中,第二計算機具有第二傳輸單元、第二儲存單元與第二處理器,第二處理器耦接於第二傳輸單元與第二儲存單元,第二傳輸單元連接於第一計算機,第二儲存單元儲存更新程式、導引程式與當前描述文件,第二處理器執行更新程式與導引程式,更新程式透過第二傳輸單元通過第一傳輸單元向第一儲存單元獲取目標文件,導引程式根據目標文件更新第二計算機,導引程式根據目標文件更新第二計算機。In some embodiments, the second computer has a second transmission unit, a second storage unit and a second processor, the second processor is coupled to the second transmission unit and the second storage unit, and the second transmission unit is connected to the first transmission unit The computer, the second storage unit stores the update program, the guide program and the current description file, the second processor executes the update program and the guide program, and the update program obtains the target file from the first storage unit through the second transmission unit through the first transmission unit , the bootstrap program updates the second computer according to the target file, and the bootstrap program updates the second computer according to the target file.

在一些實施例中,導引程式判斷當前描述文件與目標文件的校驗和值是否相同,若當前描述文件的校驗和值相異於目標文件的校驗和值,導引程式根據目標文件更新當前描述文件。In some embodiments, the bootstrap program determines whether the checksum value of the current description file and the target file are the same. If the checksum value of the current description file is different from the checksum value of the target file Update the current description file.

所述的韌體更新的處理方法與系統提供彈性化的設備韌體的封裝與更新,使得同一目標文件可以支援多組不同的伺服器與相應週邊設備。開發人員可以將核心文件任意搭配設備韌體與背板韌體,藉以符合伺服器的不同版本資訊。The firmware update processing method and system provide flexible packaging and update of device firmware, so that the same target file can support multiple sets of different servers and corresponding peripheral devices. Developers can arbitrarily match the core files with the device firmware and backplane firmware to match the information of different versions of the server.

請參考圖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)。Please refer to FIG. 1 , which is a schematic diagram of a hardware structure of an embodiment. The firmware update processing system 001 includes a processing device (corresponding to the first computer 100 in FIG. 1 ) and an external server 200 . For convenience of description, the processing device is hereinafter referred to as the first computer 100 . The first computer 100 includes a first transmission unit 110 , a first storage unit 120 and a first processor 130 . The first processor 130 is coupled to the first transmission unit 110 and the first storage unit 120 . The first transmission unit 110 obtains the device list 210 of the motherboard. The first transmission unit 110 can be connected to the external server 200 through the Ethernet network or access the storage device of the communication bus to obtain a device list 210 . The communication bus can be Universal Serial Bus (USB), Serial Advanced Technology Attachment (SATA), Peripheral Component Interconnect (PCI) or fast peripheral Component Interconnect Standard (Peripheral Component Interconnect Express, PCIE).

設備清單210中記錄主機板的版本資訊214與主機板所連接的週邊設備。版本資訊214可以是但不限定為主機板的型號、當前描述文件的版本、產品專案或第一計算機100的產品型號等。所述週邊設備可以是但不限定為背板(backplane)、風扇、感測器、連接埠、訊號燈或控制晶片等。此外,設備清單210所載的背板數量係以同一系列產品的伺服器所連接的最大值與所連接的種類為主。舉例來說,採用相同主機板的伺服器存在兩系列產品,其係分別為伺服器A與伺服器B。伺服器A可連接10組背板,而伺服器B可連接5組背板。設備清單210中將會記錄該主機板的可連接背板數量為10組。The device list 210 records the version information 214 of the motherboard and peripheral devices connected to the motherboard. The version information 214 may be, but is not limited to, the model of the motherboard, the version of the current description file, the product project, or the product model of the first computer 100 . The peripheral device can be, but not limited to, a backplane, a fan, a sensor, a connection port, a signal light, or a control chip, and the like. In addition, the number of backplanes contained in the equipment list 210 is mainly based on the maximum value and the connected type of the servers of the same series of products. For example, there are two series of servers using the same motherboard, which are server A and server B respectively. Server A can be connected to 10 sets of backplanes, while server B can be connected to 5 sets of backplanes. The number of connectable backplanes for the motherboard will be recorded in the device list 210 as 10 groups.

在一些實施例中,第一計算機100可以選擇性連接至外部伺服器200。外部伺服器200根據各開發專案的物料表(bill of materials,BOM)產生相應的設備清單210。第一計算機100透過第一傳輸單元110獲取開發專案的設備清單210。設備清單210記錄開發專案的伺服器型號、背板種類與數量、週邊設備的種類與數量。不同的開發專案可能採用相同的伺服器,但伺服器所屬的背板與週邊設備會有所差異。In some embodiments, the first computer 100 may selectively connect to the external server 200 . The external server 200 generates a corresponding equipment list 210 according to the bill of materials (BOM) of each development project. The first computer 100 obtains the equipment list 210 of the development project through the first transmission unit 110 . The equipment list 210 records the server model, the type and quantity of the backplane, and the type and quantity of the peripheral equipment of the development project. Different development projects may use the same server, but the backplane and peripheral equipment to which the server belongs will be different.

第一儲存單元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)的輸出結果。The first storage unit 120 stores the processing program 121 , the equipment list 210 , the target file 123 and the operating system (without reference numerals). The first processor 130 executes the operating system and the processing program 121 . The following description will focus on the processing program 121 for convenience, but in the actual operation, the first processor 130 is still used as the core of the physical processing. The types of operating systems are Linux operating systems, UNIX operating systems or other BSD operating systems. The processing program 121 is used to generate the device tree source information (DTS) and the target file 123 . The processing program 121 generates the corresponding device tree source information according to the peripheral devices in the device list 210, and compiles the device tree source information into the output of the Device Tree Blob (DTB) or the Device Tree Blob Overlay (DTBO) result.

在此實施例中,處理程式121可以根據設備清單210所載的主機板與週邊設備產生對應的裝置樹源資訊。處理程式121根據主機板與版本資訊214產生核心裝置樹源資訊211。處理程式121根據週邊設備產生設備裝置樹源資訊212。處理程式121根據背板的種類與數量產生背板裝置樹源資訊213。處理程式121可以根據週邊設備的種類分別產生多種的設備裝置樹源資訊212,並根據相同種類的週邊設備產生相應數量的設備裝置樹源資訊212。In this embodiment, the processing program 121 can generate corresponding device tree source information according to the motherboard and peripheral devices contained in the device list 210 . The processing program 121 generates the core device tree source information 211 according to the motherboard and version information 214 . The processing program 121 generates the device device tree source information 212 according to the peripheral devices. The processing program 121 generates the backplane device tree source information 213 according to the type and quantity of the backplane. The processing program 121 can respectively generate a variety of equipment device tree source information 212 according to the types of peripheral equipment, and generate a corresponding number of equipment device tree source information 212 according to the same type of peripheral equipment.

為進一步說明伺服器與所屬週邊設備的硬體描述文件的更新的處理方法,請配合圖2所示。伺服器與所屬週邊設備的硬體描述文件的更新方法包括以下步驟: 步驟S310:第一計算機獲取主機板的設備清單,設備清單記錄至少一週邊設備; 步驟S320:根據主機板產生核心裝置樹源資訊; 步驟S330:根據設備清單產生每一週邊設備的設備裝置樹源資訊與至少一背板裝置樹源資訊;以及 步驟S340:將核心裝置樹源資訊、設備裝置樹源資訊與所述背板裝置樹源資訊封裝為目標文件。 To further illustrate the processing method for updating the hardware description files of the server and the peripheral devices to which it belongs, please refer to FIG. 2 . The method for updating the hardware description files of the server and its peripheral devices includes the following steps: Step S310: the first computer obtains a device list of the motherboard, and the device list records at least one peripheral device; Step S320: Generate core device tree source information according to the motherboard; Step S330 : generating equipment device tree source information and at least one backplane device tree source information of each peripheral device according to the equipment list; and Step S340: Encapsulate the core device tree source information, the equipment device tree source information and the backplane device tree source information into target files.

首先,第一計算機100透過第一傳輸單元110獲取主機板的設備清單210。第一計算機100執行處理程式121,處理程式121根據設備清單210所記錄的主機板產生核心裝置樹源資訊211。處理程式121根據設備清單210所記錄週邊設備產生設備裝置樹源資訊212與背板裝置樹源資訊213。First, the first computer 100 obtains the device list 210 of the motherboard through the first transmission unit 110 . The first computer 100 executes the processing program 121 , and the processing program 121 generates the core device tree source information 211 according to the motherboard recorded in the device list 210 . The processing program 121 generates the device device tree source information 212 and the backplane device tree source information 213 according to the peripheral devices recorded in the device list 210 .

接著,處理程式121將設備裝置樹源資訊212編譯為設備中間文件412。處理程式121可以使用裝置樹編譯器(Device Tree Compiler,DTC)對設備裝置樹源資訊212進行編譯。處理程式121根據設備裝置樹源資訊212的種類與數量逐一產生設備中間文件412。換言之,每一個設備中間文件412係對應一個設備裝置樹源資訊212。Next, the processing program 121 compiles the device device tree source information 212 into a device intermediate file 412 . The processing program 121 can use a Device Tree Compiler (DTC) to compile the device tree source information 212 . The processing program 121 generates the device intermediate files 412 one by one according to the type and quantity of the device device tree source information 212 . In other words, each device intermediate file 412 corresponds to one device device tree source information 212 .

處理程式121從設備清單210中獲取背板的數量或種類的資訊。處理程式121根據背板數量資訊產生相應數量的背板裝置樹源資訊213。處理程式121根據背板的種類與數量對背板裝置樹源資訊213進行編譯,並產生相應種類與數量的背板中間文件413。The processing program 121 obtains information on the number or type of backplanes from the device list 210 . The processing program 121 generates a corresponding number of backplane device tree source information 213 according to the backplane quantity information. The processing program 121 compiles the backplane device tree source information 213 according to the type and quantity of the backplane, and generates a backplane intermediate file 413 corresponding to the type and quantity.

在一實施例中,處理程式121可以對背板裝置樹源資訊213使用裝置樹疊加(Device Tree Overlay)或裝置樹塊疊加(Device Tree Blob Overlay)的呼叫處理。處理程式121可以透過前述的疊加處理,藉以在現有的裝置樹源資訊的基礎上,增加新週邊設備的裝置樹源資訊。疊加處理可用於協調各背板的硬體資源共享,例如:背板對於接腳的優先權、記憶體區段、中斷處理或暫存器。In one embodiment, the processing program 121 may use a Device Tree Overlay or a Device Tree Blob Overlay call processing for the backplane device tree source information 213 . The processing program 121 can add the device tree source information of the new peripheral device on the basis of the existing device tree source information through the aforementioned superposition processing. Overlay processing can be used to coordinate the sharing of hardware resources across backplanes, such as backplane priorities for pins, memory segments, interrupt handling, or registers.

接著,處理程式121對主機板的核心裝置樹源資訊211編譯為核心中間文件411。請參考圖3所示,其係為一實施例的裝置樹源資訊與對應的中間文件的示意圖。處理程式121完成前述的核心中間文件411、設備中間文件412與背板中間文件413後,處理程式121將主機板的版本資訊214、核心中間文件411、設備中間文件412與背板中間文件413進行封裝,而封裝結果係為目標文件123。Next, the processing program 121 compiles the core device tree source information 211 of the motherboard into a core intermediate file 411 . Please refer to FIG. 3 , which is a schematic diagram of device tree source information and corresponding intermediate files according to an embodiment. After the processing program 121 completes the aforementioned core intermediate file 411 , the device intermediate file 412 and the backplane intermediate file 413 , the processing program 121 processes the version information 214 of the motherboard, the core intermediate file 411 , the device intermediate file 412 and the backplane intermediate file 413 . packaged, and the packaged result is the object file 123 .

處理程式121根據核心中間文件411、設備中間文件412與背板中間文件413進行封裝,例如圖4所示。處理程式121將目標文件123儲存於第一儲存單元120。此外,在目標文件123於封裝的過程中,處理程式121也可以計算目標文件123的校驗和值(checksum)。處理程式121封裝目標文件123時,處理程式121也會將校驗和值一併加入。The processing program 121 is packaged according to the core intermediate file 411 , the device intermediate file 412 and the backplane intermediate file 413 , as shown in FIG. 4 , for example. The processing program 121 stores the target file 123 in the first storage unit 120 . In addition, during the process of encapsulating the object file 123 , the processing program 121 may also calculate the checksum value of the object file 123 . When the processing program 121 encapsulates the target file 123, the processing program 121 also adds the checksum value together.

在一實施例中,韌體更新的處理系統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運行中所使用的硬體描述檔案。In one embodiment, the firmware update processing system 001 further includes a second computer 500 . The second computer 500 includes a motherboard 540 , a second transmission unit 510 , a second storage unit 520 and a second processor 530 , as shown in FIG. 5 . The second computer 500 may be, but is not limited to, a server, a personal computer, or a notebook computer with an X86 architecture, and may also be an Advanced RISC Machine (ARM) computing device. The second processor 530 is coupled to the second transmission unit 510 and the second storage unit 520 . The second transmission unit 510 is connected to the first computer 100 , and the second transmission unit 510 is used for transmitting the target file 123 . The second storage unit 520 stores the update program 521 , the boot program 522 and the current description file 523 . The current description file 523 is the hardware description file used in the operation of the second computer 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。The second processor 530 executes the update program 521 and the boot program 522 . The second processor 530 may be a baseboard control manager (Board Management Controller, BMC) or a central processing unit (Central Processing Unit, CPU), which is determined according to the hardware architecture of the second computer 500 . The update program 521 obtains the corresponding target file 123 from the first computer 100 according to the version information 214 of the motherboard 540 of the second computer 500 . Alternatively, the user obtains the target file 123 with a specific version number from the first computer 100 through the update program 521 . The bootstrap 522 updates the current description file 523 of the second computer 500 according to the target file 123 . The boot program 522 can be implemented by Uboot of the Linux operating system or a bootloader of the UNIX operating system. The motherboard 540 can expand the peripheral device 550 or the backplane 560 according to the version information 214 .

導引程式522更新目標文件123時,導引程式522將進行以下的處理步驟,並請配合圖6所示。導引程式522的更新目標文件123包括: 步驟S610:導引程式判斷當前描述文件與目標文件的校驗和值是否相同; 步驟S620:若當前描述文件的校驗和值相異於目標文件的校驗和值,導引程式根據目標文件更新當前描述文件;以及 步驟S630:若當前描述文件的校驗和值等同於目標文件的校驗和值,導引程式發送提示訊息。 When the navigation program 522 updates the target file 123, the navigation program 522 will perform the following processing steps, which are shown in FIG. 6 . The update target file 123 of the bootstrap 522 includes: Step S610: the bootloader determines whether the checksum values of the current description file and the target file are the same; Step S620: If the checksum value of the current description file is different from the checksum value of the target file, the bootloader updates the current description file according to the target file; and Step S630: If the checksum value of the current description file is equal to the checksum value of the target file, the bootloader sends a prompt message.

導引程式522於更新目標文件123時,導引程式522會判斷目標文件123的校驗和值與當前描述文件523的校驗和值是否相同。校驗和值可以根據目標文件123與雜湊函數所得到的數值結果。一般而言,兩相同內容檔案才會得到相同的校驗和值。因此,導引程式522於更新前會判斷當前描述文件523的校驗和值與目標文件123的校驗和值兩者是否相同。若當前描述文件523的校驗和值相異於目標文件123的校驗和值時,導引程式522才會進入硬體資源文件的更新處理。反之,導引程式522將目標文件123與當前描述文件523視為相同版本的硬體資源文件,並且發出提示訊息藉以提示使用者。例如:於作業系統的顯示畫面中跳現對話框(意即提示訊息)。When the navigator 522 updates the target file 123 , the navigator 522 determines whether the checksum value of the target file 123 is the same as the checksum value of the current description file 523 . The checksum value can be based on the numerical result obtained by the target file 123 and the hash function. In general, two identical content files will get the same checksum value. Therefore, the bootloader 522 determines whether the checksum value of the current description file 523 and the checksum value of the target file 123 are the same before updating. If the checksum value of the current description file 523 is different from the checksum value of the target file 123, the bootstrap program 522 will only enter the update process of the hardware resource file. On the contrary, the boot program 522 regards the target file 123 and the current description file 523 as the same version of the hardware resource file, and issues a prompt message to prompt the user. For example: a dialog box (meaning a prompt message) pops up on the display screen of the operating system.

首先,導引程式522載入核心中間文件411至記憶體區段。接著,導引程式522根據版本資訊214確認設備中間文件412的種類與數量。導引程式522將各設備中間文件412載入記憶體區段中。導引程式522可以根據設備中間文件412的編號或裝置樹疊加等方式逐一導入週邊設備的裝置樹源資訊。最後,導引程式522將各背板中間文件413載入至記憶體區段。同理,導引程式522也可以透過裝置樹疊加的方式添加背板560與所屬的裝置(例如:感應器或風扇)。First, the bootloader 522 loads the kernel intermediate file 411 into the memory segment. Next, the boot program 522 confirms the type and quantity of the device intermediate file 412 according to the version information 214 . The bootloader 522 loads each device intermediate file 412 into the memory segment. The bootstrap program 522 can import the device tree source information of the peripheral devices one by one according to the serial number of the device intermediate file 412 or the superposition of the device tree. Finally, the bootloader 522 loads each backplane intermediate file 413 into the memory segment. Similarly, the bootstrap program 522 can also add the backplane 560 and the associated device (for example, a sensor or a fan) by stacking the device tree.

對於同一系列產品的伺服器而言,伺服器的主機板540可搭配不同的週邊設備或背板560。對於此實施例可以配合圖1或圖5的系統架構示意圖,並且同時配合圖7所示。圖7為此實施例的伺服器的目標文件的封裝處理流程示意圖,其係包括以下步驟: 步驟S710:獲取第一設備清單與第二設備清單,第一設備清單具有至少一第一週邊設備,第二設備清單具有至少一第二週邊設備; 步驟S720:根據主機板產生核心裝置樹源資訊; 步驟S730:根據第一設備清單產生每一第一週邊設備的第一設備裝置樹源資訊與至少一第一背板裝置樹源資訊; 步驟S740:根據第二設備清單產生每一第二週邊設備的第二設備裝置樹源資訊與至少一第二背板裝置樹源資訊;以及 步驟S750:將核心裝置樹源資訊、第一設備裝置樹源資訊、第一背板裝置樹源資訊、第二設備裝置樹源資訊與第二背板裝置樹源資訊封裝為目標文件。 For servers of the same series, the main board 540 of the server can be matched with different peripheral devices or backplanes 560 . For this embodiment, the schematic diagram of the system architecture shown in FIG. 1 or FIG. 5 may be used, and the system shown in FIG. 7 may be used at the same time. FIG. 7 is a schematic diagram of the encapsulation process flow of the target file of the server according to this embodiment, which includes the following steps: Step S710: Obtain a first device list and a second device list, the first device list has at least one first peripheral device, and the second device list has at least one second peripheral device; Step S720: Generate core device tree source information according to the motherboard; Step S730: Generate first device device tree source information and at least one first backplane device tree source information of each first peripheral device according to the first device list; Step S740: Generate second device device tree source information and at least one second backplane device tree source information of each second peripheral device according to the second device list; and Step S750: Encapsulate the core device tree source information, the first equipment device tree source information, the first backplane device tree source information, the second equipment device tree source information, and the second backplane device tree source information into object files.

第一計算機100獲取主機板540的第一設備清單210與第二設備清單210。第一設備清單210與第二設備清單210係為同一主機板540且不同系列之產品。第一設備清單210記錄第一週邊設備。第二設備清單210記錄第二週邊設備。第一週邊設備的數量或種類可以不完全等同於第二週邊設備的數量或種類。第一處理器130執行處理程式121。The first computer 100 acquires the first device list 210 and the second device list 210 of the motherboard 540 . The first device list 210 and the second device list 210 are products of the same motherboard 540 and different series. The first device list 210 records the first peripheral device. The second device list 210 records second peripheral devices. The number or variety of first peripheral devices may not be exactly the same as the number or variety of second peripheral devices. The first processor 130 executes the processing program 121 .

處理程式121根據第一設備清單210產生核心裝置樹源資訊211、第一設備裝置樹源資訊212與第一背板裝置樹源資訊213。處理程式121根據核心裝置樹源資訊211、第二設備清單210產生第二設備裝置樹源資訊212與第一背板裝置樹源資訊213。處理程式121根據所產生的前述裝置樹源資訊進行目標文件123的相關處理,請配合圖8所示: 步驟S810:將第一設備裝置樹源資訊與第二設備裝置樹源資訊分別編譯為第一設備中間文件與第二設備中間文件; 步驟S820:根據第一設備清單的第一背板數量資訊與第二設備清單的第二背板數量資訊分別產生相應數量的第一背板裝置樹源資訊與第二背板裝置樹源資訊; 步驟S830:將第一背板裝置樹源資訊與第二背板裝置樹源資訊分別編譯為第一背板中間文件與第二背板中間文件; 步驟S840:將核心裝置樹源資訊編譯為核心文件; 步驟S850:將第一設備中間文件與第一背板中間文件封裝為第一文件群; 步驟S860:將第二設備中間文件與第二背板中間文件封裝為第二文件群;以及 步驟S870:將核心文件、第一文件群與第二文件群封裝為目標文件。 The processing program 121 generates the core device tree source information 211 , the first equipment device tree source information 212 and the first backplane device tree source information 213 according to the first device list 210 . The processing program 121 generates the second device device tree source information 212 and the first backplane device tree source information 213 according to the core device tree source information 211 and the second device list 210 . The processing program 121 performs related processing on the target file 123 according to the generated device tree source information, as shown in FIG. 8 : Step S810: Compile the first equipment device tree source information and the second equipment device tree source information into the first equipment intermediate file and the second equipment intermediate file respectively; Step S820: respectively generating a corresponding number of first backplane device tree source information and second backplane device tree source information according to the first backplane quantity information of the first equipment list and the second backplane quantity information of the second equipment list; Step S830: Compile the first backplane device tree source information and the second backplane device tree source information into a first backplane intermediate file and a second backplane intermediate file, respectively; Step S840: Compile the core device tree source information into a core file; Step S850: encapsulating the first device intermediate file and the first backplane intermediate file into a first file group; Step S860: encapsulating the second device intermediate file and the second backplane intermediate file into a second file group; and Step S870: Encapsulate the core file, the first file group and the second file group into a target file.

處理程式121將第一設備裝置樹源資訊(無標號)與第二設備裝置樹源資訊(無標號)分別編譯為第一設備中間文件911與第二設備中間文件921。其中,第一設備中間文件911的數量相應於第一設備樹源資訊的數量;第二設備中間文件921的數量也相應於第二設備樹源資訊的數量。The processing program 121 compiles the source information of the first equipment device tree (without labels) and the source information of the second equipment device tree (without labels) into the first equipment intermediate file 911 and the second equipment intermediate file 921 respectively. The number of the first device intermediate files 911 corresponds to the number of source information of the first device tree; the number of the second device intermediate files 921 also corresponds to the number of source information of the second device tree.

處理程式121根據第一設備清單210的背板數量(以下稱為第一背板數量)產生第一背板裝置樹源資訊(無標號)。處理程式121根據第二設備清單210的背板數量(以下稱為第二背板數量)產生第二背板裝置樹源資訊213。接著,處理程式121將第一背板裝置樹源資訊213與第二背板裝置樹源資訊213分別編譯為第一背板中間文件912與第二背板中間文件922。其中,第一背板中間文件912的數量等於第一背板數量,第二背板中間文件922的數量等於第二背板數量。The processing program 121 generates first backplane device tree source information (unlabeled) according to the number of backplanes in the first device list 210 (hereinafter referred to as the first number of backplanes). The processing program 121 generates the second backplane device tree source information 213 according to the number of backplanes in the second device list 210 (hereinafter referred to as the second backplane number). Next, the processing program 121 compiles the first backplane device tree source information 213 and the second backplane device tree source information 213 into the first backplane intermediate file 912 and the second backplane intermediate file 922, respectively. The number of the first backplane intermediate files 912 is equal to the number of the first backplanes, and the number of the second backplane intermediate files 922 is equal to the number of the second backplanes.

處理程式121將核心裝置樹源資訊211編譯為核心中間文件411。由於第一設備清單210與第二設備清單210均採用相同的主機板540,因此處理程式121編譯前可以根據版本資訊214判斷兩設備清單210。處理程式121可以以最新版本資訊214作為選擇核心裝置樹源資訊211的依據。The processing program 121 compiles the core device tree source information 211 into a core intermediate file 411 . Since the first device list 210 and the second device list 210 both use the same motherboard 540 , the processing program 121 can determine the two device lists 210 according to the version information 214 before compiling. The processing program 121 can use the latest version information 214 as a basis for selecting the core device tree source information 211 .

處理程式121將第一設備中間文件412與第一背板中間文件413封裝為第一文件群910。處理程式121也將第二設備中間文件412與第二背板中間文件413封裝為第二文件群920。最後,處理程式121將核心中間文件411、第一文件群910與第二文件群920封裝為目標文件123,如圖9所示。圖9中係以虛線框所圈選的多筆文件為同一群組的文件群。若第一計算機100接獲第三設備清單210時,第一計算機100根據前述動作產生第三文件群(無標號)。處理程式121將第一文件群910、第二文件群920與第三文件群封裝於目標文件123中。The processing program 121 encapsulates the first device intermediate file 412 and the first backplane intermediate file 413 into a first file group 910 . The processing program 121 also encapsulates the second device intermediate file 412 and the second backplane intermediate file 413 into a second file group 920 . Finally, the processing program 121 encapsulates the core intermediate file 411 , the first file group 910 and the second file group 920 into the target file 123 , as shown in FIG. 9 . In FIG. 9 , the multiple files circled by the dotted frame are the file groups of the same group. If the first computer 100 receives the third device list 210, the first computer 100 generates a third file group (without a label) according to the aforementioned actions. The processing program 121 encapsulates the first file group 910 , the second file group 920 and the third file group in the target file 123 .

第一計算機100將目標文件123發送至第二計算機500。第二計算機500判斷自身的當前描述文件523與所接收的目標文件123的校驗和值是否相同。若當前描述文件523的校驗和值相異於目標文件123的校驗和值,第二計算機500與導引程式522才會進行更新目標文件123的處理。在此實施例中,導引程式522根據主機板540的版本資訊214從目標文件123中選擇第一文件群910或第二文件群920。或者,使用者由目標文件123中選擇其中之一,並由導引程式522進行韌體的更新處理。The first computer 100 sends the target file 123 to the second computer 500 . The second computer 500 determines whether the checksum value of its current description file 523 and the received target file 123 are the same. If the checksum value of the current description file 523 is different from the checksum value of the target file 123 , the second computer 500 and the bootstrap program 522 will only perform the process of updating the target file 123 . In this embodiment, the boot program 522 selects the first file group 910 or the second file group 920 from the target files 123 according to the version information 214 of the motherboard 540 . Alternatively, the user selects one of the target files 123, and the boot program 522 performs the firmware update process.

為清楚說明此實施例,係以兩設備清單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所示。   主機板 週邊設備 背板 設備清單_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) 表1. 設備清單所載週邊列表 To illustrate this embodiment clearly, two device lists 210 and the generated object file are taken as an example, but are not limited to the allocation of hardware resources. For example, the equipment list I and the equipment list II respectively record two sets of servers, and the two servers use the same motherboard, which are server A and server B respectively. Different numbers of peripheral devices 550 and backplanes 560 are mounted on the server A and the server B, respectively. Please refer to Table 1 and FIG. 10 , which are schematic diagrams of the device list and source information of each device tree in this embodiment. The equipment list in Table 1 describes the types and quantities of the peripheral equipment 550 and the backplane 560 . The peripheral device 550 is an integrated bus circuit (Inter-Integrated Circuit, I2C for short), and the suffix of I2C represents the device number. In Table 1, the backplane 560 is represented by "BP", and the suffix of BP is the backplane number. Each backplane 560 can be connected to different devices, and the connected devices are shown in Table 1. motherboard Peripherals backplane Equipment list_I MB_a I2C_4; I2C_5 BP_1 (fan*1, temperature sensor*1); BP_2 (fan*2, temperature sensor*1) Equipment List_II MB_a I2C_5; I2C_6; I2C_7 BP_1 (fan*1, temperature sensor*2) Table 1. List of peripherals included in the equipment list

處理程式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。The processing program 121 generates the core device tree source information 211 , the device device tree source information 212 and the backplane device tree source information 213 of the motherboard a according to the device list I and the device list II, respectively. Since the two device lists I and II use the same motherboard a, the processing program 121 will generate a set of core device tree source information 211 . The processing program 121 generates the device tree source information 212 with I2C_4 and I2C_5 according to the peripheral equipment 550 and the backplane 560 contained in the device list I, and the processing program 121 generates the backplane device tree source information 213 with BP_1 and BP_2 . Similarly, the processing program 121 generates corresponding equipment device tree source information 212 and backplane device tree source information 213 according to the device list II.

接著,處理程式121根據設備清單I與設備清單II編譯相應的中間文件,如圖3所示。處理程式121根據設備清單I將各中間文件封裝為對應的第一文件群910,處理程式121根據設備清單II將各中間文件封裝為對應的第二文件群920,如圖9所示。Next, the processing program 121 compiles the corresponding intermediate file according to the device list I and the device list II, as shown in FIG. 3 . The processing program 121 encapsulates each intermediate file into a corresponding first file group 910 according to the equipment list I, and the processing program 121 encapsulates each intermediate file into a corresponding second file group 920 according to the equipment list II, as shown in FIG. 9 .

所述的韌體更新的處理方法與系統提供彈性化的設備韌體的封裝與更新,使得同一目標文件123可以支援多組不同的伺服器與相應週邊設備550。開發人員可以將核心文件任意搭配週邊設備550的硬體描述文件與背板560的硬體描述文件,藉以符合伺服器的不同版本資訊214。 The firmware update processing method and system provide flexible packaging and update of device firmware, so that the same target file 123 can support multiple sets of different servers and corresponding peripheral devices 550 . The developer can arbitrarily match the core file with the hardware description file of the peripheral device 550 and the hardware description file of the backplane 560 so as to conform to the different version information 214 of the server.

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:步驟 001: Processing system for firmware update 100: First Computer 110: The first transmission unit 120: The first storage unit 121: Handler 123: target file 130: The first processor 200: External server 210: Equipment List 211: Core device tree source information 212: Device device tree source information 213: Backplane device tree source information 214: Version Information 411: core intermediate file 412: Device intermediate file 413: Backplane intermediate file 500: Second Computer 510: Second transmission unit 520: Second storage unit 521: Updater 522: Bootstrap 523: Current description file 530: Second processor 540: Motherboard 550: Peripherals 560: Backplane 910: The first file group 911: First device intermediate file 912: First backplane intermediate file 920: The second file group 921: Second device intermediate file 922: Second backplane intermediate file S310, S320, S330, S340: Steps S610, S620, S630: Steps S710, S720, S730, S740, S750: Steps S810, S820, S830, S840, S850, S860, S870: Steps

[圖1]係為一實施例的硬體架構示意圖。 [圖2]為一實施例的伺服器與所屬週邊設備的硬體描述文件的更新流程示意圖。 [圖3]為一實施例的裝置樹源資訊與對應的中間文件的示意圖。 [圖4]為一實施例的目標文件的架構示意圖。 [圖5]為一實施例的第一計算機與第二計算機的系統架構示意圖。 [圖6]為一實施例的導引程式更新目標文件的運作流程示意圖。 [圖7]為一實施例的伺服器的目標文件的封裝處理流程示意圖。 [圖8]為一實施例的目標文件編譯的流程示意圖。 [圖9]係為一實施例的目標文件之架構示意圖。 [圖10]係為一實施例的裝置樹源資訊的程式碼示意圖。 [FIG. 1] is a schematic diagram of a hardware architecture of an embodiment. [ FIG. 2 ] is a schematic diagram of an update flow of the hardware description files of the server and the peripheral devices to which it belongs according to an embodiment. 3 is a schematic diagram of device tree source information and corresponding intermediate files according to an embodiment. FIG. 4 is a schematic diagram of the structure of an object file according to an embodiment. [ FIG. 5 ] is a schematic diagram of a system architecture of a first computer and a second computer according to an embodiment. FIG. 6 is a schematic diagram of the operation flow of the boot program updating the target file according to an embodiment. FIG. 7 is a schematic diagram of a process flow of packaging a target file of a server according to an embodiment. [ FIG. 8 ] is a schematic flowchart of object file compilation according to an embodiment. [FIG. 9] is a schematic diagram of the structure of an object file of an embodiment. FIG. 10 is a schematic diagram of the code of the source information of the device tree according to an embodiment.

001:韌體更新的處理系統 001: Processing system for firmware update

100:第一計算機 100: First Computer

110:第一傳輸單元 110: The first transmission unit

120:第一儲存單元 120: The first storage unit

121:處理程式 121: Handler

123:目標文件 123: target file

130:第一處理器 130: The first processor

200:外部伺服器 200: External server

210:設備清單 210: Equipment List

211:核心裝置樹源資訊 211: Core device tree source information

212:設備裝置樹源資訊 212: Device device tree source information

213:背板裝置樹源資訊 213: Backplane device tree source information

214:版本資訊 214: Version Information

Claims (11)

一種韌體更新的處理方法,包括:由一第一計算機向一外部伺服器獲取一主機板的一設備清單,該設備清單記錄至少一週邊設備;該第一計算機根據該主機板產生一核心裝置樹源資訊;該第一計算機根據該設備清單產生每一該週邊設備的一設備裝置樹源資訊與至少一背板裝置樹源資訊;以及該第一計算機將該核心裝置樹源資訊、該設備裝置樹源資訊與該些背板裝置樹源資訊封裝為一目標文件。 A method for processing firmware update, comprising: obtaining a device list of a motherboard from an external server by a first computer, the device list recording at least one peripheral device; the first computer generating a core device according to the motherboard tree source information; the first computer generates a device device tree source information and at least one backplane device tree source information of each of the peripheral devices according to the equipment list; and the first computer generates the core device tree source information, the device The device tree source information and the backplane device tree source information are packaged into an object file. 如請求項1所述的韌體更新的處理方法,其中在將該核心裝置樹源資訊、該設備裝置樹源資訊與該些背板裝置樹源資訊封裝為該目標文件之步驟包括:將每一該設備裝置樹源資訊分別編譯為一設備中間文件;根據該主機板的一背板數量資訊產生相應數量的該些背板裝置樹源資訊;將每一該背板裝置樹源資訊分別編譯為一背板中間文件;將該核心裝置樹源資訊編譯為一核心文件;以及將該設備中間文件、該背板中間文件與該核心文件封裝為該目標文件。 The method for processing firmware update according to claim 1, wherein the step of encapsulating the core device tree source information, the equipment device tree source information and the backplane device tree source information into the target file comprises: encapsulating each Compile the device tree source information into a device intermediate file respectively; generate a corresponding number of backplane device tree source information according to a backplane quantity information of the motherboard; compile each of the backplane device tree source information separately is a backplane intermediate file; compiles the core device tree source information into a core file; and encapsulates the device intermediate file, the backplane intermediate file and the core file into the object file. 如請求項2所述的韌體更新的處理方法,其中在封裝該目標文件之步驟後包括: 由一第一計算機發送該目標文件至一第二計算機;判斷該第二計算機的一當前描述文件與該目標文件的一校驗和值;以及若該當前描述文件的該校驗和值相異於該目標文件的該校驗和值,將該目標文件替代該當前描述文件。 The method for processing firmware update according to claim 2, wherein after the step of encapsulating the target file, the method includes: Sending the target file to a second computer by a first computer; judging a checksum value of a current description file of the second computer and the target file; and if the checksum value of the current description file is different Based on the checksum value of the object file, replace the current description file with the object file. 如請求項3所述的韌體更新的處理方法,其中在判斷該第二計算機的該當前描述文件與該目標文件的該校驗和值之步驟包括:獲取該第二計算機的一主機板與該主機板的一版本資訊;根據該版本資訊從該目標文件中選擇至少一該背板中間文件、該核心文件與該些設備中間文件;以及根據所選的該背板中間文件、該核心文件與該些設備中間文件產生相應的該校驗和值。 The method for processing firmware update according to claim 3, wherein the step of judging the checksum value of the current description file and the target file of the second computer comprises: obtaining a motherboard of the second computer and the a version information of the motherboard; select at least one of the backplane intermediate file, the core file and the device intermediate files from the target file according to the version information; and according to the selected backplane intermediate file, the core file The checksum value corresponding to the device intermediate files is generated. 一種韌體更新的處理方法,包括:由一第一計算機向一外部伺服器獲取一主機板的一第一設備清單與一第二設備清單,該第一設備清單具有至少一第一週邊設備,該第二設備清單具有至少一第二週邊設備;該第一計算機根據該主機板產生一核心裝置樹源資訊;該第一計算機根據該第一設備清單產生每一該第一週邊設備的一第一設備裝置樹源資訊與至少一第一背板裝置樹源資訊;該第一計算機根據該第二設備清單產生每一該第二週邊設備的一第二設備裝置樹源資訊與至少一第二背板裝置樹源資訊;以及 該第一計算機將該核心裝置樹源資訊、該第一設備裝置樹源資訊、該第一背板裝置樹源資訊、該第二設備裝置樹源資訊與該第二背板裝置樹源資訊封裝為一目標文件。 A method for processing firmware update, comprising: obtaining a first device list and a second device list of a motherboard from a first computer from an external server, the first device list having at least one first peripheral device, The second device list has at least one second peripheral device; the first computer generates a core device tree source information according to the motherboard; the first computer generates a first peripheral device for each first peripheral device according to the first device list a device tree source information and at least one first backplane device tree source information; the first computer generates a second device device tree source information and at least one second device tree source information for each of the second peripheral devices according to the second device list backplane device tree source information; and The first computer encapsulates the core device tree source information, the first equipment device tree source information, the first backplane device tree source information, the second equipment device tree source information and the second backplane device tree source information for a target file. 如請求項5所述的韌體更新的處理方法,其中在封裝為該目標文件之步驟包括:將該些第一設備裝置樹源資訊與該些第二設備裝置樹源資訊分別編譯為一第一設備中間文件與一第二設備中間文件;根據該第一設備清單的一第一背板數量資訊與該第二設備清單的一第二背板數量資訊分別產生相應數量的該些第一背板裝置樹源資訊與該些第二背板裝置樹源資訊;將該些第一背板裝置樹源資訊與該些第二背板裝置樹源資訊分別編譯為一第一背板中間文件與一第二背板中間文件;將該核心裝置樹源資訊編譯為一核心文件;將該第一設備中間文件與該第一背板中間文件封裝為一第一文件群;將該第二設備中間文件與該第二背板中間文件封裝為一第二文件群;以及將該核心文件、該第一文件群與該第二文件群封裝為該目標文件。 The method for processing firmware update according to claim 5, wherein the step of encapsulating into the target file comprises: compiling the first equipment device tree source information and the second equipment device tree source information into a first an equipment intermediate file and a second equipment intermediate file; according to a first backplane quantity information of the first equipment list and a second backplane quantity information of the second equipment list, a corresponding number of the first backplanes are respectively generated The board device tree source information and the second backplane device tree source information; the first backplane device tree source information and the second backplane device tree source information are compiled into a first backplane intermediate file and a second backplane intermediate file; compile the core device tree source information into a core file; encapsulate the first equipment intermediate file and the first backplane intermediate file into a first file group; the second equipment intermediate file The file and the second backplane intermediate file are packaged into a second file group; and the core file, the first file group and the second file group are packaged into the target file. 如請求項6所述的韌體更新的處理方法,其中將該第一文件群與該第二文件群封裝為該目標文件之步驟後包括:由一第一計算機發送該目標文件至一第二計算機; 判斷該第二計算機的一當前描述文件與該目標文件的一校驗和值;以及若該當前描述文件的該校驗和值相異於該目標文件的該校驗和值,根據該第二計算機的該主機板與該主機板的一版本資訊從該目標文件中選擇該第一文件群或該第二文件群。 The method for processing firmware update according to claim 6, wherein the step of encapsulating the first file group and the second file group into the target file includes: sending the target file from a first computer to a second computer computer; Judging a current description file of the second computer and a checksum value of the target file; and if the checksum value of the current description file is different from the checksum value of the target file, according to the second The motherboard of the computer and a version information of the motherboard select the first file group or the second file group from the target file. 一種韌體更新的處理裝置,包括:一第一傳輸單元,從一外部伺服器獲取一設備清單,該設備清單對應於一主機板且該設備清單記錄至少一週邊設備;一第一儲存單元,儲存一處理程式、該設備清單與一目標文件;以及一第一處理器,耦接於該第一傳輸單元與該第一儲存單元,該第一處理器執行該處理程式,該第一處理器根據該主機板產生一核心裝置樹源資訊,該第一處理器根據該設備清單產生至少一設備裝置樹源資訊與至少一背板裝置樹源資訊,該第一處理器將該核心裝置樹源資訊、該些設備裝置樹源資訊與該些背板裝置樹源資訊封裝為該目標文件。 A firmware update processing device, comprising: a first transmission unit for acquiring a device list from an external server, the device list corresponding to a motherboard and the device list recording at least one peripheral device; a first storage unit, storing a processing program, the device list and a target file; and a first processor coupled to the first transmission unit and the first storage unit, the first processor executes the processing program, the first processor Generates a core device tree source information according to the motherboard, the first processor generates at least one equipment device tree source information and at least one backplane device tree source information according to the device list, the first processor generates the core device tree source information The information, the equipment device tree source information and the backplane device tree source information are packaged into the object file. 如請求項8所述的韌體更新的處理裝置,其中該第一處理器根據該些設備裝置樹源資訊編譯為一設備中間文件,該第一處理器根據該主機板的一背板數量資訊產生相應數量的該些背板裝置樹源資訊,該第一處理器將該核心裝置樹源資訊編譯為一核心文件,該第一處理器將該些背板裝置樹源資訊編譯為一背板中間文件,該第一處理器將該設備中間文件、該背板中間文件與該核心文件封裝為該目標文件。 The firmware update processing device of claim 8, wherein the first processor compiles a device intermediate file according to the source information of the device device tree, and the first processor compiles a device intermediate file according to a backplane quantity information of the motherboard generating a corresponding number of the backplane device tree source information, the first processor compiles the core device tree source information into a core file, and the first processor compiles the backplane device tree source information into a backplane an intermediate file, the first processor encapsulates the device intermediate file, the backplane intermediate file and the core file into the target file. 如請求項8所述的韌體更新的處理裝置,其中包括一第二計算機,其係具有一第二傳輸單元、一第二儲存單元與一第二處理器,第二處理器耦接於該第二傳輸單元與該第二儲存單元,該第二傳輸單元連接於該第一傳輸單元,該第二儲存單元儲存一更新程式、一導引程式與一當前描述文件,該第二處理器執行該更新程式與該導引程式,該更新程式透過該第二傳輸單元通過該第一傳輸單元向該第一儲存單元獲取該目標文件,該導引程式根據該目標文件更新該第二計算機。 The firmware update processing device of claim 8, comprising a second computer having a second transmission unit, a second storage unit and a second processor, the second processor is coupled to the second computer The second transmission unit and the second storage unit, the second transmission unit is connected to the first transmission unit, the second storage unit stores an update program, a boot program and a current description file, the second processor executes The update program and the guide program, the update program obtains the target file from the first storage unit through the second transmission unit through the first transmission unit, and the guide program updates the second computer according to the target file. 如請求項10所述的韌體更新的處理裝置,其中該導引程式判斷該當前描述文件與該目標文件的一校驗和值是否相同,若該當前描述文件的該校驗和值相異於該目標文件的該校驗和值,該導引程式根據該目標文件更新該當前描述文件。 The firmware update processing device of claim 10, wherein the boot program determines whether a checksum value of the current description file and the target file is the same, and if the checksum value of the current description file is different Based on the checksum value of the object file, the bootloader updates the current description file according to the object file.
TW110124860A 2021-07-06 2021-07-06 Processing method and device of firmware updating TWI776579B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW110124860A TWI776579B (en) 2021-07-06 2021-07-06 Processing method and device of firmware updating

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW110124860A TWI776579B (en) 2021-07-06 2021-07-06 Processing method and device of firmware updating

Publications (2)

Publication Number Publication Date
TWI776579B true TWI776579B (en) 2022-09-01
TW202303385A TW202303385A (en) 2023-01-16

Family

ID=84957895

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110124860A TWI776579B (en) 2021-07-06 2021-07-06 Processing method and device of firmware updating

Country Status (1)

Country Link
TW (1) TWI776579B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI826211B (en) * 2022-12-28 2023-12-11 神雲科技股份有限公司 Gpio setting method of embedded system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100403836C (en) * 2005-06-10 2008-07-16 华为技术有限公司 Terminal device software/firmware downloading updating method
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 (en) * 2017-08-09 2019-03-16 廣達電腦股份有限公司 Server system, computer-implemented method and non-transitory computer-readable medium
CN110799942A (en) * 2017-06-13 2020-02-14 思科技术公司 Detecting and managing recurring patterns in device and service configuration data
US20200257518A1 (en) * 2020-04-24 2020-08-13 Intel Corporation Device firmware update techniques

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100403836C (en) * 2005-06-10 2008-07-16 华为技术有限公司 Terminal device software/firmware downloading updating method
CN110799942A (en) * 2017-06-13 2020-02-14 思科技术公司 Detecting and managing recurring patterns in device and service configuration data
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 (en) * 2017-08-09 2019-03-16 廣達電腦股份有限公司 Server system, computer-implemented method and non-transitory computer-readable medium
US20200257518A1 (en) * 2020-04-24 2020-08-13 Intel Corporation Device firmware update techniques

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI826211B (en) * 2022-12-28 2023-12-11 神雲科技股份有限公司 Gpio setting method of embedded system

Also Published As

Publication number Publication date
TW202303385A (en) 2023-01-16

Similar Documents

Publication Publication Date Title
US11144306B2 (en) Scheduling upgrades in distributed computing systems
US10031993B1 (en) Application store model for dynamic reconfiguration of a field-programmable gate array (FPGA)
US9720704B2 (en) Data driven hardware chips initialization via hardware procedure framework
CN115605844A (en) Microcode (microcode) hot upgrading method for bare computer cloud deployment
US10268628B2 (en) Method for extracting BIOS attributes for BIOS management and system therefor
US10929149B2 (en) Method and system for updating firmware
CN108898230A (en) A kind of device management method and management server
CN101777005B (en) Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller
US11513786B2 (en) Method and system for server firmware update framework
US10459742B2 (en) System and method for operating system initiated firmware update via UEFI applications
US20210240491A1 (en) System and method for runtime synchronization and authentication of pre-boot device drivers for a rescue operating system
CN101833470A (en) Injecting transactions to support the virtualization of a physical device controller
TWI776579B (en) Processing method and device of firmware updating
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
CN114756290A (en) Operating system installation method, device and readable storage medium
US11915029B2 (en) System and method of managing available memory of an information handling system
US10572151B2 (en) System and method to allocate available high bandwidth memory to UEFI pool services
US10996942B1 (en) System and method for graphics processing unit firmware updates
US20240103836A1 (en) Systems and methods for topology aware firmware updates in high-availability systems
CN115576577A (en) Firmware update processing method and device
US11372653B1 (en) Runtime access to firmware platform configuration data
US20240232364A9 (en) Systems and methods for bmc firmware identity based access control
US11314455B2 (en) Mapping of RAID-CLI requests to vSAN commands by an out-of-band management platform using NLP
US20240232363A9 (en) Systems and methods to securely configure a factory firmware in a bmc

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent