Translation(s): none
DebianOn is an effort to document how to install, configure and use Debian on some specific hardware. Therefore potential buyers would know if that hardware is supported and owners would know how get the best out of that hardware. The purpose is not to duplicate the Debian Official Documentation, but to document how to install Debian on some specific hardware. If you need help to get Debian running on your hardware, please have a look at our user support channels where you may find specific channels (mailing list, IRC channel) dedicated to certain types of hardware. |
Models covered
Thinkpad Carbon X1 4th Generation (early 2016)
Debian version
8.7 with backports kernel 4.9.0-0.bpo.1-amd64
Sub-models options :
- Video card: Intel HD Graphics 520
- Screen size: 14" LED WQHD 2560x1440
- Wireless card: Intel Corporation Wireless 8260 (rev 3a)
- Disk and Ram size: 512GB SSD PCIe, 16GB DDR3L
- Optical device: none
- Other options: fingerprint reader, bluetooth, microSD card reader
Overall Status
Core Components |
||
Boot Standard Kernel: |
|
|
Detect hard drives: |
|
|
Extra Features |
||
CPU Frequency Scaling |
|
|
Hibernation |
|
|
Sleep / Suspend |
|
|
Xorg |
|
|
- OpenGL |
|
|
- Resize-and-Rotate(randr) |
|
|
Switch to External Screen |
|
|
Mouse |
|
|
- Built-in (Trackpoint) |
|
|
- Built-in (Touchpad) |
|
|
Wireless/Wifi |
|
|
Keyboard's Hotkeys |
|
|
Fingerprint reader |
|
Legend :
= OK ; Unsupported(No Driver) ; = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
= Configuration Required; = Only works with a non-free driver and or firmware
Important Note
BIOS
Entering the BIOS
Case of Windows 10 (likely pre-installed): Entering BIOS is not possible after shutting down Windows as apparently it does not shut-down completely. Workaround: boot Windows, then keep the turn-on button pressed (hard reset). At the next boot press a few times F1 (no need of Fn+F1, and no need of pressing F1 while turning on).
Case of Window 8.1: The trick which works with Windows 10 does not work anymore (possibly Window 8.1 boots too quickly). Workaround: insert a slow USB device, for example an external DVD drive. Pressing F1 will now let you enter the BIOS.
BIOS Settings
Security -> Secure boot -> Disable secure boot
Startup -> Boot (press enter) -> Set priority order
Startup -> UEFI/legacy -> UEFI only (necessary for preventing errors like "efibootmgr: EFI variables are not supported on this system" when using grub-install)
Startup -> Boot order lock -> Enable (necessary for avoiding Windows to change it and prevent you from entering the BIOS again if dual-boot is used)
Security -> Virtualization -> Intel Virtualization Technology (necessary for avoiding errors listed by dmesg)
Security -> Anti-theft -> Computrace -> Permanently disabled (optional: be aware of possible tracking/trojan issues; see ?BlackHat conference reports)
Encrypted Partitions with Windows Dual Boot
This likely applies to many more models, but it is reported here for completeness. The example described here did work with Windows 8.1 previously installed.
Make unencrypted boot partition (do not make a "reserved BIOS boot area, or the disk encryption password will be asked twice). -> Create new partition -> 201MB -> Use as: ext2 file system -> Mount point: /boot
- Encrypt the rest of the disk and use Logic Volume Manager (LVM) to make two logic partitions (root and /swap) in it:
Create new partition -> The size you like -> Use as: physical volume for LVM
Configure encrypted volumes -> Devices to encrypt: select the lvm volume just created -> aes 256 -> Finish (the disk password will be asked here)
Configure logical volume manager -> Create volume group -> name: LVMG (for example) -> Select crypt device -> Create logical volume -> call it e.g. "swap" -> size: 17GB -> Create logical volume (again) -> call it e.g. "root" -> size: the remaining size -> Finish
- Select the newly made logical root volume: set it as ext4 and make it mountable as / (root). Select the swap volume and set it as swap area
Installation: Solve Problems with GRUB, Disk not-Seen and Black Screen
The normal installation from a USB disk (containing the DVD 1 image) using an internet connection (for example through external USB-LAN adapter) works fine until the following error is displayed:
Unable to install GRUB in dummy Executing 'grub-install dummy' failed. This is a fatal error.
Run a shell (for example: boot live USB ->Advanced ->Rescue mode..) and chroot in the installation:
mkdir -p /target // "target" is a whatever name fdisk -lu // useful to determine the partition number <X> below cryptsetup luksOpen /dev/nvme0n1p<X> cryptrootlvm // if disk is encrypted. luksOpen with capital O is not a typo. pvscan // scans all disks for physical volumes (necessary) vgchange -a y // this activates the volume group lvdisplay // useful to determine <XXX> below mount /dev/<XXX>/root /target mount --bind /dev /target/dev mount --bind /dev/pts /target/dev/pts mount --bind /proc /target/proc mount --bind /sys /target/sys cp /etc/resolv.conf /target/etc chroot /target /bin/bash
then:
apt-get update apt-get install grub-efi-amd64 update-grub grub-install --target=x86_64-efi /dev/nvme0n1
Exit the shell, choose "Continue without bootloader" and the system should boot.
Optional if dual-boot (e.g. with Windows) is needed:
os-prober update-grub
Kernel Update
With the default kernel (3.16) the computer has several issues. For example, it is not possible to get the WiFi to work (not even after installing the non-free package firmware-iwlwifi). Also, the contrast of the monitor cannot be changed, audio does not work, and the video (both with vlc and youtube for example) is rendered at the wrong speed. This can be fixed installing the backports kernel:
Installing the new Kernel
nano /etc/apt/sources.list
add:
deb http://<yourmirror>/ jessie-backports main
then:
apt update apt install -t jessie-backports linux-image-amd64
when done, put back "jessie main" in the sources list!
Solving Boot Error (Disk not Seen)
nano /etc/initramfs-tools/modules
add this line:
nvme
then run:
update-initramfs -u
Solving Problem with Black Screen
The following should be sufficient (for installation of graphics firmware see Configuration section):
apt-get install -t jessie-backports xserver-xorg-video-intel
If you're using the kernel from Backports (>4.9), you need to update the intel driver to the version available in the Backports.
In alternative, one can do the following, but the brightness cannot be set, the fonts will appear very small and the external monitor won't work:
nano /etc/default/grub
add the following line:
GRUB_CMDLINE_LINUX="intel_pstate=no_hwp"
and add "nomodeset" to the following:
GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset"
Finally:
update-grub
Configuration
Display
The firmware of intel graphics requires extra configuration. Download from https://01.org/linuxgraphics/downloads/skylake-guc-6.1 and from https://01.org/linuxgraphics/downloads/skylake-dmc-1.26 the GuC and DMC firmware and follow the instructions on the same pages (no customization necessary, just run the two default scripts). The link to 01.org appeared on the dmesg list. After this is done check that the firmware loads correctly for example with
dmesg | grep i915
If successful, the computer will run much more smoothly, and the CPU will no more be overloaded e.g. for rendering video.
Optional for adjusting the scaling in gnome:
rm ~/.config/dconf/usr // optional if settings got messed up gsettings list-keys org.gnome.desktop.interface // just to see what is available gsettings set org.gnome.desktop.interface text-scaling-factor 1 // or 2, for example gsettings set org.gnome.desktop.interface scaling-factor 1 // or 2, for example
Audio
Requires the updated kernel.
Mouse
Works perfectly from the beginning.
Power Management
- (not covered yet)
WiFi / Bluetooth
Requires non-free drivers and the kernel from Backports:
nano /etc/apt/sources.list
and change "jessie main" -> "jessie main contrib non-free". Then:
apt-get update apt-get install -t jessie-backports firmware-iwlwifi
As of 07/03/2017, In order to have a wifi working correctly, I have to disable ifupdown for eth0 in /etc/network/interfaces to let Network-Manager manage the eth0 interface.
Fingerprint
The fingerprint reader of the X1 Carbon 4th generation is not recognized. Apparently a driver is being developped: https://bugs.freedesktop.org/show_bug.cgi?id=94536 https://github.com/nmikhailov/Validity90
System Summary
lspci
00:00.0 Host bridge: Intel Corporation Device 1904 (rev 08)
00:02.0 VGA compatible controller: Intel Corporation Device 1916 (rev 07)
00:08.0 System peripheral: Intel Corporation Device 1911
00:13.0 Non-VGA unclassified device: Intel Corporation Device 9d35 (rev 21)
00:14.0 USB controller: Intel Corporation Device 9d2f (rev 21)
00:14.2 Signal processing controller: Intel Corporation Device 9d31 (rev 21)
00:16.0 Communication controller: Intel Corporation Device 9d3a (rev 21)
00:1c.0 PCI bridge: Intel Corporation Device 9d10 (rev f1)
00:1c.2 PCI bridge: Intel Corporation Device 9d12 (rev f1)
00:1c.4 PCI bridge: Intel Corporation Device 9d14 (rev f1)
00:1f.0 ISA bridge: Intel Corporation Device 9d48 (rev 21)
00:1f.2 Memory controller: Intel Corporation Device 9d21 (rev 21)
00:1f.3 Audio device: Intel Corporation Device 9d70 (rev 21)
00:1f.4 SMBus: Intel Corporation Device 9d23 (rev 21)
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection I219-LM (rev 21)
02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. Device 525a (rev 01)
04:00.0 Network controller: Intel Corporation Wireless 8260 (rev 3a)
05:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a802 (rev 01)
lsusb
lsusb -v | grep -E '\<(Bus|iProduct|bDeviceClass|bDeviceProtocol)' 2>/dev/null
Couldn't open device, some information will be missing Couldn't open device, some information will be missing Couldn't open device, some information will be missing Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub bDeviceClass 9 Hub bDeviceProtocol 3 Couldn't open device, some information will be missing iProduct 2 Bus 001 Device 004: ID 138a:0090 Validity Sensors, Inc. bDeviceClass 255 Vendor Specific Class Couldn't open device, some information will be missing bDeviceProtocol 255 iProduct 0 (Bus Powered) Bus 001 Device 003: ID 04ca:705a Lite-On Technology Corp. bDeviceClass 239 Miscellaneous Device bDeviceProtocol 1 Interface Association iProduct 2 (Bus Powered) Bus 001 Device 002: ID 8087:0a2b Intel Corp. bDeviceClass 224 Wireless bDeviceProtocol 1 Bluetooth iProduct 0 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub bDeviceClass 9 Hub bDeviceProtocol 1 Single TT iProduct 2
USB Host controllers entries (without OHCI, UHCI, EHCI) are removed too.
Resources
Attachments
Some configuration files and sample outputs.
Useful Links
- This may be of use to some people:
With some tweaking to remove the steps dealing with dual boot, these instructions worked.
Credits