The Thinkpad X280 hardware has good compatibility with Debian 10 GNU/Linux, with the usual exceptions of the wifi adapter (requires non-free software, see below) and the fingerprint reader (there are no drivers available). The Thinkpad X280 is, roughly speaking, the compact version of the Thinkpad X1. There are already Debian installation wiki pages for the X1 4th generation and X1 5th generation. Same instructions go for the X280.
The Thinkpad X280 has no CD/DVD reader, so Debian must be installed from USB. To boot from a USB, disable SecureBoot in BIOS:
The wireless won't work unless a proprietary firmware is installed. Either buy a wifi adapter running free software, or download an unofficial Debian image including the nonfree package firmware-iwlwifi. The Debian installer will ask confirmation before installing nonfree software. Let's download a live ISO of Debian 10 (Buster), which is currently the testing distribution.
There are no drivers available for the fingerprint reader, which won't work.
The procedure to copy the CD image to an USB device is simplified compared to previous Debian releases, a simple cp as shown below will suffice. This procedure will destroy anything already on the device. The image name below and /dev/sdX must be adapted. The image must be written to the whole-disk device and not a partition, e.g. /dev/sdb and not /dev/sdb1.
# cp debian.iso /dev/sdX # sync
Insert the live USB and boot the machine pressing ENTER to choose the booting device. The live distribution is useful to test that everything works as expected (e.g., wifi, bluetooth, sound, camera, etc.). If that's the case, reboot once again as before and install the system (refer to Debian installation guide). The only part requiring a bit of thinking is the partitioning scheme. I opted for a separate home partition. I slightly modified the scheme proposed by the guided installation to increase the space allocated for the root partition (initially 30GB):
The installation is rather smooth with only a couple of minor issues.
Failed to start Raise network interfacesTo solve it, remove /etc/network/interfaces.d/setup and edit /etc/network/interfaces as follows, then save and reboot:
auto lo iface lo inet loopback
flat-volumes = noRestart PulseAudio:
$ pulseaudio -k $ pulseaudio --start