Biboroku

Installing Debian/Jessie on ThinkPad T460s

Written by Taro Sato, on . Tagged: linux sysadmin

This is a Debian/Jessie installation instruction on ThinkPad T460s (product ID: 20F9CTO1WW).

First, update BIOS on Windows if necessary, since that kind of task is unfortunately typically much easier on it. Also make sure to create a recovery media for Windows 10.

Disable Secure Boot in BIOS.

Boot from the “netinst” (with firmware) install media. Use wired network while installing. Wireless does not work out of the box.

Boot from the USB install media. Follow the standard Debian installer instruction:

  • Language: English
  • Country: United States
  • Keymap to use: American English
  • Primary network interface: wlan0
  • Wireless network: (your choice)
  • Hostname: (your choice)
  • Domain name: (your choice)
  • Root password: (your choice)
  • Full name for the new user: (your choice)
  • Username for your account: (your choice)
  • Choose a password for the new user:
  • Re-enter password to verify: (your choice)
  • Select your time zone: (your choice)
  • Partitioning method: Manual

Here is my partitioning scheme:

1 /boot/efi  300 MB EFI System Partition (bootable, EFI System partition)
2 /boot      250 MB ext4
3 /          100 GB ext4
4 /usr/local  50 GB ext4
6 /home      338 GB ext4
5 SWAP        24 GB
  • Write changes to disks: yes
  • Debian archive mirror country: (your choice)
  • Debian archive mirror: (your choice)
  • HTTP proxy information: (your choice)
  • Participate in the package usage survey: (your choice)
  • Choose software to install: (your choice; Windows manager with WiFi support is recommended)

If asked during installation, force UEFI installation: Yes (on the SSD, not USB device from which the installer is running).

After the first reboot, log in as root and do the following:

It would be convenient to add your regular user account to sudo group:

# apt-get install sudo
# adduser <username> sudo

Intel Wireless 8260

Wireless does not work out of box. Upgrade kernel and install firmware. Add contrib and non-free, as well as backports to /etc/apt/sources.list, which should have lines similar to this:

deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-free

deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main contrib non-free

deb http://ftp.debian.org/debian jessie-backports main contrib non-free

Then upgrade the kernel and video driver and install updated firmware:

# apt-get update
# apt-get install -t jessie-backports linux-image-4.5.0-0.bpo.1-amd64
# apt-get install -t jessie-backports firmware-linux-nonfree
# apt-get install -t jessie-backports firmware-iwlwifi
# apt-get install -t jessie-backports xserver-xorg-video-intel

Reboot and wireless should be working.

TrackPoint scrolling and disabling TrackPad

Install xinput:

$ sudo apt-get install xinput

Create ~.xsessionrc/ file with the following content:

#!/bin/bash
#
# ThinkPad T460s TrackPad/TrackPoint configuration
#
# Required package: xinput
#


# extract device id from xinput output
dev_id=""
function get_dev_id() {
    device_name="$1"
    s=$(xinput | grep "$device_name")
    s="${s#*id=}"
    dev_id="${s%%[!0-9]*}"
}


# TrackPoint
get_dev_id "TPPS/2 IBM TrackPoint"

xinput --set-prop --type=int --format=8 "$dev_id" "Evdev Wheel Emulation" 1
xinput --set-prop --type=int --format=8 "$dev_id" "Evdev Wheel Emulation Button" 2
xinput --set-prop --type=int --format=8 "$dev_id" "Evdev Wheel Emulation Axes" 6 7 4 5
xinput --set-prop --type=float "$dev_id" "Device Accel Constant Deceleration" 0.25
xinput --set-prop --type=float "$dev_id" "Device Accel Adaptive Deceleration" 1.0
xinput --set-prop --type=float "$dev_id" "Device Accel Velocity Scaling" 12.5


# TrackPad
get_dev_id "PS/2 Synaptics TouchPad"

# disable TrackPad if desired
xinput --set-prop --type=int "$dev_id" "Device Enabled" 0

Source this file explicitly

$ . ~/.xsessionrc

or upon the next boot, TrackPoint should be fully working.

comments powered by Disqus