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

用于修改有效固件的固件包的制作方法

文檔序號(hào):6498452閱讀:215來源:國(guó)知局
用于修改有效固件的固件包的制作方法
【專利摘要】一種計(jì)算設(shè)備包括非易失性存儲(chǔ)部件,該非易失性存儲(chǔ)部件具有第一部分以及第二部分,該第一部分包括用于計(jì)算設(shè)備的部件的有效固件,并且第二部分包括固件包以修改有效固件。計(jì)算設(shè)備安裝來自固件包的固件并在接著安裝來自固件包的后續(xù)固件之前確定固件是否被成功安裝。如果來自固件包的固件安裝失敗,則計(jì)算設(shè)備卸載固件包以恢復(fù)有效固件。
【專利說明】用于修改有效固件的固件包

【背景技術(shù)】
[0001] 在更新計(jì)算設(shè)備上的固件時(shí),用戶可以最初訪問第一固件文件并接著更新計(jì)算設(shè) 備的第一固件。一旦第一固件已被更新,用戶可以重復(fù)這個(gè)過程,以用于更新計(jì)算設(shè)備的每 個(gè)其他固件。在一些實(shí)例中,固件可以被錯(cuò)誤安裝,并且可能不將失敗的安裝通告給用戶。 最終,計(jì)算設(shè)備可以被呈現(xiàn)不穩(wěn)定或不可用。此外,用戶可能必須識(shí)別之前使用的固件并接 著安裝導(dǎo)致用戶消耗時(shí)間且經(jīng)歷不愉快的之前使用的固件。

【專利附圖】

【附圖說明】
[0002] 通過以下結(jié)合附圖的具體描述,公開實(shí)施例的各個(gè)特征和優(yōu)點(diǎn)將會(huì)顯而易見,通 過示例,這些附圖一起示出了公開實(shí)施例的特征。
[0003] 圖1示出根據(jù)示例的具有非易失性存儲(chǔ)部件的計(jì)算設(shè)備。
[0004] 圖2示出根據(jù)示例的接收固件包的計(jì)算設(shè)備。
[0005] 圖3示出根據(jù)示例的利用固件包修改有效固件的計(jì)算設(shè)備的框圖。
[0006] 圖4示出根據(jù)示例的卸載固件包以恢復(fù)有效固件的計(jì)算設(shè)備的框圖。
[0007] 圖5是示出根據(jù)示例的用于管理計(jì)算設(shè)備的方法的流程圖。
[0008] 圖6是示出根據(jù)另一個(gè)示例的用于管理計(jì)算設(shè)備的方法的流程圖。

