Fwupd je démon, který pomáhá spravovat instalaci firmwaru v systému Linux. Fwupd je ve výchozím nastavení nakonfigurováno pro stahování firmwaru ze služby Linux Vendor Firmware Service (LVFS). LVFS je zabezpečená webová stránka, která umožňuje prodejcům hardwaru nahrávat aktualizace firmwaru.
Cílem Fwupd je zajistit, aby aktualizace firmwaru v systémech Linux byla automatická, bezpečná a spolehlivá. Slouží především k aktualizaci firmwaru UEFI. Existuje mnoho společností, které již podporují nativní aktualizace firmwaru, jako jsou Dell, Lenovo, HP, Intel a System76.
V tomto tutoriálu se naučíme, jak aktualizovat firmware na Ubuntu pomocí fwupd.
Nainstalujte fwupd na Ubuntu
Fwupd je ve výchozím nastavení k dispozici na novějších verzích Ubuntu. V případě, že nástroj není nainstalován, spusťte následující příkaz pro instalaci z úložiště Ubuntu.
$ sudo apt install fwupd
Chcete-li na příkazovém řádku aktualizovat konkrétní zařízení, které vyžaduje nejnovější verzi fwupd, nainstalujte fwupd pomocí Snap nebo pomocí Flatpak.
Zobrazit podporovaná zařízení
Chcete-li detekovat a zobrazit zařízení s firmwarem podporovaným fwupd, použijte následující příkaz.
$ fwupdmgr get-devices
Výstup:
20FMS1W300
│
├─System Firmware:
│ Device ID: 218dfc72dd94339f3c3fe47b0df642273d049170
│ Current version: 0.1.41
│ Minimum Version: 0.1.22
│ Vendor: LENOVO (DMI:LENOVO)
│ GUIDs: c9a0acef-aa63-4b85-a52d-a9384163c0e8
│ 230c8b18-8d9b-53ec-838b-6cfc0383493a
│ 717544ba-7153-5a85-be27-9c9ea9b078d0
│ Device Flags: • Internal device
│ • Updatable
│ • System requires external power source
│ • Supported on remote server
│ • Needs a reboot after installation
│ • Cryptographic hash verification is available
│ • Device is usable for the duration of the update
│
├─TS240GSSD220S:
│ Device ID: e421b2fc248391f6fe3e55ddbb3c9043be068bd0
│ Summary: ATA Drive
│ Current version: R0123A0
│ Vendor: Transcend (ATA:0x8564)
│ GUIDs: 6771f965-9e0a-5a09-8271-ef0f66ac2f37
│ bbff7a8b-2ac7-5dd8-a13f-d0be97e02695
│ 3a74d7ba-b063-5a4f-b9e4-35229efc7b5b
│ Device Flags: • Internal device
│ • Updatable
│ • System requires external power source
│ • Needs a reboot after installation
│ • Device is usable for the duration of the update
│
├─UEFI Device Firmware:
│ Device ID: 272f84ea6e0e8c9a566ee486fa5299feb1a3a3b6
│ Current version: 2953577449
│ Minimum Version: 1
│ Vendor: DMI:LENOVO
│ GUIDs: c5ef09d4-1f20-41fc-a197-ed88ba3c9bd7
│ 5546bb0d-20e1-5e53-9c0b-8b6da1f3981c
│ Device Flags: • Internal device
│ • Updatable
│ • System requires external power source
│ • Needs a reboot after installation
│ • Device is usable for the duration of the update
│
└─UEFI Device Firmware:
Device ID: 1e27bf0e569658d727f2d126752b270ed048ea45
Current version: 65544
Minimum Version: 1
Vendor: DMI:LENOVO
GUIDs: dad450ea-85da-4121-ae37-ce857cfa2b8e
dda61f4f-5fb5-522a-8020-fb78ba4a7976
Device Flags: • Internal device
• Updatable
• System requires external power source
• Needs a reboot after installation
• Device is usable for the duration of the update
V tomto příkladu vidíme, že mám čtyři zařízení, která jsou podporována fwupd. Můžete také zkontrolovat zařízení podporovaná LVFS a všechny aktualizace, které byly zpřístupněny veřejnosti.
Stahování nejnovějších metadat z LVFS
refresh
možnost stáhne nejnovější metadata. Chcete-li stáhnout nejnovější metadata z LVFS, zadáme následující příkaz:
$ fwupdmgr refresh
Výstup:
Firmware metadata last refresh: 1 hour ago. Use --force to refresh again.
Vidíme, že v našem systému máme nejnovější metadata.
Kontrola dostupných aktualizací firmwaru
Chcete-li zobrazit dostupné aktualizace pro všechna zařízení v systému, použijte get-updates
možnost.
$ fwupdmgr get-updates
V mém případě jsem upozorněn, že pro moje zařízení nejsou k dispozici žádné aktualizace:
Devices with no available firmware updates:
• TS240GSSD220S
• UEFI Device Firmware
• UEFI Device Firmware
Devices with the latest available firmware version:
• System Firmware
No updates available for remaining devices
V jiném systému Linux to však vypadá, že jsou dostupné aktualizace firmwaru:
Devices with no available firmware updates:
• SC300B HFS256G39MND-3510B
• System Firmware
• UEFI dbx
20F90044GE
│
└─Intel Management Engine:
│ Device ID: 25127f5d4d5dfd6e903cda1a61a67cb092e4bb0f
│ Current version: 184.79.3722
│ Minimum Version: 184.79.3722
│ Vendor: DMI:LENOVO
│ GUIDs: 63451986-0c42-42db-9a18-342a8455ac68
│ 0e559cf4-f432-5cd4-9611-bd774afb417a
│ Device Flags: • Internal device
│ • Updatable
│ • System requires external power source
│ • Supported on remote server
│ • Needs a reboot after installation
│ • Device is usable for the duration of the update
│
├─ThinkPad T460s Corporate ME Update:
│ New version: 184.83.3874
│ Remote ID: lvfs
│ Summary: Lenovo ThinkPad T460s Corporate ME Firmware
│ License: Proprietary
│ Size: 7.5 MB
│ Created: 2016-07-08
│ Urgency: High
│ Details: https://pcsupport.lenovo.com/de/en/search?query=N1CRG67W
│ Vendor: Lenovo Ltd.
│ Flags: is-upgrade
│ Description:
│ • 8 Intel Platform Update 2020.2 HF2 Release
│
│ Version 11.8.83.3874 (LVFS: 184.83.3874)
│
│ Problem Fixes
│
│ • Mitigated several security vulnerabilities. Please see details under "Fixed Issues".
│
└─ThinkPad T460s Corporate ME Update:
New version: 184.80.3746
Remote ID: lvfs
Summary: Lenovo ThinkPad T460s Corporate ME Firmware
License: Proprietary
Size: 7.5 MB
Created: 2016-07-08
Urgency: High
Details: https://pcsupport.lenovo.com/de/en/search?query=N1CRG65W
Vendor: Lenovo Ltd.
Flags: is-upgrade
Description:
• 8 Intel Platform Update 2020.2 Release Version 11.8.80.3746 (LVFS: 184.80.3746) Problem Fixes • Mitigated the following security vulnerabilities under issues:
Aktualizujte firmware zařízení
Nakonec ke stažení a použití všech aktualizací pro váš systém použijte update
možnost.
$ fwupdmgr update
- Aktualizace, které lze použít živě, budou provedeny okamžitě.
- Aktualizace, které se spouštějí při spuštění, budou připraveny pro další restart.
Výstup:
Devices with no available firmware updates:
• SC300B HFS256G39MND-3510B
• System Firmware
• UEFI dbx
Upgrade available for Intel Management Engine from 184.79.3722 to 184.83.3874
20F90044GE must remain plugged into a power source for the duration of the update to avoid damage. Continue with update? [Y|n]: Y
Downloading… [* ] Less than one minute remaDownloading… [** ] Less than one minute remaDownloading… [** ] Less than one minute remaDownloading… [*** ] Less than one minute remaDownloading… [**** ] [****************************** ] Less than one minute remaDownloading… [******************************* ] Less than one minute remaDownloading… [***************************************]
Decompressing… [***************************************]
Authenticating… [***************************************]
Authenticating… [***************************************]
Updating Intel Management Engine…********************************]
Scheduling… [***************************************]
Successfully installed firmwareAn update requires a reboot to complete. Restart now? [y|N]:
Po restartu systému bude firmware našeho hardwaru aktualizován na nejnovější dostupnou verzi.
Závěr
V tomto tutoriálu jsme se naučili, jak aktualizovat firmware v systému Ubuntu pomocí fwupd.
Aktualizace firmwaru můžete provádět také pomocí nejoblíbenějších rozhraní pro správu softwaru, jako je GNOME Software, KDE Discover a Wyse Management Suite.
Projekt fwupd také vyzývá uživatele, aby hlásili úspěšné i neúspěšné aktualizace zpět do LVFS. Jedná se o volitelnou funkci, kterou však doporučujeme, protože poskytuje cennou zpětnou vazbu správcům LVFS a OEM vývojářům ohledně účinnosti procesu aktualizace firmwaru. Hlášení můžete odeslat pomocí:
$ fwupdmgr report-history
Děkujeme za přečtení, dejte nám prosím vědět, jak dobře proběhla aktualizace firmwaru ve vašem systému Linux.