Updating My ThinkPad E480’s BIOS On Linux

It has been almost a year since I last updated my BIOS on my ThinkPad. I recently found out that there were a few improvements to performance and efficiency. I always thought BIOS updates were only possible through Windows but today I found a helpful tutorial on updating the BIOS without booting into Windows. In this short article, I will show how you can update the BIOS on a ThinkPad E480. This guide will also work on other ThinkPads however some are officially supported via LVFS (fwupd.org) so this isn’t necessary. Since the E480 isn’t part of the LVFS program, it has to be manually done.

Disclaimer

I am not responsible for bricked ThinkPads. Updating the BIOS is dangerous and if performed incorrectly, it can lead to a damaged device. When performing these steps, take extra caution!

Prerequisites

For this tutorial, I’ll be using genisoimage and geteltorito. The distribution I’m using is Fedora however if you have the relevant packages, it should be the same for any other distribution.

### Fedora
$ sudo dnf install genisoimage geteltorito

### Ubuntu / Debian
$ sudo apt install genisoimage

Downloading the ISO

Download the ISO file for your device. For mine, I’ll be downloading the latest one for my ThinkPad E480. Make sure you download the correct one for your device, flashing the wrong BIOS file can lead to catastrophic failure.

Alternatively, you can download it through the terminal using wget

### For my device
$ cd ~
$ wget https://download.lenovo.com/pccbbs/mobiles/r0puj23wd.iso

Preparing the USB

To boot into the BIOS updater, we will need a USB. Any USB of any size should fine. The BIOS image is approximately 17MB but it may differ from update to update. Ideally, you want to do a quick format but it will be overwritten later on with dd .

Open up a terminal and navigate to the directory where the ISO is.

### Extract the image from the ISO file

$ geteltorito -o  
$ geteltorito -o e480.img r0puj23wd.iso


### Type "lsblk" and identify the path of the USB (eg: /dev/sdb - If it is mounted, un-mount it.

$ sudo dd if=e480.img of=/dev/sdb bs=64K

Reboot and Flash

Once done, simply reboot and load into the boot manager. On my machine, I hit enter when the Lenovo logo pops up and then press F12 to go into the boot manager. From here, I will pick the media I want to boot into.

If all goes well, you should be in the BIOS updater. As a final tip, ensure that you’re not connected to any external devices such as drives and as a precaution, unplug any displays or external keyboards. Simply have the USB and power plugged in only. Updating the BIOS may take some time but once done it should reboot and you’re good to go.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.