【具體實(shí)施方式】
[0009] 計(jì)算設(shè)備可以包括具有第一部分和第二部分的非易失性存儲(chǔ)部件,以將對(duì)應(yīng)于計(jì) 算設(shè)備的部件的有效固件與用于修改有效固件的固件包分開。計(jì)算設(shè)備按照第一次序安裝 來自固件包的每個(gè)固件并在接著安裝來自固件包的后續(xù)固件之前確定每個(gè)固件是否被成 功安裝。計(jì)算設(shè)備可以保持每個(gè)固件安裝的狀態(tài)日志,以識(shí)別成功和/或不成功的安裝。 [0010] 如果來自固件包的每個(gè)固件都被成功安裝,則計(jì)算設(shè)備的有效固件可以被成功修 改。如果計(jì)算設(shè)備檢測(cè)到不成功的固件安裝,則計(jì)算設(shè)備可以終止安裝來自固件包的任何 附加固件并接著按照相反于第一方向的第二方向卸載來自固件包的每個(gè)固件,以恢復(fù)有效 固件。每個(gè)之前安裝的來自固件包的固件可以被一個(gè)接一個(gè)地卸載,以回滾(rollback)并 恢復(fù)計(jì)算設(shè)備的有效固件。卸載來自固件包的固件可以包括計(jì)算設(shè)備重新安裝對(duì)應(yīng)部件的 主固件或最后知道的穩(wěn)定固件,以將計(jì)算設(shè)備恢復(fù)為最后知道的穩(wěn)定狀態(tài)。
[0011] 圖1不出根據(jù)不例的具有非易失性存儲(chǔ)部件140的計(jì)算設(shè)備100。計(jì)算設(shè)備100可 以是膝上型電腦、筆記本電腦、平板電腦、上網(wǎng)本、一體化系統(tǒng)、臺(tái)式機(jī)、工作站、和/或服務(wù) 器。在另一個(gè)實(shí)施例中,計(jì)算設(shè)備100可以是蜂窩設(shè)備、PDA (個(gè)人數(shù)字助理)、和/或E (電 子)_閱讀器、和/或任何具有非易失性存儲(chǔ)部件140的附加計(jì)算設(shè)備。
[0012] 如圖1所示,計(jì)算設(shè)備100包括控制器120、非易失性存儲(chǔ)部件140、至少一個(gè)部件 130、以及用于計(jì)算設(shè)備100和/或計(jì)算設(shè)備100的一個(gè)或多個(gè)部件之間互相通信的通信通 道150。在一個(gè)實(shí)施例中,計(jì)算設(shè)備100附加地包括存儲(chǔ)在聯(lián)接至計(jì)算設(shè)備100的非瞬態(tài)計(jì) 算機(jī)可讀存儲(chǔ)器上的部件應(yīng)用程序。部件應(yīng)用程序是可以結(jié)合控制器120使用以管理計(jì)算 設(shè)備100的應(yīng)用程序。
[0013] 非易失性存儲(chǔ)部件140可以包括閃存、存儲(chǔ)驅(qū)動(dòng)器,例如硬盤驅(qū)動(dòng)器或光盤驅(qū)動(dòng) 器、和/或可以包括第一部分150和第二部分155的任何附加非易失性存儲(chǔ)設(shè)備。第一部 分150是非易失性存儲(chǔ)部件140包括用于計(jì)算設(shè)備100的部件130的有效固件160的空間 或區(qū)域。為了本申請(qǐng)的目的,有效固件160包括驅(qū)動(dòng)器和/或軟件,其被計(jì)算設(shè)備100使用 以管理和操作部件130。在一個(gè)實(shí)施例中,有效固件160還包括驅(qū)動(dòng)器和/或軟件,其被計(jì) 算系統(tǒng)200的嵌入式操作系統(tǒng)使用。部件130可以包括視頻、音頻、通信部件、和/或任何 被計(jì)算設(shè)備1〇〇使用的附加部件。
[0014] 第二部分155包括非易失性存儲(chǔ)部件140與第一部分140分開并包括固件包165 的空間或區(qū)域。固件包165包括用于計(jì)算設(shè)備100的部件130的可安裝固件。在一個(gè)實(shí)施 例中,固件包165包括用于計(jì)算設(shè)備100的每個(gè)部件130的可安裝固件。通過安裝來自固 件包165的固件,計(jì)算設(shè)備100的對(duì)應(yīng)的有效固件160可以被修改。固件包165可以由計(jì) 算設(shè)備100從與計(jì)算設(shè)備100聯(lián)接的第二計(jì)算設(shè)備接收。
[0015] 控制器120和/或部件應(yīng)用程序可以發(fā)出使用固件包165修改有效固件160的請(qǐng) 求??刂破?20和/或部件應(yīng)用程序可以從第二部分155找回固件包165并接著按照第一 方向依次安裝來自固件包165的每個(gè)固件。例如,第一固件可以被安裝,隨后任何后續(xù)固件 可以被安裝,直到最后的固件被安裝。
[0016] 在來自固件包165的每個(gè)固件被安裝之后,控制器120和/或部件應(yīng)用程序可以 在接著安裝后續(xù)固件之前確定固件是否成功安裝。在確定固件是否成功安裝時(shí),控制器120 和/或部件應(yīng)用程序可以確定對(duì)應(yīng)的有效固件160是否被成功修改。在一個(gè)實(shí)施例中,控 制器120和/或部件應(yīng)用程序可以詢問使用修改的有效固件165的部件130。如果響應(yīng)被 接收,則對(duì)應(yīng)的有效固件160被成功修改并且固件被成功安裝。在另一個(gè)實(shí)施例中,控制器 120和/或部件應(yīng)用程序可以在部件130上運(yùn)行診斷測(cè)試以確定部件130是否正使用修改 的有效固件165正確操作。
[0017] 如果部件130不響應(yīng)于詢問或診斷測(cè)試失敗,則控制器120和/或部件應(yīng)用程序 可以確定對(duì)應(yīng)的有效固件160未被成功修改并且固件未成功安裝。如果來自固件包165的 固件安裝失敗,則控制器120和/或部件應(yīng)用程序可以接著按照相反于第一方向的第二方 向卸載固件包165,以恢復(fù)計(jì)算設(shè)備200的有效固件160。
[0018] 控制器120和/或部件應(yīng)用程序可以終止來自固件包165的任何附加部件的安裝 并繼續(xù)依次回滾來自固件包165的之前的固件安裝。在回滾之前的固件安裝時(shí),控制器120 和/或部件應(yīng)用程序識(shí)別最后安裝的固件和從固件包165安裝的每個(gè)之前的固件。然后, 控制器120和/或部件應(yīng)用程序可以接著卸載最后安裝的固件,隨后卸載從固件包165安 裝的每個(gè)之前的固件,直到卸載來自固件包165的每個(gè)固件。
[0019] 在卸載來自固件包165的固件時(shí),控制器120和/或固件應(yīng)用程序可以重新安裝 對(duì)應(yīng)的部件130的主固件。主固件可以被存儲(chǔ)在非易失性存儲(chǔ)部件140上。主固件對(duì)應(yīng) 于用于計(jì)算設(shè)備1〇〇的部件130的備份固件。對(duì)于從固件包165卸載的每個(gè)固件,控制器 120和/或部件應(yīng)用程序可以重新安裝來自用于對(duì)應(yīng)的部件130的主固件的驅(qū)動(dòng)器和/或 軟件。在一個(gè)實(shí)施例中,控制器120和/或部件應(yīng)用程序可以重新安裝計(jì)算設(shè)備100的每 個(gè)部件130的主固件。
[0020] 圖2示出根據(jù)示例的接收固件包265的計(jì)算設(shè)備200。計(jì)算設(shè)備200可以接收來 自第二計(jì)算設(shè)備205的固件包265。類似于計(jì)算設(shè)備200,第二計(jì)算設(shè)備205可以是膝上型 電腦、筆記本電腦、平板電腦、上網(wǎng)本、一體化系統(tǒng)、臺(tái)式機(jī)、工作站、服務(wù)器、便攜式計(jì)算設(shè) 備和/或任何可以將固件包265發(fā)送至計(jì)算設(shè)備200的附加計(jì)算設(shè)備。
[0021] 如圖2所示,固件包265可以包括可安裝固件,以修改計(jì)算設(shè)備200的有效固件 260。固件包265可以包括用于計(jì)算設(shè)備200的一個(gè)或多個(gè)部件的固件。在一個(gè)實(shí)施例中, 固件包265還包括用于計(jì)算設(shè)備200的嵌入式操作系統(tǒng)的固件。固件可以包括用于計(jì)算設(shè) 備200的對(duì)應(yīng)的部件和/或嵌入式操作系統(tǒng)的驅(qū)動(dòng)器和/或軟件。
[0022] 如上所述,計(jì)算設(shè)備200的部件可以包括通信部件270、視頻部件、音頻部件、和/ 或安全部件280。在其他實(shí)施例中,部件可以是計(jì)算設(shè)備200可以具有對(duì)應(yīng)的有效固件260 的任何附加硬件或軟件部件。計(jì)算設(shè)備200可以使用通信部件270從第二計(jì)算設(shè)備205接 收作為文件或數(shù)據(jù)包的固件包265。通信部件270是計(jì)算設(shè)備200的硬件部件,以在計(jì)算設(shè) 備200和第二計(jì)算設(shè)備205之間接收和/或發(fā)送數(shù)據(jù)。在一個(gè)實(shí)施例中,通信部件270可 以包括網(wǎng)絡(luò)接口部件、無線電設(shè)備、藍(lán)牙設(shè)備和/或紅外設(shè)備。
[0023] 響應(yīng)于計(jì)算設(shè)備200接收固件包265,安全部件280可以認(rèn)證固件包265。安全部 件280是計(jì)算設(shè)備200的硬件和/或軟件部件,例如可以認(rèn)證固件包265的受信任平臺(tái)模 塊和/或遠(yuǎn)程控制管理模塊。安全部件280可以通過確認(rèn)固件包265的簽名和/或確認(rèn)第 二計(jì)算設(shè)備200的身份來認(rèn)證固件包265。在一個(gè)實(shí)施例中,安全部件280可以包括固件包 265的授權(quán)簽名和/或第二計(jì)算設(shè)備205的授權(quán)標(biāo)識(shí)的白名單。在確定固件包265是否被 認(rèn)證時(shí),安全部件280可以訪問白名單。
[0024] 如果固件包265被成功認(rèn)證,則固件包265可以被存儲(chǔ)在非易失性存儲(chǔ)部件240 的第二部分255上。如上所述,非易失性存儲(chǔ)部件240是硬件存儲(chǔ)設(shè)備,其包括第一部分 250以及用于存儲(chǔ)固件包265的第二部分255,第一部分250包括用于計(jì)算設(shè)備200的部件 的有效固件260。非易失性存儲(chǔ)部件240可以包括閃存、硬盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器和/或包 括非易失性存儲(chǔ)器的任何附加硬件存儲(chǔ)設(shè)備。
[0025] 在一個(gè)實(shí)施例中,如圖2所示,第二部分255另外包括用于計(jì)算設(shè)備200的部件的 狀態(tài)日志295和主固件290。為了本申請(qǐng)的目的,狀態(tài)日志295可以是文件、列表和/或表 格,其保持計(jì)算設(shè)備200的每個(gè)對(duì)應(yīng)的有效固件260的狀態(tài)。在一個(gè)實(shí)施例中,狀態(tài)日志 295可以是XML(可擴(kuò)展標(biāo)識(shí)語言)文件或S0L(結(jié)構(gòu)化查詢語言數(shù)據(jù))文件。主固件290 對(duì)應(yīng)于用于計(jì)算設(shè)備200的部件的備份固件。在一個(gè)實(shí)施例中,主固件290包括用于計(jì)算 設(shè)備200的部件的最后知道的穩(wěn)定固件。在另一個(gè)實(shí)施例中,主固件290包括計(jì)算設(shè)備200 的有效固件260的全部拷貝。
[0026] 在一個(gè)實(shí)施例中,安全部件280可以將第二部分255和第二部分255上的內(nèi)容對(duì) 控制器220和/或部件應(yīng)用程序210隱藏。在隱藏第二部分255時(shí),安全部件280可以禁用 處理器、控制器、和/或用于控制和管理第二部分255的固件,以使第二部分255對(duì)于控制 器220和/或部件應(yīng)用程序210是不可見的。最終,固件包265、主固件290、狀態(tài)日志295 和/或任何附加內(nèi)容可以被保護(hù)以免受到惡意程序或未授權(quán)用戶的影響。安全部件280可 以繼續(xù)將第二部分255對(duì)控制器220和/或部件應(yīng)用程序210隱藏,直到控制器220和/ 或部件應(yīng)用程序210開始固件更新過程。
[0027] 為了本申請(qǐng)的目的,部件應(yīng)用程序210可以是嵌入到計(jì)算設(shè)備200的一個(gè)或多個(gè) 部件上的固件。在另一個(gè)實(shí)施例中,部件應(yīng)用程序210可以是可從計(jì)算設(shè)備的非易失性計(jì) 算機(jī)可讀存儲(chǔ)器訪問的應(yīng)用程序。計(jì)算機(jī)可讀存儲(chǔ)器是包含、存儲(chǔ)、通信或輸運(yùn)應(yīng)用程序以 被設(shè)備使用或結(jié)合設(shè)備使用的有形裝置。在一個(gè)實(shí)施例中,計(jì)算機(jī)可讀存儲(chǔ)器是硬盤驅(qū)動(dòng) 器、光盤、閃存盤、網(wǎng)絡(luò)驅(qū)動(dòng)器或聯(lián)接至計(jì)算設(shè)備的任何其他形式的有形裝置。
[0028] 圖3不出根據(jù)不例的利用固件包365修改有效固件360的計(jì)算設(shè)備的框圖。在一 個(gè)實(shí)施例中,控制器320和/或部件應(yīng)用程序310可以發(fā)出開始固件更新過程的請(qǐng)求。該請(qǐng) 求可以識(shí)別與固件包365相關(guān)聯(lián)的版本或序列號(hào)。安全部件380可以通過確定控制器320 和/或部件應(yīng)用程序310所列出的版本或序列號(hào)是否匹配包括在非易失性存儲(chǔ)部件340的 第二部分355內(nèi)的固件包365的信息來認(rèn)證該請(qǐng)求。在一個(gè)實(shí)施例中,在確定是否許可訪 問固件包365時(shí),安全部件380附加地認(rèn)證固件包365。
[0029] 如果該請(qǐng)求和固件包365被認(rèn)證,則安全部件380可以允許訪問固件包365和包 括在第二部分355中的其他內(nèi)容。控制器320和/或部件應(yīng)用程序310可以接著訪問固件 包365并且可以接著安裝來自固件包365的每個(gè)固件。在一個(gè)實(shí)施例中,控制器320和/ 或部件應(yīng)用程序310附加地訪問來自第二部分355的狀態(tài)日志395,以識(shí)別計(jì)算設(shè)備上每個(gè) 有效固件的狀態(tài)。
[0030] 在安裝來自固件包365的任何固件之前,控制器320和/或部件應(yīng)用程序310可 以重置狀態(tài)日志395上的每個(gè)有效固件360的狀態(tài)。在一個(gè)實(shí)施例中,重置狀態(tài)日志395 上的每個(gè)有效固件360的狀態(tài)包括控制器320和/或部件應(yīng)用程序310訪問來自第二部分 355的對(duì)應(yīng)的主固件390并安裝對(duì)應(yīng)的主固件390以重置每個(gè)有效固件360的狀態(tài)。在另 一個(gè)實(shí)施例中,控制器320和/或部件應(yīng)用程序310可以利用包括有主固件390的嵌入式 操作系統(tǒng)的主版本,附加地回滾計(jì)算設(shè)備的嵌入式操作系統(tǒng)。
[0031] 一旦每個(gè)有效固件365和/或嵌入式操作系統(tǒng)的狀態(tài)已被重置,則控制器320和/ 或部件應(yīng)用程序310接著按照第一次序安裝固件包365。第一次序可以包括控制器320和 /或部件應(yīng)用程序310 -個(gè)接一個(gè)并按照第一至最后的次序訪問并安裝來自固件包365的 每個(gè)固件。在另一個(gè)實(shí)施例中,第一次序可以包括按照最后至第一次序一個(gè)接一個(gè)訪問并 安裝每個(gè)固件。在每個(gè)固件被安裝之后,控制器320和/或部件應(yīng)用程序310可以確定對(duì) 應(yīng)的有效固件是否被成功修改。
[0032] 如本實(shí)施例所示,控制器320和/或部件應(yīng)用程序310可以安裝固件1 :視頻,并 在接著安裝固件2 :音頻并確定有效固件2 :音頻是否被成功修改之前確定有效固件1 :視 頻是否被成功修改,并且隨后安裝固件3 :通信和固件4 :系統(tǒng)。在安裝固件時(shí),控制器320 和/或部件應(yīng)用程序310使用來自固件的驅(qū)動(dòng)器和/或軟件覆寫有效固件365的任何驅(qū)動(dòng) 器和/或軟件。
[0033] 在確定對(duì)應(yīng)的有效固件365是否被成功修改時(shí),控制器320和/或部件應(yīng)用程序 310可以做出響應(yīng)而詢問修改的有效固件365,或者使用修改的有效固件365在對(duì)應(yīng)的部件 上運(yùn)行診斷,以確定對(duì)應(yīng)的部件330是否操作正確。如果修改的有效固件365響應(yīng)于該詢 問或者對(duì)應(yīng)的部件330通過診斷測(cè)試,則有效固件365被確定為成功修改。
[0034] 控制器320和/或部件應(yīng)用程序310還可以更新狀態(tài)日志395,以指示對(duì)應(yīng)的有 效固件360被成功修改。在一個(gè)實(shí)施例中,如果計(jì)算設(shè)備上的每個(gè)有效固件360都被成功 修改,則控制器320和/或部件應(yīng)用程序310可以更新狀態(tài)日志395,以指示有效固件中的 全部都被成功修改。此外,控制器320和/或部件應(yīng)用程序310可以使用修改的有效固件 360覆寫第二部分355上的主固件360。
[0035] 如果修改的有效固件365不響應(yīng)于該詢問或者對(duì)應(yīng)的部件330未通過診斷測(cè)試, 則控制器320和/或部件應(yīng)用程序310確定有效固件365未被成功修改,并且狀態(tài)日志395 可以被更新以指示對(duì)應(yīng)的有效固件360未被成功修改。如果狀態(tài)日志395指示任何的有效 固件都未被成功修改,則控制器320和/或部件應(yīng)用程序310終止來自固件包365的附加固 件的安裝,并接著按照相反于第一次序的第二次序卸載固件包365,以恢復(fù)有效固件360。
[0036] 圖4不出根據(jù)不例的卸載固件包465以恢復(fù)有效固件的計(jì)算設(shè)備的框圖。如本實(shí) 施例所示,控制器420和/或部件應(yīng)用程序410可以從狀態(tài)日志495確定出固件3未被成 功安裝并且有效固件3未被成功修改。作為響應(yīng),控制器420和/或部件應(yīng)用程序410按 照第二次序繼續(xù)卸載固件包465。
[0037] 控制器420和/或部件應(yīng)用程序410繼續(xù)卸載最近安裝的固件,固件3 :通信。在 一個(gè)實(shí)施例中,卸載固件包括控制器420和/或部件應(yīng)用程序410訪問來自第二部分的主 固件并安裝主固件以恢復(fù)有效固件。例如,控制器420和/或部件應(yīng)用程序410可以訪問 有效固件3的主固件并繼續(xù)安裝主固件的驅(qū)動(dòng)器和/或軟件以恢復(fù)有效固件3。一旦有效 固件3以已被恢復(fù),則控制器420和/或部件應(yīng)用程序410可以接著卸載固件2 :音頻,并 恢復(fù)具有主固件的有效固件2。然后,一旦有效固件2被恢復(fù),則控制器420和/或部件應(yīng) 用程序410可以卸載固件1 :視頻,并繼續(xù)恢復(fù)有效固件1以及主固件。
[0038] 圖5是示出根據(jù)示例的用于管理計(jì)算設(shè)備的方法的流程圖。如上所述,部件應(yīng)用 程序可以獨(dú)立使用和/或與控制器結(jié)合使用來管理計(jì)算設(shè)備。在500,控制器和/或部件應(yīng) 用程序可以最初從非易失性存儲(chǔ)部件的第二部分找回固件包。固件包可以從例如服務(wù)器的 第二計(jì)算設(shè)備接收。在510,控制器和/或部件應(yīng)用程序可以按照第一次序安裝來自固件包 的固件,以修改每個(gè)對(duì)應(yīng)的有效固件并確定在每個(gè)固件安裝之后對(duì)應(yīng)的有效固件是否被成 功修改。在來自固件包的每個(gè)固件都被安裝之后,控制器和/或部件應(yīng)用程序可以訪問狀 態(tài)日志并更新狀態(tài)日志的對(duì)應(yīng)于修改的有效固件的條目。
[0039] 如果對(duì)應(yīng)的有效固件被成功修改,則控制器和/或部件應(yīng)用程序可以更新對(duì)應(yīng)的 條目,以指示固件被成功安裝并且對(duì)應(yīng)的有效固件被成功修改。在另一個(gè)實(shí)施例中,如果對(duì) 應(yīng)的有效固件未被成功修改,則控制器和/或部件應(yīng)用程序可以更新對(duì)應(yīng)的條目,以指示 固件未被成功安裝并且對(duì)應(yīng)的有效固件未被成功修改。在520,如果來自計(jì)算設(shè)備的任何有 效固件未被成功修改,則控制器和/或應(yīng)用程序可以按照相反于第一次序的第二次序接著 卸載來自固件包每個(gè)固件,以使計(jì)算設(shè)備的每個(gè)有效固件都被恢復(fù)。然后,方法完成。在其 他實(shí)施例中,除了和/或代替圖5描述的內(nèi)容,圖5的方法包括附加的步驟。
[0040] 圖6是示出根據(jù)另一個(gè)示例的用于管理計(jì)算設(shè)備的方法的流程圖。在600,控制 器和/或部件應(yīng)用程序可以最初地確定固件包是否已經(jīng)被接收。在600,如果未接收固件 包,則控制器和/或部件應(yīng)用程序繼續(xù)檢測(cè)固件包。在610,如果固件包被接收,則控制器和 /或部件應(yīng)用程序通過訪問固件包的授權(quán)簽名和/或第二計(jì)算設(shè)備的授權(quán)標(biāo)識(shí)的白名單來 確定固件包是否被認(rèn)證。在600,如果固件包未被認(rèn)證,則控制器和/或部件應(yīng)用程序刪除 固件包并繼續(xù)檢測(cè)固件包。
[0041] 如果固件包被認(rèn)證,則控制器和/或固件包可以將固件包存儲(chǔ)在非易失性存儲(chǔ)部 件的第二部分上。在一個(gè)實(shí)施例中,安全部件將第二部分對(duì)控制器和/或部件應(yīng)用程序隱 藏,直到固件更新請(qǐng)求已經(jīng)被控制器和/或部件應(yīng)用程序啟動(dòng)。如果檢測(cè)到固件更新請(qǐng)求, 則安全部件可以使得控制器和/或處理器能夠控制第二部分以使第二部分對(duì)于控制器和/ 或部件應(yīng)用程序是可見的。
[0042] 在620,控制器和/或部件應(yīng)用程序然后可以使用來自第二部分的主固件恢復(fù)計(jì) 算設(shè)備的每個(gè)有效固件。在630,控制器和/或部件應(yīng)用程序還訪問第二部分上的狀態(tài)日志 并重置每個(gè)有效固件的狀態(tài)。在640,控制器和/或部件應(yīng)用程序然后可以按照第一次序安 裝來自固件包中的每個(gè)固件。在650,在每個(gè)固件被安裝后,控制器和/或部件應(yīng)用程序通 過詢問該部件或在該部件上運(yùn)行診斷測(cè)試來確定對(duì)應(yīng)的固件是否被成功修改。
[0043] 在660,如果有緣固件被成功修改,則狀態(tài)日志被更新以指示有效固件被成功修 改。在670,控制器和/或部件應(yīng)用程序確定是否存在來自固件包的任何附加固件要安裝。 如果存在附加固件要安裝,則控制器和/或部件應(yīng)用程序安裝固件,確定對(duì)應(yīng)的有效固件 被成功修改,并相應(yīng)地更新狀態(tài)日志。在680,如果不存在附加固件要安裝,則狀態(tài)日志可以 被完全更新。此外,在690,可以使用當(dāng)前有效固件來覆寫主固件。
[0044] 在另一個(gè)實(shí)施例中,在695,如果控制器和/或部件應(yīng)用程序之前確定對(duì)應(yīng)的有效 固件未被成功修改,則控制器和/或部件應(yīng)用程序可以按照相反于第一次序的第二次序卸 載固件包,以恢復(fù)計(jì)算設(shè)備的有效固件。然后,方法完成。在其他實(shí)施例中,圖6的方法包 括除了圖6中描述的那些之外和/或代替圖6中描述的那些的其他步驟。
【權(quán)利要求】
1. 一種計(jì)算設(shè)備,包括: 具有第一部分和第二部分的非易失性存儲(chǔ)部件; 其中所述第一部分包括用于所述計(jì)算設(shè)備的部件的有效固件,并且所述第二部分包括 用于修改所述有效固件的固件包;以及 控制器,用于安裝來自所述固件包的固件,并在接著安裝來自所述固件包的后續(xù)固件 之前確定所述固件是否被成功安裝; 其中如果來自所述固件包的固件安裝失敗,則所述控制器卸載所述固件包以恢復(fù)所述 有效固件。
2. 根據(jù)權(quán)利要求1所述的計(jì)算設(shè)備,其中所述非易失性存儲(chǔ)部件的所述第二部分包括 對(duì)應(yīng)于所述有效固件的主固件和所述計(jì)算設(shè)備的嵌入式操作系統(tǒng)的主版本中的至少一個(gè)。
3. 根據(jù)權(quán)利要求1所述的計(jì)算設(shè)備,其中所述非易失性存儲(chǔ)部件的所述第二部分包括 狀態(tài)日志,以追蹤要被所述固件包修改的有效固件的狀態(tài)。
4. 根據(jù)權(quán)利要求1所述的計(jì)算設(shè)備,進(jìn)一步包括用于從第二計(jì)算設(shè)備接收所述固件包 的通信部件。
5. 根據(jù)權(quán)利要求1所述的計(jì)算設(shè)備,進(jìn)一步包括用于認(rèn)證所述固件包的安全部件。
6. 根據(jù)權(quán)利要求5所述的計(jì)算設(shè)備,其中如果所述固件包未被認(rèn)證,則所述安全部件 將所述非易失性存儲(chǔ)器的所述第二部分對(duì)所述控制器隱藏。
7. 根據(jù)權(quán)利要求5所述的計(jì)算設(shè)備,其中如果所述固件包被認(rèn)證,則所述安全部件使 所述非易失性存儲(chǔ)器的所述第二部分對(duì)于所述控制器可見。
8. -種用于管理計(jì)算設(shè)備的方法,包括: 從非易失性存儲(chǔ)部件的第二部分接收固件包; 其中所述非易失性存儲(chǔ)部件的第一部分包括用于所述計(jì)算設(shè)備的部件的有效固件; 按照第一次序安裝所述固件包以修改所述有效固件,并確定所述有效固件是否被成功 修改,以及 如果有效固件未被成功修改,則按照相反于所述第一次序的第二次序卸載所述固件 包,以恢復(fù)所述有效固件。
9. 根據(jù)權(quán)利要求8所述的用于管理計(jì)算設(shè)備的方法,進(jìn)一步包括:訪問來自所述非易 失性存儲(chǔ)器的所述第二部分的狀態(tài)日志,以識(shí)別所述計(jì)算設(shè)備上的每個(gè)有效固件的狀態(tài)。
10. 根據(jù)權(quán)利要求9所述的用于管理計(jì)算設(shè)備的方法,進(jìn)一步包括:在安裝所述固件包 之前,重置所述狀態(tài)日志上的每個(gè)有效固件的狀態(tài)。
11. 根據(jù)權(quán)利要求10所述的用于管理計(jì)算設(shè)備的方法,進(jìn)一步包括:在使用所述固件 包修改對(duì)應(yīng)的有效固件時(shí),更新所述狀態(tài)日志上的每個(gè)有效固件的狀態(tài)。
12. 根據(jù)權(quán)利要求10所述的用于管理計(jì)算設(shè)備的方法,其中重置所述狀態(tài)日志上的每 個(gè)有效固件的狀態(tài)包括:安裝來自所述非易失性存儲(chǔ)部件的所述第二部分的主固件,以修 改所述有效固件。
13. 根據(jù)權(quán)利要求12所述的用于管理計(jì)算設(shè)備的方法,其中重置所述日志文件上的每 個(gè)有效固件的狀態(tài)包括:使用嵌入式操作系統(tǒng)的主版本回滾所述嵌入式操作系統(tǒng)。
14. 一種計(jì)算機(jī)可讀媒介,包括指令,如果所述指令被執(zhí)行,則促使控制器: 從非易失性存儲(chǔ)部件的第二部分找回固件包,其中所述非易失性存儲(chǔ)部件的第一部分 包括用于計(jì)算設(shè)備的部件的有效固件; 按照第一次序安裝來自所述固件包的每個(gè)固件,以修改所述有效固件; 確定在安裝每個(gè)固件之后每個(gè)對(duì)應(yīng)的有效固件是否被成功修改,以及 如果任何有效固件未被成功修改,則按照相反于所述第一次序的第二次序卸載所述固 件包,以恢復(fù)所述有效固件。
15.包括權(quán)利要求14所述的包括指令的計(jì)算機(jī)可讀媒介,其中如果來自所述固件包的 每個(gè)固件被成功安裝,則所述控制器使用修改的有效固件覆寫主固件。
【文檔編號(hào)】G06F9/44GK104220981SQ201280072039
【公開日】2014年12月17日 申請(qǐng)日期:2012年2月23日 優(yōu)先權(quán)日:2012年2月23日
【發(fā)明者】埃里克·A·拉米雷斯, 杰米爾·J·艾瓦茲, 李·A·普賴梅斯貝格爾 申請(qǐng)人:惠普發(fā)展公司,有限責(zé)任合伙企業(yè)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
多伦县| 大同县| 古浪县| 甘孜县| 义马市| 奉新县| 咸丰县| 临西县| 阿合奇县| 双牌县| 瓦房店市| 左贡县| 石河子市| 武汉市| 越西县| 彝良县| 泸溪县| 卓资县| 淳化县| 东莞市| 长岭县| 乌鲁木齐市| 合江县| 会昌县| 绥江县| 平泉县| 溆浦县| 宿州市| 新丰县| 洪雅县| 焉耆| 静宁县| 遂川县| 当阳市| 连江县| 龙井市| 行唐县| 鄢陵县| 同心县| 西丰县| 永安市|