this post was submitted on 16 Dec 2023
24 points (75.0% liked)

Linux

8055 readers
73 users here now

Welcome to c/linux!

Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!

Rules:

  1. Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.

  2. Be respectful: Treat fellow community members with respect and courtesy.

  3. Quality over quantity: Share informative and thought-provoking content.

  4. No spam or self-promotion: Avoid excessive self-promotion or spamming.

  5. No NSFW adult content

  6. Follow general lemmy guidelines.

founded 1 year ago
MODERATORS
 

How to update the BIOS on a Dell laptop running Linux

For models not supported by lvfs

Completed successfully on a Dell Inspiron 3595 running Manjaro

This fix does not require Manjaro, it should work on any distro.

It took me a looong time to figure out how to do this for various reasons, and there are a lot of forum posts on the net about this exact problem. So for posterity I offer up this guide for any future googlers.

TLDR for advanced users: Use Ventoy to boot the Windows 10 installer and open the command prompt in the "Repair my PC" menu to launch the Dell BIOS update executable from a second USB.

  1. Grab two USBs that are at least 8 GB in capacity.
  2. Download the BIOS update file from the Dell support website.
  3. Copy it to the first USB. Mine was formatted as NTFS but I don't think it's critical to the process.
  4. Download Ventoy. If you've never heard of this, spend a minute reading about it. It's a cool tool.
  5. Flash Ventoy to your second USB.
  6. Acquire an .iso of Windows 10. I chose Windows 10 because Windows 7 didn't boot on my laptop (not sure why), and Windows 11 was too heavy for the CPU. I also tried Freedos but my laptop only has UEFI boot enabled, and no legacy option, which is apparently not supported. Note - you don't actually need to install or activate Windows in any way so I didn't feel it was necessary to be too picky about how I acquired the image.
  7. Copy the Windows 10 .iso file to your Ventoy USB.
  8. Boot from the Ventoy USB and select Windows 10. (F12 on most Dell laptops to interrupt the boot sequence)
  9. Click "Repair my PC" in the bottom left hand corner - DO NOT install.
  10. Click on the "Use command prompt" option which should be in the "Troubleshoot" menu.
  11. Insert your first USB with the Dell BIOS update file on it.
  12. Change directory to your first USB. It automatically mounted mine as D: Simply type the name of the drive to change to it.
  13. Type the name of the BIOS update file to execute. For example: Inspiron_3595_1.5.0.exe If you forget the name of the file, type dir to get a list of files in the current directory.
  14. Watch the magic happen and don't freak out if it reboots more than once - just let it do its thing until it's finished.
  15. (Optional) boot into the BIOS to confirm that the update has been successful (check the version number).

The entire process was fairly quick, less than 5 mintes, and it automatically rebooted twice. The only indication I had that it was finished was that on the third reboot it booted back into Linux. I went back into the BIOS later to confirm that the BIOS version number matched the version number on the Dell website (in this case, 1.5.0).

all 11 comments
sorted by: hot top controversial new old
[–] [email protected] 18 points 10 months ago (3 children)

Dell's website seems to suggest it can be done from the boot menu independently of an operating system:

Updating the BIOS from BIOS Boot Menu (independent of operating system)

  1. Copy the downloaded file to a USB drive. You do not need a bootable USB drive.
  2. Insert the USB drive into any USB port.
  3. Power on the system.
  4. At the DELL logo screen, press F12 to access the one-time boot menu.
  5. Select BIOS Flash Update in the Other Options section.
  6. Click the ... button to browse the USB drive to locate the downloaded file.
  7. Select the file and click OK.
  8. Verify the existing system BIOS information and the BIOS update information.
  9. Click Begin Flash Update.
  10. Review the Warning message and click Yes to proceed with the update. The system restarts and displays a Flash Progress bar at the Dell logo screen. The system restarts again when the Flash update is complete.
[–] [email protected] 3 points 10 months ago

Yeah I've done that before.

[–] [email protected] 1 points 10 months ago

This file format consists of a BIOS executable file. The Universal (Windows/MS DOS) format can be used to install from any Windows or MS DOS environment.

[–] [email protected] 11 points 10 months ago

How about just booting Linux and running fwupdmgr? It comes with the mayor distros by default and its supported by most manufacturers.

[–] [email protected] 3 points 10 months ago (1 children)

Dell is one of the best ones for uploading firmware to LVFS, I been using fwupd for Dell systems.

https://fwupd.org/lvfs/devices/

[–] [email protected] 1 points 10 months ago

Yea, definitely check lvfs first

[–] [email protected] 2 points 10 months ago

I've done it before using their update tool on freedos. Not sure if all versions support this but it was pretty quick and painless.

[–] [email protected] 1 points 10 months ago (1 children)

I am a bit confused. On my Latitude laptop running Debian, the BIOS is updated with apt or the Software Store? What is Debian doing differently here?

Works like a charm too, done several BIOS and Firmware updates and no problems at all.

[–] [email protected] 3 points 10 months ago* (last edited 10 months ago) (1 children)

Not every model of laptop is supported by this method. If your model isn't on lvfs, this method should work

[–] [email protected] 1 points 10 months ago

Oh, understood. Thanks for clearing that up.