fwupd,Linux 中管理韌體更新的卓越工具

Fwupd 標誌。

最近公佈了 發布工具 fwupd 2.0 開源 用於管理和更新Linux中各種設備的韌體。 其目的是促進硬體上韌體的安裝和更新,而無需訪問製造商特定的工具或重新啟動到不同的作業系統。

fwupd 使用LVFS韌體更新服務 (Linux 供應商韌體服務),製造商上傳其韌體更新。目前,LVFS 目錄包括來自 1,600 個製造商的 160 多個設備的韌體。

使用EL 這個集中目錄消除了製造商為每個發行版產生特定包的需要,允許他們以包含附加元資料的“.cab”檔案傳輸固件,類似於發布 Windows 韌體時所做的操作。

很多 用戶可以直接從其發行版下載並安裝這些更新 Linux,促進了大量的進程,因為它既支援自動韌體更新模式,也支援確認後執行操作的選項。

主要特點之一 從 fwupd 中脫穎而出,我們可以發現以下內容:

  • 支援多種裝置(UEFI、USB、Thunderbolt、顯示器等)。
  • 韌體安裝和更新無需重新啟動或離開工作環境。
  • 與套件管理器和系統更新整合。
  • 與許多 Linux 發行版相容
  • 這是保持韌體更新的便捷且安全的解決方案
  • 它與 GNOME Software 和 KDE Discover 應用程式管理器相容。
  • 不僅限於桌面系統,也適用於智慧型手機、平板電腦、伺服器、物聯網設備等裝置上的韌體更新。

fwupd 2.0 有什麼新功能?

在這個新版本的 fwupd 2.0 中, 將後台程序從使用 GUsb 的 GObject 掛鉤移至直接存取 libusb 和 sysfs。 此變更使得可以將裝置模擬移至 libfwupdplugin 庫,並在虛擬 hidraw 和 nvme 裝置上實作韌體更新模擬,類似於使用虛擬 USB 裝置執行的模擬。借助此功能,我們能夠執行額外的測試,以識別對 fwupd 進行某些更改後可能出現的更新問題。

GUdev 庫, 它透過 libudev 提供 GObject 綁定, 已從該處所移走。相反,fwupd 進程現在會建立一個 netlink 套接字 分析通過它傳輸的 udev 事件。這個改變 顯著降低了記憶體消耗和 CPU 負載 在啟動和操作過程中,除了簡化 ueventd 支援的合併之外,這將允許 fwupd 與 Android 平台相容。

已進行優化以減少記憶體消耗 將韌體從檔案傳輸到設備時;現在不再將韌體複製到內存,而是透過檔案描述符進行傳輸。還 新增了對各種新設備的支援。

另外, 對舊元資料和韌體驗證格式的支援已停止, 以前不建議使用的命令列實用程式已被刪除。還 新增了 API 以在 gnome-firmware 中載入報告 建置系統現在包括對 Darwin 平台的支援。

最後,我們新增了以 JSON 格式顯示 ESP 檔案清單的功能(使用 fwupdtool esp-list –json 命令),並新增了在組態中指定模擬設備的選項。

最後,如果您有興趣能夠了解更多,可以在 以下鏈接。

如何在 Linux 上安裝 fwupd?

對於那些對安裝 fwupd 感興趣的人,您應該知道,在大多數發行版中,它已經預先安裝了。但是,如果您尚未安裝它,則可以根據您的發行版使用以下命令來完成此操作:

Ubuntu 及其衍生產品:

sudo apt install fwupd

Fedora的:

sudo dnf install fwupd

Arch Linux 以及基於它的:

sudo pacman -S fwupd

如何使用fwupd?

使用 fwupd 的方法非常簡單,基於執行命令和 正確的方法是始終更新資料庫 在繼續更新設備韌體之前,請先了解可用韌體的資訊。我們可以透過輸入以下內容來做到這一點:

sudo fwupdmgr refresh

查看哪些裝置支援 fwupd以及其當前狀態,如果有可用更新,則可以使用以下命令進行更新:

fwupdmgr get-devices

一旦您列出了設備,他們就可以 檢查韌體更新 可以透過運行:

fwupdmgr get-updates

如果有可用的韌體更新, 你可以透過運行來應用它們:

sudo fwupdmgr update

顯示已安裝的韌體更新列表 透過 fwupd,您可以使用以下命令來完成此操作:

fwupdmgr history