Updating BIOS on Linux
March 10 2025 6:22pm • Est. Read Time: 3 MINThere are two release types we use at Framework to get our customers onto the latest BIOS releases. This KB article will walk you through the two BIOS types we offer.
- Public BIOS releases.
- Beta BIOS releases.
And with that, there are two installation methods.
- LVFS: This can be done from a Linux terminal.
- EFI Shell: This is done with a USB key.
NOTE: some BIOS releases will NOT be available via LVFS, so be sure to read those release notes carefully.
Linux/LVFS Released BIOS
For this section on LVFS, we'll be addressing the public release of BIOS.
Ubuntu LTS
Open a terminal, follow these directions exactly.
fwupdmgr refresh --force
then
fwupdmgr get-updates
then
fwupdmgr update
This will take awhile and you can expect it to reboot on its own. Do not force the power off as this will interrupt the process - allow rebooting to happen naturally.
Fedora
Open a terminal, follow these directions exactly.
fwupdmgr refresh --force
Next, you will run:
fwupdmgr get-updates
then lastly
fwupdmgr update
This should complete, then you will choose to reboot.
Reboot
NOTE: LVFS may not update if the battery is 100% charged. LVFS uses the battery status to determine if it is safe to apply updates. However if our battery is at 100% and the charger is off, we set the battery charging status to false. In this case you can discharge your battery a few percent, then plug in AC again and run fwupdmgr update.
Linux/LVFS Beta Testing BIOS
For this section on LVFS, we'll be addressing the beta release (testing) of BIOS.
- Follow the above instructions for Ubuntu and Fedora.
- You can enable updates from testing by running the following from the terminal:
fwupdmgr enable-remote lvfs-testing
- You will be asked to confirm with Y once, and then once again.
- You will then see “Successfully enabled and refreshed remote.”
Now that you have the more current version of fwupd installed after rebooting as instructed above. We’ll run the next steps:
fwupdmgr refresh --force
then
fwupdmgr get-updates
then
fwupdmgr update
This will take awhile and you can expect it to reboot on its own. Do not force the power off as this will interrupt the process - allow rebooting to happen naturally.
NOTE:LVFS may not update if the battery is 100% charged. LVFS uses the battery status to determine if it is safe to apply updates. However if our battery is at 100% and the charger is off, we set the battery charging status to false. In this case you can discharge your battery a few percent, then plug in AC again and run fwupdmgr update.
Linux/Other/UEFI Shell update
First let's make sure you are absolutely sure which Framework motherboard you are using and which BIOS is currently installed. This method can be used for Beta releases and for Public BIOS releases.
Ubuntu users:
sudo apt install lshw dmidecode -y && sudo dmidecode | grep -A3 'Vendor:\|Product:' && sudo lshw -C cpu | grep -A3 'product:\|vendor:'
Fedora users:
sudo dnf install lshw dmidecode -y && sudo dmidecode | grep -A3 'Vendor:\|Product:' && sudo lshw -C cpu | grep -A3 'product:\|vendor:'
The above commands will give you your product type and also your BIOS version.
Download the EFI link for the BIOS you wish to upgrade to. Remember, make sure it's the correct BIOS for the correct motherboard.
Instructions for EFI shell update:
- Download the correct BIOS zip after reading the release notes for your BIOS update.
- Extract contents of zip folder to a FAT32 formatted USB drive. Cleanly unmount the drive before physically removing it, otherwise the BIOS update may not function correctly.
- Boot your system while pressing F12 just before the Framework splash screen and boot from the thumb drive.
- Let startup.nsh run automatically.
- Follow the instructions to install the update.
Available BIOS updates
You will find available BIOS update files here.