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: 2173

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: 419
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
Goverp
Advocate
Advocate


Joined: 07 Mar 2007
Posts: 2173

PostPosted: Tue Nov 05, 2024 11:01 am    Post subject: Reply with quote

Thanks, that clarifies things. My interest comes from considerations of trying to trim linux-firmware(as in this forum topic) from 1GB to just that which my machine uses, and worries that doing so might break fwupd.
_________________
Greybeard
Back to top
View user's profile Send private message
logrusx
Advocate
Advocate


Joined: 22 Feb 2018
Posts: 2390

PostPosted: Tue Nov 05, 2024 11:16 am    Post subject: Reply with quote

I get the feeling what you want is this:

https://bugs.gentoo.org/911305

Microcode update has nothing to do with firmware update, aside from already mentioned scenario where a firmware update contains microcode update. Fwupd is only involved if your device is supported and receive firmware updates through fwupd. Not that many devices are supported, mostly because vendors insist on their obfuscated proprietary delivery mechanisms like Insyde BIOS and such.

fwupd and linux-firmware have no relationship whatsoever.

Best Regards,
Georgi
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