透過 fwupd 更新周邊裝置韌體

版本:2.4.4
上次更新時間:2026-07-23

總覽

本指南旨在說明如何設定 ChromeOS UI 支援的 fwupd 韌體更新。

fwupd 流程圖

背景

fwupd 是開放原始碼的常駐程式,可在 Linux 系統上執行周邊裝置和其他系統韌體更新。ChromeOS 就是透過 fwupd 更新周邊裝置韌體。

fwupd 更新酬載包含儲存在 Linux 供應商韌體服務 (LVFS) 中的 .cab 檔案。在 Linux 中,只要將 fwupd 更新上傳至 LVFS,即可廣泛提供更新。不過,為了確保使用者獲得最佳體驗,ChromeOS 團隊會另外驗證新版更新,並將其加入允許清單,以便在 ChromeOS 中提供更新。

fwupd 程序

以下內容僅適用於已通過 WWCB 認證,且已將樣品送交 Allion 的周邊裝置。

如果 ChromeOS 目前的 fwupd 版本尚不支援該周邊裝置,請按照使用情境 1 和使用情境 2 中的說明操作。如果 ChromeOS 目前的 fwupd 版本已支援周邊裝置,請跳至使用案例 2。

使用案例 1:ChromeOS 目前的 fwupd 版本不支援周邊裝置

ChromeOS 目前的 fwupd 版本不支援該周邊裝置。

圖片

  1. ODM 和 OEM 可直接與晶片組供應商合作,將外掛程式變更提交至 fwupd 程式碼集。

    1. 請參閱 fwupd 整合手冊 (第二步 - 使用 fwupd)。
    2. 外掛程式變更:範例 1、範例 2
    3. .quirk 檔案中的比對項目:example 3
        VIDs:PIDs
      • 如果 USB 周邊裝置支援現有外掛程式,您也可以按照 DS20 規格操作,不必變更特殊檔案。
    4. 請 fwupd 的維護人員合併產生的外掛程式和特殊行為變更。
    5. 等待 fwupd 的官方點發布版本 (即 1.8.4),請記下版本。
  2. fwupd 版本會定期鏡像到 ChromeOS,並遵循 Chromium 發布時間表。

  3. 如果您在即將發布的 Chromium 版本功能凍結截止日期後,提交外掛程式變更、錯誤修正或特殊情況檔案變更,但這些變更對下一個 ChromeOS 版本而言是高優先順序,則:

    1. 前往合作夥伴 Issue Tracker。
    2. 使用 Google 合作夥伴網域帳戶登入。
    3. 按一下左側選單中的「建立問題」按鈕,在元件中建立錯誤 (ChromeOS > External > WWCB > PERIPHERAL OEM > fwupd)。這會提醒 ChromeOS 團隊在 ChromeOS 中升級 fwupd 版本。

      請在錯誤中提供下列資訊:

      1. 錯誤標題:

        [PRODUCT NAME - fwupd]: New Plugin NAME OF THE PLUGIN requires fwupd X.Y.Z version uprev
        
      2. 錯誤說明:

        1. fwupd 版本號碼,包含外掛程式變更:
          • 新增了哪些功能?
          • 修正了哪些錯誤?
          • 支援哪些硬體?
        2. 裝置品牌/型號
        3. VID、PID
        4. GUID (全域專屬 ID)
      3. 螢幕截圖範例:

        fwupd uprev 錯誤的螢幕截圖

  4. Google 工程師會對錯誤進行分類,並將選取的 fwupd 版本併入 ChromeOS。

  5. 如果變更清單獲准,升級後的 fwupd 版本就會升級為 Canary 版。

    • 在錯誤中留言,瞭解哪個 ChromeOS 建構版本包含更新的 fwupd 版本。您也可以使用 CL Finder 在 ChromeOS 合作夥伴控制台 (CPCon) 中搜尋建構版本 (需要 Google 公司合作夥伴網域帳戶,請與 TAM 聯絡以取得 CPCon 存取權)。

用途 2:ChromeOS 目前版本的 fwupd 支援周邊裝置

ChromeOS 目前的 fwupd 版本已支援該周邊裝置,且有新韌體可用。

