Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Does fwupd use linux-firmware? What about BIOS updates?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
Goverp
Advocate
Advocate


Joined: 07 Mar 2007
Posts: 2171

PostPosted: Sun Nov 03, 2024 5:04 pm    Post subject: Does fwupd use linux-firmware? What about BIOS updates? Reply with quote

Hopefully the title says it all, but to expand:
Can anyone tell me about the relationship between sys-apps/fwupd - the automatic firmware updater - and sys-kernel/linux-firmware - the library of about 1 GB of firmware that's referenced in the kernel and elsewhere?
It's not at the moment a concern, just "inquring minds would like to know".

IIUC, fwupd updates the firmware on installed/attached hardware (disk drives, printers, scanners, sound cards, whatever). Does it use linux-firmware, or does it have its own supply?
Conversely, does fwupd update the contents of /lib/firmware (which of course is initially populated by the linux-firmware package)? I hope not!

AFAIK, Linux can (and for my box does) update the CPU microcode during the boot process, from linux-firmware. Does fwupd also do this, if set to run as a daemon? And if so, who wins :-)

And to add to the fun, will fwupd update my system's BIOS? I note the following lines in "fwupdmgr get-devices":
Code:
─System Firmware:
│ │   Device ID:          b692fbe248e186c3c1de343500fae334146dc67d
│ │   Summary:            UEFI System Resource Table device (updated via NVRAM)
│ │   Current version:    20499
│ │   Minimum Version:    20499
│ │   Vendor:             System manufacturer (DMI:American Megatrends Inc.)
│ │   Update State:       Success
│ │   GUID:               d806a1e7-39b0-53fd-8fa0-2426bae8928e
│ │   Device Flags:       • Internal device
│ │                       • Updatable
│ │                       • System requires external power source
│ │                       • Needs a reboot after installation
│ │                       • Device is usable for the duration of the update
│ │   Device Requests:    • Message
│ │
│ └─UEFI dbx:
│       Device ID:        362301da643102b9f38477387e2193e57abaa590
│       Summary:          UEFI revocation database
│       Current version:  77
│       Minimum Version:  77
│       Vendor:           UEFI:Linux Foundation
│       Install Duration: 1 second
│       GUIDs:            f8ff0d50-c757-5dc3-951a-39d86e16f419 ← UEFI\CRT_D7F66BE77CEF858C174BF4338A99263C8795B74E02026411F5F532F716AE3263&ARCH_X64
│                         f8ba2887-9411-5c36-9cee-88995bb39731 ← UEFI\CRT_A1117F516A32CEFCBA3F2D1ACE10A87972FD6BBE8FE0D0B996E09E65D802A503&ARCH_X64
│                         0c7691e1-b6f2-5d71-bc9c-aabee364c916 ← UEFI\CRT_ED1FE72CB9CA31C9AF5B757AFCD733323D675825032E6CED7FE1AE9EB767998C&ARCH_X64
│       Device Flags:     • Internal device
│                         • Updatable
│                         • Needs a reboot after installation
│                         • Device is usable for the duration of the update
│                         • Only version upgrades are allowed
│                         • Signed Payload

and for the CPU and GPU:
Code:
├─AMD Ryzen 9 5950X 16-Core Processor:
│ │   Device ID:          4bde70ba4e39b28f9eab1628f9dd6e6244c03027
│ │   Current version:    0x0a20120e
│ │   Vendor:             Advanced Micro Devices, Inc.
│ │   GUIDs:              af6af62f-513f-5d1b-8c80-23c44eafbe19 ← CPUID\PRO_0&FAM_19&MOD_21
│ │                       066e2405-0349-51a6-be7f-923dbd4e9873 ← CPUID\PRO_0&FAM_19&MOD_21&STP_2
│ │   Device Flags:       • Internal device
│ │
├─Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (Radeon RX 570):
│     Device ID:          d05d536fa7bd6811a229e6b6e896497fa3cf1084
│     Current version:    xxx-xxx-xxx
│     Vendor:             Advanced Micro Devices, Inc. [AMD/ATI] (PCI:0x1002, PCI:0x1022)
│     GUIDs:              55746bd7-4196-594a-9d39-0808222765d1 ← PCI\VEN_1002&DEV_67DF
│                         d7ca50c5-ee5b-5176-9ad6-fb7020428514 ← PCI\VEN_1002&DEV_67DF&SUBSYS_145822F0
│                         2d530482-50db-5cbc-97f7-6ae02507276d ← PCI\VEN_1022&DEV_1483
│                         096b5b3d-f21f-54a8-93a2-4ce108fa0f6f ← PCI\VEN_1022&DEV_1483&SUBSYS_10438808
│     Device Flags:       • Internal device
│                         • Cryptographic hash verification is available

_________________
Greybeard
Back to top
View user's profile Send private message
Nowa
Developer
Developer


Joined: 25 Jun 2014
Posts: 417
Location: Nijmegen

PostPosted: Mon Nov 04, 2024 2:03 pm    Post subject: Re: Does fwupd use linux-firmware? What about BIOS updates? Reply with quote

Goverp wrote:
IIUC, fwupd updates the firmware on installed/attached hardware (disk drives, printers, scanners, sound cards, whatever). Does it use linux-firmware, or does it have its own supply?


It does not use what linux-firmware installs, it fetches firmware from the Linux Vendor Firmware Service repository.

Quote:
Conversely, does fwupd update the contents of /lib/firmware (which of course is initially populated by the linux-firmware package)? I hope not!


It does not, /lib/firmware contains binary blobs which are uploaded to the device when the system boots as part of the driver initialization. fwupd permanently flashes new firmware to a device.

Quote:
AFAIK, Linux can (and for my box does) update the CPU microcode during the boot process, from linux-firmware. Does fwupd also do this, if set to run as a daemon? And if so, who wins :-)

And to add to the fun, will fwupd update my system's BIOS?


It might, it depends on the vendor and whether they use the Linux Vendor Firmware Service or not. Fwupd does not handle CPU microcode directly, though an UEFI update may contain newer versions of the CPU microcode. CPU microcode can never be downgraded so whichever version is newest, the one shipped with the UEFI or the one supplied to the Linux kernel, is used. By default CPU microcode can only be updated directly after the kernel image is loaded.
_________________
OS: Gentoo 6.10.12-gentoo-dist, ~amd64, 23.0/desktop/plasma/systemd
MB: MSI Z370-A PRO
CPU: Intel Core i9-9900KS
GPU: Intel Arc A770 16GB & Intel UHD Graphics 630
SSD: Samsung 970 EVO Plus 2 TB
RAM: Crucial Ballistix 32GB DDR4-2400
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum