Since the beginning of this year, I'm a happy Lenovo ThinkPad T440 user. All components are supported on Linux (currently running Ubuntu 14.04 on it) — everything Just Worked "out of the box" after the installation. This has been my experience with all previous ThinkPad models so far (I also owned a T42, T60 and T420 before).
The laptop came with Windows 8 pre-installed, which I found very confusing to use (I haven't had actively worked with Windows for quite some time). But since I replaced the built-in hard disk drive with an SSD anyway (a 500GB Samsung EVO 840), that problem was solved quite quickly. Installing Linux via an USB stick was a simple affair, it most cases you can simply download and dd the ISO image on the USB stick and select it as the boot device on the next reboot by pressing F12 at the right moment.
However, not having Windows installed on another partition and not owning an external CD-ROM/DVD-drive, I now faced one problem: how to update the BIOS? Lenovo only provides a Windows-based tool and an ISO image that contains the BIOS update utility and the new firmware. However, this ISO-Image does not boot from an USB stick directly, so the dd method does not work.
Fortunately, like many times before, the ThinkWiki came to the rescue — their page about BIOS update without optical disk gave me the right clues. I downloaded the ISO image containing the BIOS update from the Lenovo Support web site and plugged in an empty USB stick, which appeared as /dev/sdc in the device list (the T440 has a built-in 16GB SSD on /dev/sdb.
The ISO image actually contains a (bootable) hard disk image, which can be dumped on an USB stick directly. To extract the image, I used geteltorito from the genisoimagepackage:
$ geteltorito -o bios.img gjuj13us.iso
Booting catalog starts at sector: 20
Manufacturer of CD: NERO BURNING ROM VER 12
Image architecture: x86
Boot media type is: harddisk
El Torito image starts at sector 27 and has 32768 sector(s) of 512 Bytes
Image has been written to file "bios.img".
$ sudo dd if=bios.img of=/dev/sdc
32768+0 records in
32768+0 records out
16777216 bytes (17 MB) copied, 0,641393 s, 26,2 MB/s
$ sudo fdisk -l /dev/sdc
Disk /dev/sdc: 16.0 GB, 16013942784 bytes
64 heads, 32 sectors/track, 15272 cylinders, total 31277232 sectors
Units = sectors of 1 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdc1 32 32767 16368 1 FAT12
There's my bootable USB stick. Rebooting the laptop and choosing the USB stick from the boot menu (F12) properly booted into the BIOS update utility and allowed me to update the BIOS to the latest version. No Windows required!