圖片

  1. 建立 .cab 檔案。

    所有韌體都會上傳為 Cabinet 封存檔。除了韌體二進位檔,LVFS 也會要求封存檔至少包含一個 .metainfo.xml 檔案,用於描述目標裝置和韌體。您可以在 Linux 上使用 gcab (用於建立 Cabinet 檔案的程式庫) 建立 Cabinet 封存檔。

  2. 將測試完成的最終韌體更新 (.cab 檔案) 上傳至 LVFS。

    1. 確認穩定遙控器可更新。

      如果該版本位於私人、禁運或測試遠端, 就不會新增至 ChromeOS 鏡像。

    2. 透過簽署的報表,在 LVFS 中將更新標示為已驗證。

      確認已新增裝置測試。

    3. 如果是首次上傳韌體,請確認 LVFS 的穩定遠端至少有 2 個韌體,分別是基本韌體 (用於測試降級) 和新韌體 (用於測試升級)。

  3. 應透過簽署報告在 ChromeOS 上測試韌體升級。

    1. 將憑證上傳至 LVFS,將 DUT 連結至帳戶。

      1. 使用帳戶登入 LVFS。
      2. 按一下右上方的「使用者」圖示,或按一下 https://fwupd.org/lvfs/profile{:.external}。
      3. 按一下「個人資料設定」。
      4. 在 Chromebook 上找出用戶端憑證。

        • 注意:Chromebook 必須處於開發人員模式
        • 按下 Ctrl+Alt+T 鍵,啟動 ChromeOS 開發人員殼層。
        • Type:

          shell
        • 前往 /var/lib/fwupd/pki:

          cd /var/lib/fwupd/pki
        • 將 client.pem 複製到 Chromebook 上的資料夾,例如: Downloads。

          cp client.pm /home/chronos/user/MyFiles/Downloads/
    2. 在 LVFS 網站的「用戶端憑證」部分,按一下「上傳憑證」按鈕,然後上傳憑證。

      1. 在用於測試的每部 Chromebook 上重複上述步驟 (您可以為不同電腦上傳多個憑證)。
    3. 透過 DUT 測試升級,並上傳已簽署的報告。

      1. 如要測試及上傳報表,請執行下列指令,並在系統提示時進行驗證。

        fwupdmgr refresh
        fwupdmgr update
        fwupdmgr report-history --sign
      2. 注意:如果已上傳沒有 --sign 標記的報表,可以使用 fwupdmgr report-history --sign --force 將相同報表重新上傳至 LVFS。

        fwupdmgr report-history --sign --force
        • 您可以傳遞 --verbose 來查看伺服器回應。

          fwupdmgr report-history --force --verbose
      3. 在確認對話方塊中,按一下「是」。

        • 這樣一來,簽署的報告就會上傳到你的帳戶。
        • 如要確認,請前往 https://fwupd.org/lvfs/dashboard,然後點選左上角「首頁」部分下方的「Signed Reports」(已簽署的報表)。
    4. 確認 LVFS 上的韌體版本有已簽署的報告

      • 在 LVFS 上搜尋周邊裝置。
      • 如果上傳的簽署報告是在使用 Chromebook 成功升級周邊裝置的韌體版本後產生,則「測試者」部分會顯示 ChromeOS 版本、fwupd 版本和實體。請參閱範例。
      • 確認「發布限制」顯示綠色勾號和「適用於 ChromeOS 使用者」。
    5. 自 M126 版起,韌體更新只會提供給 ChromeOS 使用者,前提是韌體在 LVFS 上有已簽署的報告 (已透過 ChromeOS 測試)。

      • 24 小時後,使用者即可將周邊裝置連上 Chromebook,並透過 ChromeOS 使用者介面升級韌體。依序前往「設定」>「關於 ChromeOS」>「韌體更新」。
      • 注意:如果 ChromeOS 適用於特定里程碑,且具備所有必要的外掛程式變更,韌體更新就會推出。

如要進一步瞭解簽署的報表,請前往 LVFS。

常見問題

問:哪些 Chromebook 支援 fwupd?

搭載 M101 以上版本的 ChromeOS 裝置。

問:如何找出與 ChromeOS 整合的 fwupd 版本?

  1. 透過瀏覽器開啟 chrome://system (M109 以上版本)。
    1. 前往 fwupd_version
  2. 或透過開發人員模式、根層級控制台,
    1. 類型 fwupdmgr --version
    2. 尋找「runtime org.freedesktop.fwupd」

問:fwupd uprev 程序需要多久時間?

fwupd uprev 遵循 Chromium 發布時間表,請務必在分支功能凍結截止日期前提交 fwupd uprev 要求。

問:哪裡可以取得更多有關 ChromeOS 發布時間表的資訊?

Chromium 發布時間表。

問:如何將 Chromebook 切換為開發人員模式?

  1. 關閉 Chromebook。
  2. 按住 esc 鍵 + 重新整理鍵,然後按下電源鍵。
    • 注意:在某些 Chromebook 上,請依序按下 Esc 鍵 + → 鍵 (向右箭頭鍵),然後按下電源鍵。
  3. 裝置會開啟,並顯示「復原」畫面 / 模式。
  4. 然後依序按下 Ctrl+D 鍵和 Enter 鍵,接受變更。
    • 注意:如果先按下任何按鍵,再按 Ctrl+D 鍵,裝置就不會進入開發人員模式。
  5. 裝置會重新啟動並發出音效,螢幕上會顯示「系統正在轉換至開發人員模式」。
  6. 大約 30 秒後,畫面會顯示「正在準備進入開發人員模式」。
  7. 最終 (視磁碟大小而定,可能需要 10 分鐘到 1 小時以上),裝置會重新啟動並顯示一般歡迎畫面。
  8. 取得命令提示字元:按下 Ctrl+Alt+→ (向右鍵)。
    • 注意:在部分 Chromebook 上,請按 Ctrl+Alt+重新整理鍵。
    • 如要返回瀏覽器檢視畫面,請按下 Ctrl+Alt+← (向左鍵)。
  9. 詳情請參閱 [開發人員模式]

問:如何將 Chromebook 切換回一般模式 (即停用開發人員模式)?

重新啟動裝置,並在韌體畫面中按下空格鍵。

詳情請參閱 [開發人員模式]。

問:ChromeOS 是否支援透過 fwupd 降級?

否。如果 fwupd 或韌體的正式版發生問題,您必須透過 https://fwupd.org/lvfs/dashboard 刪除已簽署的報表。每當提交外掛程式變更和/或有新的韌體可用時,請務必進行測試。確保 LVFS 穩定版遙控器一律提供韌體基本版本。

問:如何得知哪些 ChromeOS 版本支援哪些 fwupd 更新?

您可以在錯誤中留言,詢問變更內容併入哪個建構版本,Google 工程師應能提供相關資訊。您也可以使用 CL Finder 在 ChromeOS 合作夥伴控制台 (CPCon) 中搜尋建構版本 (需要 Google 公司合作夥伴網域帳戶,請洽詢 TAM,取得 CPCon 的存取權)。您可以在 ChromeOS 合作夥伴前端 (CPFE) 上交叉參照建構版本,查看對應的里程碑。

問:如何建立 LVFS 帳戶?

請參閱「取得帳戶」LVFS 說明文件。

問:如何將 cab 檔案上傳至 LVFS?

請參閱 Uploading Firmware LVFS 說明文件。

問:如何確保韌體適用於特定周邊裝置?

您可以使用最瞭解的設定檔完成這項操作。詳情請參閱 fwupd 最佳已知設定。

問:如何先測試 fwupd 更新,再上傳至 LVFS?

提交外掛程式變更,並將選取的 fwupd 版本併入 ChromeOS 測試映像檔後,您就能透過 ChromeOS 合作夥伴前端 (CPFE) 存取測試映像檔 (需要 Google 公司合作夥伴網域帳戶,如要存取 CPFE,請與 TAM 聯絡)。

請參閱 LVFS 說明文件「在 ChromeOS 上測試韌體」。你也可以使用 Moblab 執行 fwupd 測試。

問:如何通知使用者周邊裝置有韌體更新?

使用者會收到更新通知,通知頻率取決於 LVFS 中更新的緊急程度。行為如下:

急迫性 通知行為
低 使用者不會收到通知,必須手動檢查更新。
中
高
最高 更新完成前,每次開機都會顯示通知。

問:fwupd 會自動更新嗎?

不會。所有 fwupd 更新都是由使用者啟動,不會在開機期間或自動進行。

問:DS20 規格有哪些優點?

目前僅驗證 USB 周邊裝置,如果你使用與其他硬體相同的通訊協定,只要使用 DS20 描述元即可。

供應商可將特殊情況檔案資料放入 USB 描述元,而非 fwupd 專案。這樣一來,插入 USB 裝置後,fwupd 就能讀取描述元資料、比對外掛程式、列舉裝置,不必請供應商向 fwupd 提交修補程式,也不必等待 fwupd 升級。

問:DS20 是不是只用來替代怪異檔案變更的選項?

可以。大多數情況下,只要將 VID 和 PID 新增至現有外掛程式,即可支援未來的硬體,不需要實際變更程式碼。如果需要變更程式碼,供應商必須向 fwupd 提交外掛程式變更。

附錄

  1. 開發人員指南
  2. 開發人員支援
  3. ChromeOS 貢獻者適用的 Git 和 Gerrit 簡介
  4. 變更原始碼
  5. Gerrit 審查/核准程序
  6. fwupd 整合手冊

修訂版本記錄

日期 版本 附註
2026-07-23 2.4.4 更新 fwupd 整合劇本連結
2025-07-23 2.4.3 更新用途 1 工作流程
2024-10-18 2.4.2 更新 fwupd 工作流程圖片和上傳用戶端憑證的步驟
2024-07-23 2.4.1 格式更新。
2024-06-26 2.4 更新 fwupd uprev 工作流程 (使用情境 1)。(與 2.4.1 一併發布)
2024-06-17 2.3 更新簽署報表工作流程。(與 2.4.1 一併發布)
2024-02-01 2.2 在新平台上重新發布;小幅更新措辭。
2023-10-12 2.1 在案件 1 和案件 2 中新增圖片,合作夥伴網站上提供 fwupd 整合手冊
2022-08-14 2.0 首次發布合作夥伴網站