Introduction
I have been playing with my NixOS config for my Framework laptop and noticed that there was a significantly more recent version of the BIOS available. There are some basic instructions for updating the bios using fwupdmgr, firmware update manager client utility, in the nixos-hardware Framework’s readme. Those instruction did not work for me but after some digging I found this thread on the Framework discourse. Of course, if I had looked properly, I could have found the complete instructions on the Framework knowledge base.
What you want to pay extra special attention to is the “Linux/LVFS Beta Testing BIOS” section.
One thing you will notice are these instructions to modify the /etc/fwupd/uefi_capsule.conf file and include/uncomment a line that says DisableCapsuleUpdateOnDisk=true.
Thankfully, the Nix community has noticed this and added a fix so we do not have to mess around with configuration files.
It was initially brought up in this PR and a fix was merged in this PR.
With all that said, here was you need to do to update your Framework laptop’s BIOS using NixOS.
Note: I have an 11th Gen Intel Framework laptop. The process might be slightly different for another generation and/or architecture.
Instructions
-
Make sure your laptop is plugged in and not running on its battery.
-
Enable
fwupdviaservices.fwupd.enable = true; -
Rebuild your system using
nixos-rebuild. I used theswitchflag becausefwupdneeds to run after reboot. I cannot say for certain if thetestwill work but better safe than a bricked laptop. -
Add the LVFS testing channgel via
fwupdmgr enable-remote lvfs-testing -
Then run the following
fwupdmgr refresh fwupdmgr get-updates fwupdmgr update -
The prompt will recommend that you reboot and you should do so. The system will reboot and
fwupdwill begin updating your BIOS.
Do not worry if it appears to take a while. My system took a few minutes to update, rebooted, showed nothing but a black screen for another minute and then continued with the boot process normally. You got this.
👋