Home Firmware

Firmware

Firmware updates, release notes, and how to update via LVFS.
Sean Rhodes
By Sean Rhodes
2 articles

Update Firmware via EFI Shell

Updating your firmware using the EFI Shell is straightforward and safe when done carefully. Follow this step-by-step guide to prepare your USB drive, enter the EFI Shell, and complete the update. ⚠️ Note: You’ll need a USB Flash Drive with at least 8 MB of free space to perform this update. Make sure your laptop is plugged into its charger before starting. 1) Download the Firmware Download the firmware file for your specific model from here. Firmware files are stored in folders named according to the model. For example, for the StarBook Mk IV, the files are in StarBook/MkVI-Intel/, ITE updates in /ite, and the file you need is efi-B6-I.zip. Download 2) Extract the Firmware Files After downloading the file, right-click it and select Extract Here. Extract Open the extracted folder, select all files and folders using the mouse or by pressing Ctrl and A. Right-click and select Copy. 3) Prepare the USB Flash Drive Your USB drive must be formatted in FAT32 format. Open your distribution's disk manager. You can typically find it by searching for disks. The process is similar across most distributions. In Ubuntu, select your USB drive and click the - sign to remove the current partition. This action will delete all data on the drive. After removing the original partition, the - sign will disappear and a + sign will appear. Click the + and set the Type to FAT. You can choose any name for the Volume Name. Once complete, locate your USB drive. Open it, right-click, and select Paste. The contents should resemble the image below. Files 4) Boot into the EFI Shell 1. Keep the USB drive connected. 2. Connect your laptop charger. 3. Shut down your laptop completely. 4. Power it back on and enter the EFI Shell: - For AMI firmware: Press F2 (or Fn + F2 if Function Lock is enabled) repeatedly until you see a blue boot menu. Use the arrow keys to select EFI Shell and press Enter. - For coreboot firmware: Press the key shown on-screen to open Boot Manager, then select EFI Shell. 5) Run the Update Once you’re in the EFI Shell, the update will start automatically. The process usually takes 10 seconds to 5 minutes. ⚠️ Do not turn off or restart your laptop during this process. Interrupting the update could make your device inoperable and require physical repair. When the update finishes, your laptop will either reboot automatically or shut down - this is normal. 💡 Tip: Some BIOS updates may require multiple reboots. If prompted, repeat the steps above to boot into the EFI Shell again.

Last updated on Feb 12, 2026

Updating your firmware

Keeping your firmware up to date helps your system stay secure, stable, and compatible with new hardware and software. This guide shows how to update firmware safely using LVFS (Linux Vendor Firmware Service). Important notes - Please use LVFS for firmware updates. - Using other methods (like flashrom or mtd) is not recommended and is done at your own risk. - If you are using Qubes OS, follow their documentation: https://www.qubes-os.org/doc/how-to-update/ Before you start - Plug your laptop into AC power and keep it connected during the update. - Avoid suspend/hibernation during flashing (keep the lid open if your system sleeps when closed). - Make sure you have a stable internet connection. - Don’t force power-off while an update is in progress. 1) Check your current firmware versions Open a terminal (for example, Ctrl + Alt + T), then run: BIOS version cat /sys/class/dmi/id/bios_version EC version cat /sys/class/dmi/id/ec_firmware_release (Optional) Confirm fwupd can see your devices: fwupdmgr get-devices 2) Install the required tools To update via LVFS, you need fwupd. Ubuntu / Linux Mint / elementary OS / Zorin OS (and other Ubuntu derivatives) sudo add-apt-repository ppa:starlabs/main sudo add-apt-repository universe sudo apt update sudo apt install fwupd libflashrom1 Fedora (GNOME/KDE) sudo dnf install fwupd Arch / Manjaro sudo pacman -S fwupd openSUSE sudo zypper install fwupd If you hit errors, jump to Troubleshooting. 3) Install firmware updates Option A: Terminal Refresh metadata fwupdmgr refresh Check what updates are available fwupdmgr get-updates Install updates fwupdmgr update If fwupdmgr asks to reboot (or schedules an offline update), reboot when prompted. Confirm versions (after updating) Re-run the version checks from Step 1, or use: fwupdmgr get-history Option B: Desktop apps Below are the most common desktop update paths. Pick the one that matches your distro. elementary OS Distro(s): elementary OS (v6+) From version 6 onward, firmware updates appear in System Settings → System → Firmware. elementarySystem You can view the current firmware information and install updates by clicking on each component. elementaryDetails GNOME Software Distro(s): Ubuntu (GNOME), Fedora Workstation (GNOME), Zorin OS, openSUSE (GNOME), Arch (GNOME), Manjaro GNOME, Debian (GNOME) Firmware updates appear alongside your normal software updates in the GNOME Software app. KDE Discover Distro(s): Kubuntu, KDE Neon, Fedora KDE, Manjaro KDE Firmware updates appear in Discover, just like normal app updates. KDEDiscover GNOME Firmware Distro(s): most distros (useful when firmware updates aren’t integrated into your software center) If your distro doesn’t integrate firmware updates into a software center, you can use the standalone GNOME Firmware app (available via most package managers, even on non-GNOME systems). You can check for updates via the menu → Check for Updates. If none of the above options are available, you can still manage firmware updates from the terminal. 4) Testing branch (optional) If you want to help test firmware updates before their official release, you can enable the LVFS testing remote: Enable fwupdmgr enable-remote lvfs-testing Disable fwupdmgr disable-remote lvfs-testing Downgrade back to stable fwupdmgr downgrade Please note: ensure you have a recovery option before enabling the testing remote. Troubleshooting No updates showing Try forcing a refresh and listing updates again: fwupdmgr refresh --force fwupdmgr get-updates You can also check enabled remotes: fwupdmgr get-remotes IO access errors Do I need iomem=relaxed? You only need this if fwupdmgr fails with an IO/memory access error. Common messages include: - /dev/mem mmap failed: Operation not permitted - Message recipient disconnected from message bus without replying (sometimes paired with the error above) If your firmware update works, you don’t need to change anything. How to confirm it’s enabled iomem=relaxed is a kernel boot parameter (set via your bootloader/GRUB), not something you change inside fwupd. After you’ve applied the change and rebooted, you can confirm the running kernel received it by checking the active boot parameters: cat /proc/cmdline If you see iomem=relaxed in the output, it’s enabled. If it’s needed If you see the errors above, add the iomem=relaxed kernel parameter: Debian-based distros sudo sed -i 's/quiet/quiet iomem=relaxed/g' /etc/default/grub sudo update-grub Fedora sudo sed -i 's/quiet/quiet iomem=relaxed/g' /etc/default/grub sudo grub2-mkconfig -o /boot/grub2/grub.cfg Arch (GRUB) sudo sed -i 's/quiet/quiet iomem=relaxed/g' /etc/default/grub sudo grub-mkconfig -o /boot/grub/grub.cfg Reboot after making the change. Version number mismatch If you see a message that version numbers don’t match: fwupdmgr update --force Failed to connect to daemon If you see a timeout activating org.freedesktop.fwupd, delete the pending DB: sudo rm /var/lib/fwupd/pending.db Other errors Run the updater script: bash <(curl -s https://raw.githubusercontent.com/StarLabsLtd/firmware/main/updater.sh) If this doesn’t work on your distribution, you can use a Live USB with Ubuntu to update.

Last updated on Feb 12, 2026