Debian – How Smooth is Upgrading Linux Kernel in Debian 8.5

debianlinux-kernelskylakesystem-installationupgrade

I would like to upgrade my Linux kernel to 4.7 in Debian 8.5, since it has significant better Skylake 6th generation support than the current linux kernel. In Ubuntu 16.04, the upgrade is easy. However, I now need Debian 8.5 because of stability, and I would like to do the same upgrade for it.

Testing StephenKitt's answer

I upgrade the kernel and reboot, but I get unsuccessfully when loading the OS.
Fig. 1 Failure messages in startup

enter image description here

2nd iteration – Solving the Bug in startup [GAD3R]

  1. Boot in Linux kernel 3.16.x
  2. Run as su, apt-get remove xserver-xorg-video-intel
  3. Reboot

Output: works! Resolution is now the 1920×1080. Since there is no complete support of Skylake in Linux kernel 4.6 etc this artifact here in Matlab 2016a without a firmware, you need some non-free adjustments as firmware; which you maybe already free firmware in Linux kernel 4.7

# https://unix.stackexchange.com/a/307435/16920
apt-get -t jessie-backports install firmware-misc-nonfree

xserver-xorg-video-intel abnormal installation and its action's prevention

I find out that the package xserver-xorg-video-intel may get installed as a dependency (and all its dependencies) in other conditions, as described a case in the thread How to Recover Debian of LK backports where runlevel conflict?
The idea is to prevent the action of the package although it get installed by creating the file /etc/X11/xorg.conf

# https://unix.stackexchange.com/a/308709/16920
Section "Device"
        Identifier "Intel"
        Driver "modesetting"
EndSection

## Bugs 
# 1. LK 3.16 will fail now but LK 4.6 will work. TODO in the thread https://unix.stackexchange.com/a/308709/16920

Hardware: Asus Zenbook UX303UA
OS: Debian 8.5
Related: Asus Zenbook UX303UA Linux compatibility, Linux Kernel – Mobile Skylake 6th Generation – Power Management

Best Answer

The easiest way to install a newer kernel is to use Jessie backports.

First you need to add Jessie backports to your repositories, if it's not already there:

echo deb http://http.debian.net/debian jessie-backports main > /etc/apt/sources.list.d/jessie-backports.list

(as root), then

apt-get update
apt-get -t jessie-backports install linux-image-amd64

will install the current default backported kernel (4.8 as of this writing).

To provide the appropriate firmware for your laptop's wi-fi, you need to add non-free and install firmware-iwlwifi:

echo deb http://http.debian.net/debian jessie-backports main contrib non-free > /etc/apt/sources.list.d/jessie-backports.list
apt-get update
apt-get -t jessie-backports install firmware-iwlwifi

To solve the display problems, you can remove xserver-xorg-video-intel (nowadays Intel GPUs don't need a separate driver, they can use the kernel's mode-setting support), as suggested by GAD3R:

apt-get remove xserver-xorg-video-intel

(You may need to install xserver-xorg-video-dummy to satisfy other packages' dependencies.)

You should also install the Skylake firmware to enable all the GPU features:

apt-get -t jessie-backports install firmware-misc-nonfree

Enabling backports is safe: newer packages are not picked up automatically from backports, you need to explicitly select them using -t jessie-backports as above (but once you've done that, updates to the upgraded packages are picked up by apt-get upgrade).

Version 4.6 of the kernel already provided good support for Skylake, and it's improved since. If you upgrade as above, running apt-get upgrade will automatically upgrade to later versions of the kernel once they become available in the backports.

Related Question