You are not logged in.

#1 2024-12-07 21:24:57

ryanbarillos
Member
Registered: 2023-11-29
Posts: 51

Making an EFI Entry for "Fwupd" to Update Computer Firmware

Hi. I recently discovered that I can update my computer's drivers' firmwares via Fwupd in the Arch Wiki (further negating my need to dual boot on Windows). Though I'm partially confused on how to set it up.

NOTE: My Arch Linux on GNOME setup runs on systemd-boot with my EFI partition mounted on /efi (not /boot/efi)


Problem 1
I found in the wiki page for systemd-boot that shows an EFI entry for Fwupd, as shown like so:

esp/loader/entries/fwupd.conf

title  Firmware updater
efi     /EFI/tools/fwupdx64.efi

I know I have installed the package and fwupd-efi package (required by fwupd), but I don't see this EFI entry existing at all. Is there another step I'm missing here that I either missed in the Wiki, or not present there?

Problem 1
Fwupd also provides an fwupd.service that, whenever I try to do enter the following line in the terminal:

sudo systemctl enable fwupd.service

I'm only greeted with the following message

The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=,
Also=, or Alias= settings in the [Install] section, and DefaultInstance= for
template units). This means they are not meant to be enabled or disabled using systemctl.
 
Possible reasons for having these kinds of units are:
• A unit may be statically enabled by being symlinked from another unit's
  .wants/, .requires/, or .upholds/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
  a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
  D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
  instance name specified.

I wish to know what I'm missing in these problems.
Thanks in advance smile

Offline

#2 2024-12-07 22:10:31

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 9,003
Website

Re: Making an EFI Entry for "Fwupd" to Update Computer Firmware

You should copy /usr/lib/fwupd/efi/fwupdx64.efi to the EFI system partition and reference that location in the loader entry.

The service should not be enabled because dbus starts it when you run the application.


Jin, Jîyan, Azadî

Offline

#3 2024-12-07 23:13:51

ryanbarillos
Member
Registered: 2023-11-29
Posts: 51

Re: Making an EFI Entry for "Fwupd" to Update Computer Firmware

Head_on_a_Stick wrote:

The service should not be enabled because dbus starts it when you run the application.

Thanks!

Head_on_a_Stick wrote:

You should copy /usr/lib/fwupd/efi/fwupdx64.efi to the EFI system partition and reference that location in the loader entry.

Thanks as well for this! In my case, I have to copy that to /efi/EFI/tools/fwupdx64.efi as my EFI partition won't be able to find that location at boot (it can only search files within its own partition).

So I tried it entering it without any firmware updates (all my drivers are at latest versions, thankfully), and I get an error after waiting for 10 seconds for not having any firmware updates at all:

Failed to execute Firmware Updater (\EFI\tools\fwupdx64.efi): Invalid parameter

Not sure what's wrong. And as far as I'm concerned, I only copy-pasted the entry from systemd-boot wiki page with the exact, same contents as shown:

/efi/loader/entries/fwupd.conf

title	Firmware Updater
efi	/EFI/tools/fwupdx64.efi

What could I have done wrong? I only copied the EFI entry as you guided, but not the other files within /usr/lib/fwupd/. What else could be missing? (Don't wanna risk bricking my device for good due to an issue like that).

Last edited by ryanbarillos (2024-12-07 23:14:21)

Offline

#4 2024-12-07 23:40:08

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 9,003
Website

Re: Making an EFI Entry for "Fwupd" to Update Computer Firmware

I think fwupdx64.efi only does something if there are any updates to apply.

EDIT: sorry, just tried myself and it actually gives a "no updates to apply" message for me. Is your UEFI firmware definitely 64-bit? Check /sys/firmware/efi/fw_platform_size.

Last edited by Head_on_a_Stick (2024-12-08 00:07:48)


Jin, Jîyan, Azadî

Offline

#5 2024-12-08 01:04:22

ryanbarillos
Member
Registered: 2023-11-29
Posts: 51

Re: Making an EFI Entry for "Fwupd" to Update Computer Firmware

Head_on_a_Stick wrote:

Is your UEFI firmware definitely 64-bit? Check /sys/firmware/efi/fw_platform_size.

I checked, and the output message was 64. So definitely 64-bit.

I also have Secure Boot disabled (if relevant, at all).

Offline

#6 2024-12-08 09:26:45

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 9,003
Website

Re: Making an EFI Entry for "Fwupd" to Update Computer Firmware

So what do you actually see when the option boots? How does that differ from what you expect to see?

I see a message telling me there are no updates with a ten second countdown and then the machine resets. Is it just the last step that fails for you?


Jin, Jîyan, Azadî

Offline

#7 2024-12-12 01:22:04

ryanbarillos
Member
Registered: 2023-11-29
Posts: 51

Re: Making an EFI Entry for "Fwupd" to Update Computer Firmware

Head_on_a_Stick wrote:

So what do you actually see when the option boots? How does that differ from what you expect to see?

I see a message telling me there are no updates with a ten second countdown and then the machine resets. Is it just the last step that fails for you?

Pretty much. Here's a photo I took for you to check the error I get:

https://imgur.com/a/MlOuJOj

Offline

#8 2024-12-12 06:55:23

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 9,003
Website

Re: Making an EFI Entry for "Fwupd" to Update Computer Firmware

Everything is configured correctly and fwupdx64.efi is loading and running so I would suggest taking this upstream. Looks like your firmware doesn't support whatever the application is trying to do.


Jin, Jîyan, Azadî

Offline

#9 2024-12-13 03:50:57

ryanbarillos
Member
Registered: 2023-11-29
Posts: 51

Re: Making an EFI Entry for "Fwupd" to Update Computer Firmware

Head_on_a_Stick wrote:

Everything is configured correctly and fwupdx64.efi is loading and running so I would suggest taking this upstream. Looks like your firmware doesn't support whatever the application is trying to do.

You mean make a report on my issue on the GitHub page of "fwupd"?

Offline

#10 2024-12-14 10:57:09

Head_on_a_Stick
Member
From: The Wirral
Registered: 2014-02-20
Posts: 9,003
Website

Re: Making an EFI Entry for "Fwupd" to Update Computer Firmware

It would probably be best to wait until you actually have an update to apply and then see how it fails but that approach does carry the risk of bricking your machine.


Jin, Jîyan, Azadî

Offline

#11 2024-12-16 01:17:24

ryanbarillos
Member
Registered: 2023-11-29
Posts: 51

Re: Making an EFI Entry for "Fwupd" to Update Computer Firmware

Head_on_a_Stick wrote:

It would probably be best to wait until you actually have an update to apply and then see how it fails but that approach does carry the risk of bricking your machine.

I'll probably just re-install Windows on a separate partition in that case.
And I'll try to reach out to the developers on GitHub and seek their recommendations.

Offline

Board footer

Powered by FluxBB