Update Lenovo Thinkpad Bios on Linux using a USB stick

As a proud owner of a Lenovo ThinkPad you may have wondered how to do a Bios update when:

I recently bought the ThinkPad L380 and ran into this problem. The technical support section for the L380 only shows 2 possible downloads under BIOS:

So you either have to have a CD-ROM drive or Windows installed. Now, usually it is fairly easy to copy a bootable ISO image to a USB stick. But the BIOS Update (Bootable CD) that Lenovo provides is an ISO image after the El Torito Bootable CD Specification. So the normal procedure won’t work here. There is an El Torito bootimage inside bootable CD image that we need to extract first. Fortunately, there is a tool called geteltorito.pl that can do that for us.

So let’s go ahead and see how the BIOS update can be done:

$ wget 'https://userpages.uni-koblenz.de/~krienke/ftp/noarch/geteltorito/geteltorito/geteltorito.pl'
$ chmod +x geteltorito.pl
$ ./geteltorito.pl -v
Version: 0.6
$ ./geteltorito.pl -o r0rur07w.img r0rur07w.iso 
Booting catalog starts at sector: 20 
Manufacturer of CD: NERO BURNING ROM
Image architecture: x86
Boot media type is: harddisk
El Torito image starts at sector 27 and has 208896 sector(s) of 512 Bytes

Image has been written to file "r0rur07w.img".
$ sudo dd if=r0rur07w.img of=/dev/sda bs=1M 
[sudo] password for user: 
102+0 records in
102+0 records out
106954752 bytes (107 MB, 102 MiB) copied, 11,3429 s, 9,4 MB/s
$ sync

The procedure described here is mainly taken from the English and German version of the ThinkWiki. So there goes all the credit. It can probably applied to most ThinkPad models.