In January 2018, Debian 8 and 9 users received updates for the Meltdown vulnerability (CVE-2017-5754), which is affecting billions of units by allowing attackers to control unpleasant processes and reading memory from random addresses, including the kernel itself.
If you use Debian Jessie 8.xx, which comes with kernel 3.16.0-4-amd64, you need to upgrade your Kernel Linux.
Upgrading to the latest Kernel, brings you new support for gaming and more, but if you are stuck on an old Kernel, due to some softwares incompatability, then you can either choose to stay on the Kernel working with that software or decide to change for a better supporten application. Anyways, this is how you upgrade to the latest version of the Kernel.
The instructions below are written with the absolute beginner in mind.
NOTE! Whether you use Debian Jessie 8 or 9 the procedure is the same.
Open a terminal window:
uname -a
Will show 3.16.0-4-amd64
uname -r
Will show the same information.
Search for available Linux images with the following command:
sudo apt-cache search linux-image
There are several to choose from:
-
linux-headers-4.9.0-7-686 - Header files for Linux 4.9.0-7-686
-
linux-headers-4.9.0-7-686-pae - Header files for Linux 4.9.0-7-686-pae
-
linux-headers-4.9.0-7-amd64 - Header files for Linux 4.9.0-7-amd64
-
linux-headers-4.9.0-7-rt-686-pae - Header files for Linux 4.9.0-7-rt-686-pae
-
linux-headers-4.9.0-7-rt-amd64 - Header files for Linux 4.9.0-7-rt-amd64
-
linux-image-4.9.0-7-686 - Linux 4.9 for older PCs
-
linux-image-4.9.0-7-686-dbg - Debug symbols for linux-image-4.9.0-7-686
-
linux-image-4.9.0-7-686-pae - Linux 4.9 for modern PCs
-
linux-image-4.9.0-7-686-pae-dbg - Debug symbols for linux-image-4.9.0-7-686-pae
-
linux-image-4.9.0-7-amd64 - Linux 4.9 for 64-bit PCs
-
linux-image-4.9.0-7-amd64-dbg - Debug symbols for linux-image-4.9.0-7-amd64
-
linux-image-4.9.0-7-rt-686-pae - Linux 4.9 for modern PCs, PREEMPT_RT
-
linux-image-4.9.0-7-rt-686-pae-dbg - Debug symbols for linux-image-4.9.0-7-rt-686-pae
-
linux-image-4.9.0-7-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
-
linux-image-4.9.0-7-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-7-rt-amd64
-
linux-image-586 - Linux for older PCs (dummy package)
-
linux-image-686 - Linux for older PCs (meta-package)
-
linux-image-686-dbg - Debugging symbols for Linux 686 configuration (meta-package)
-
linux-image-686-pae - Linux for modern PCs (meta-package)
-
linux-image-686-pae-dbg - Debugging symbols for Linux 686-pae configuration (meta-package)
-
linux-image-amd64 - Linux for 64-bit PCs (meta-package)
-
linux-image-amd64-dbg - Debugging symbols for Linux amd64 configuration (meta-package)
-
linux-image-rt-686-pae - Linux for modern PCs (meta-package), PREEMPT_RT
-
linux-image-rt-686-pae-dbg - Debugging symbols for Linux rt-686-pae configuration (meta-package)
-
linux-image-rt-amd64 - Linux for 64-bit PCs (meta-package), PREEMPT_RT
-
linux-image-rt-amd64-dbg - Debugging symbols for Linux rt-amd64 configuration (meta-package)
-
linux-headers-4.9.0-3-686 - Header files for Linux 4.9.0-3-686
-
linux-headers-4.9.0-3-686-pae - Header files for Linux 4.9.0-3-686-pae
-
linux-headers-4.9.0-3-amd64 - Header files for Linux 4.9.0-3-amd64
-
linux-headers-4.9.0-3-rt-686-pae - Header files for Linux 4.9.0-3-rt-686-pae
-
linux-headers-4.9.0-3-rt-amd64 - Header files for Linux 4.9.0-3-rt-amd64
-
linux-headers-4.9.0-4-686 - Header files for Linux 4.9.0-4-686
-
linux-headers-4.9.0-4-686-pae - Header files for Linux 4.9.0-4-686-pae
-
linux-headers-4.9.0-4-amd64 - Header files for Linux 4.9.0-4-amd64
-
linux-headers-4.9.0-4-rt-686-pae - Header files for Linux 4.9.0-4-rt-686-pae
-
linux-headers-4.9.0-4-rt-amd64 - Header files for Linux 4.9.0-4-rt-amd64
-
linux-headers-4.9.0-5-686 - Header files for Linux 4.9.0-5-686
-
linux-headers-4.9.0-5-686-pae - Header files for Linux 4.9.0-5-686-pae
-
linux-headers-4.9.0-5-amd64 - Header files for Linux 4.9.0-5-amd64
-
linux-headers-4.9.0-5-rt-686-pae - Header files for Linux 4.9.0-5-rt-686-pae
-
linux-headers-4.9.0-5-rt-amd64 - Header files for Linux 4.9.0-5-rt-amd64
-
linux-headers-4.9.0-6-686 - Header files for Linux 4.9.0-6-686
-
linux-headers-4.9.0-6-686-pae - Header files for Linux 4.9.0-6-686-pae
-
linux-headers-4.9.0-6-amd64 - Header files for Linux 4.9.0-6-amd64
-
linux-headers-4.9.0-6-rt-686-pae - Header files for Linux 4.9.0-6-rt-686-pae
-
linux-headers-4.9.0-6-rt-amd64 - Header files for Linux 4.9.0-6-rt-amd64
-
linux-headers-4.9.0-8-686 - Header files for Linux 4.9.0-8-686
-
linux-headers-4.9.0-8-686-pae - Header files for Linux 4.9.0-8-686-pae
-
linux-headers-4.9.0-8-amd64 - Header files for Linux 4.9.0-8-amd64
-
linux-headers-4.9.0-8-rt-686-pae - Header files for Linux 4.9.0-8-rt-686-pae
-
linux-headers-4.9.0-8-rt-amd64 - Header files for Linux 4.9.0-8-rt-amd64
-
linux-image-4.9.0-3-686 - Linux 4.9 for older PCs
-
linux-image-4.9.0-3-686-dbg - Debug symbols for linux-image-4.9.0-3-686
-
linux-image-4.9.0-3-686-pae - Linux 4.9 for modern PCs
-
linux-image-4.9.0-3-686-pae-dbg - Debug symbols for linux-image-4.9.0-3-686-pae
-
linux-image-4.9.0-3-amd64 - Linux 4.9 for 64-bit PCs
-
linux-image-4.9.0-3-amd64-dbg - Debug symbols for linux-image-4.9.0-3-amd64
-
linux-image-4.9.0-3-rt-686-pae - Linux 4.9 for modern PCs, PREEMPT_RT
-
linux-image-4.9.0-3-rt-686-pae-dbg - Debug symbols for linux-image-4.9.0-3-rt-686-pae
-
linux-image-4.9.0-3-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
-
linux-image-4.9.0-3-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-3-rt-amd64
-
linux-image-4.9.0-4-686 - Linux 4.9 for older PCs
-
linux-image-4.9.0-4-686-dbg - Debug symbols for linux-image-4.9.0-4-686
-
linux-image-4.9.0-4-686-pae - Linux 4.9 for modern PCs
-
linux-image-4.9.0-4-686-pae-dbg - Debug symbols for linux-image-4.9.0-4-686-pae
-
linux-image-4.9.0-4-amd64 - Linux 4.9 for 64-bit PCs
-
linux-image-4.9.0-4-amd64-dbg - Debug symbols for linux-image-4.9.0-4-amd64
-
linux-image-4.9.0-4-rt-686-pae - Linux 4.9 for modern PCs, PREEMPT_RT
-
linux-image-4.9.0-4-rt-686-pae-dbg - Debug symbols for linux-image-4.9.0-4-rt-686-pae
-
linux-image-4.9.0-4-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
-
linux-image-4.9.0-4-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-4-rt-amd64
-
linux-image-4.9.0-5-686 - Linux 4.9 for older PCs
-
linux-image-4.9.0-5-686-dbg - Debug symbols for linux-image-4.9.0-5-686
-
linux-image-4.9.0-5-686-pae - Linux 4.9 for modern PCs
-
linux-image-4.9.0-5-686-pae-dbg - Debug symbols for linux-image-4.9.0-5-686-pae
-
linux-image-4.9.0-5-amd64 - Linux 4.9 for 64-bit PCs
-
linux-image-4.9.0-5-amd64-dbg - Debug symbols for linux-image-4.9.0-5-amd64
-
linux-image-4.9.0-5-rt-686-pae - Linux 4.9 for modern PCs, PREEMPT_RT
-
linux-image-4.9.0-5-rt-686-pae-dbg - Debug symbols for linux-image-4.9.0-5-rt-686-pae
-
linux-image-4.9.0-5-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
-
linux-image-4.9.0-5-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-5-rt-amd64
-
linux-image-4.9.0-6-686 - Linux 4.9 for older PCs
-
linux-image-4.9.0-6-686-dbg - Debug symbols for linux-image-4.9.0-6-686
-
linux-image-4.9.0-6-686-pae - Linux 4.9 for modern PCs
-
linux-image-4.9.0-6-686-pae-dbg - Debug symbols for linux-image-4.9.0-6-686-pae
-
linux-image-4.9.0-6-amd64 - Linux 4.9 for 64-bit PCs
-
linux-image-4.9.0-6-amd64-dbg - Debug symbols for linux-image-4.9.0-6-amd64
-
linux-image-4.9.0-6-rt-686-pae - Linux 4.9 for modern PCs, PREEMPT_RT
-
linux-image-4.9.0-6-rt-686-pae-dbg - Debug symbols for linux-image-4.9.0-6-rt-686-pae
-
linux-image-4.9.0-6-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
-
linux-image-4.9.0-6-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-6-rt-amd64
-
linux-image-4.9.0-8-686 - Linux 4.9 for older PCs
-
linux-image-4.9.0-8-686-dbg - Debug symbols for linux-image-4.9.0-8-686
-
linux-image-4.9.0-8-686-pae - Linux 4.9 for modern PCs
-
linux-image-4.9.0-8-686-pae-dbg - Debug symbols for linux-image-4.9.0-8-686-pae
-
linux-image-4.9.0-8-amd64 - Linux 4.9 for 64-bit PCs
-
linux-image-4.9.0-8-amd64-dbg - Debug symbols for linux-image-4.9.0-8-amd64
-
linux-image-4.9.0-8-rt-686-pae - Linux 4.9 for modern PCs, PREEMPT_RT
-
linux-image-4.9.0-8-rt-686-pae-dbg - Debug symbols for linux-image-4.9.0-8-rt-686-pae
-
linux-image-4.9.0-8-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
-
linux-image-4.9.0-8-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-8-rt-amd64
-
linux-headers-4.17.0-0.bpo.1-686 - Header files for Linux 4.17.0-0.bpo.1-686
-
linux-headers-4.17.0-0.bpo.1-686-pae - Header files for Linux 4.17.0-0.bpo.1-686-pae
-
linux-headers-4.17.0-0.bpo.1-amd64 - Header files for Linux 4.17.0-0.bpo.1-amd64
-
linux-headers-4.17.0-0.bpo.1-cloud-amd64 - Header files for Linux 4.17.0-0.bpo.1-cloud-amd64
-
linux-headers-4.17.0-0.bpo.3-686 - Header files for Linux 4.17.0-0.bpo.3-686
-
linux-headers-4.17.0-0.bpo.3-686-pae - Header files for Linux 4.17.0-0.bpo.3-686-pae
-
linux-headers-4.17.0-0.bpo.3-amd64 - Header files for Linux 4.17.0-0.bpo.3-amd64
-
linux-headers-4.17.0-0.bpo.3-cloud-amd64 - Header files for Linux 4.17.0-0.bpo.3-cloud-amd64
-
linux-headers-4.18.0-0.bpo.1-686 - Header files for Linux 4.18.0-0.bpo.1-686
-
linux-headers-4.18.0-0.bpo.1-686-pae - Header files for Linux 4.18.0-0.bpo.1-686-pae
-
linux-headers-4.18.0-0.bpo.1-amd64 - Header files for Linux 4.18.0-0.bpo.1-amd64
-
linux-headers-4.18.0-0.bpo.1-cloud-amd64 - Header files for Linux 4.18.0-0.bpo.1-cloud-amd64
-
linux-headers-4.18.0-0.bpo.1-rt-686-pae - Header files for Linux 4.18.0-0.bpo.1-rt-686-pae
-
linux-headers-4.18.0-0.bpo.1-rt-amd64 - Header files for Linux 4.18.0-0.bpo.1-rt-amd64
-
linux-image-4.17.0-0.bpo.1-686 - Linux 4.17 for older PCs
-
linux-image-4.17.0-0.bpo.1-686-dbg - Debug symbols for linux-image-4.17.0-0.bpo.1-686
-
linux-image-4.17.0-0.bpo.1-686-pae - Linux 4.17 for modern PCs
-
linux-image-4.17.0-0.bpo.1-686-pae-dbg - Debug symbols for linux-image-4.17.0-0.bpo.1-686-pae
-
linux-image-4.17.0-0.bpo.1-amd64 - Linux 4.17 for 64-bit PCs
-
linux-image-4.17.0-0.bpo.1-amd64-dbg - Debug symbols for linux-image-4.17.0-0.bpo.1-amd64
-
linux-image-4.17.0-0.bpo.1-cloud-amd64 - Linux 4.17 for x86-64 cloud
-
linux-image-4.17.0-0.bpo.1-cloud-amd64-dbg - Debug symbols for linux-image-4.17.0-0.bpo.1-cloud-amd64
-
linux-image-4.17.0-0.bpo.3-686 - Linux 4.17 for older PCs
-
linux-image-4.17.0-0.bpo.3-686-dbg - Debug symbols for linux-image-4.17.0-0.bpo.3-686
-
linux-image-4.17.0-0.bpo.3-686-pae - Linux 4.17 for modern PCs
-
linux-image-4.17.0-0.bpo.3-686-pae-dbg - Debug symbols for linux-image-4.17.0-0.bpo.3-686-pae
-
linux-image-4.17.0-0.bpo.3-amd64 - Linux 4.17 for 64-bit PCs
-
linux-image-4.17.0-0.bpo.3-amd64-dbg - Debug symbols for linux-image-4.17.0-0.bpo.3-amd64
-
linux-image-4.17.0-0.bpo.3-cloud-amd64 - Linux 4.17 for x86-64 cloud
-
linux-image-4.17.0-0.bpo.3-cloud-amd64-dbg - Debug symbols for linux-image-4.17.0-0.bpo.3-cloud-amd64
-
linux-image-4.18.0-0.bpo.1-686 - Linux 4.18 for older PCs
-
linux-image-4.18.0-0.bpo.1-686-dbg - Debug symbols for linux-image-4.18.0-0.bpo.1-686
-
linux-image-4.18.0-0.bpo.1-686-pae - Linux 4.18 for modern PCs
-
linux-image-4.18.0-0.bpo.1-686-pae-dbg - Debug symbols for linux-image-4.18.0-0.bpo.1-686-pae
-
linux-image-4.18.0-0.bpo.1-amd64 - Linux 4.18 for 64-bit PCs
-
linux-image-4.18.0-0.bpo.1-amd64-dbg - Debug symbols for linux-image-4.18.0-0.bpo.1-amd64
-
linux-image-4.18.0-0.bpo.1-cloud-amd64 - Linux 4.18 for x86-64 cloud
-
linux-image-4.18.0-0.bpo.1-cloud-amd64-dbg - Debug symbols for linux-image-4.18.0-0.bpo.1-cloud-amd64
-
linux-image-4.18.0-0.bpo.1-rt-686-pae - Linux 4.18 for modern PCs, PREEMPT_RT
-
linux-image-4.18.0-0.bpo.1-rt-686-pae-dbg - Debug symbols for linux-image-4.18.0-0.bpo.1-rt-686-pae
-
linux-image-4.18.0-0.bpo.1-rt-amd64 - Linux 4.18 for 64-bit PCs, PREEMPT_RT
-
linux-image-4.18.0-0.bpo.1-rt-amd64-dbg - Debug symbols for linux-image-4.18.0-0.bpo.1-rt-amd64
-
linux-headers-4.9.0-4-grsec-686-pae - Header files for Linux 4.9.0-4-grsec-686-pae
-
linux-headers-4.9.0-4-grsec-amd64 - Header files for Linux 4.9.0-4-grsec-amd64
-
linux-image-4.9.0-4-grsec-686-pae - Linux 4.9 for modern PCs, Grsecurity protection (unofficial patch)
-
linux-image-4.9.0-4-grsec-amd64 - Linux 4.9 for 64-bit PCs, Grsecurity protection (unofficial patch)
-
linux-image-grsec-686-pae - Linux image meta-package, grsec featureset
-
linux-image-grsec-amd64 - Linux image meta-package, grsec featureset
-
linux-image-grsec-i386 - Linux image meta-package, grsec featureset (transition package)
-
linux-image-cloud-amd64 - Linux for x86-64 cloud (meta-package)
-
linux-image-cloud-amd64-dbg - Debugging symbols for Linux cloud-amd64 configuration (meta-package)
-
linux-image-4.14.0-0.bpo.3-amd64-dbg - Debug symbols for linux-image-4.14.0-0.bpo.3-amd64
-
linux-image-4.14.0-0.bpo.3-amd64 - Linux 4.14 for 64-bit PCs
-
linux-image-4.15.0-1-amd64 - Linux 4.15 for 64-bit PC
Before you try to upgrade:
Change to "root":
su
Press Enter,
Type your root password and press Enter.
Make sure you have the Tigon firmware installed or you might get this error message:
=====================================
W: Possible missing firmware /lib/firmware/tigon/tg3_tso5.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3_tso.bin for module tg3
W: Possible missing firmware /lib/firmware/tigon/tg3.bin for module tg
=====================================
Then type:
apt install curl wget apt-transport-https dirmngr
Press Enter,
If it is up-to-date, fine.
Make a copy of your original sources.list, with this command:
gedit /etc/apt/sources.list /etc/apt/sources.list.orig
Press Enter, and then paste this:
=========================================
#------------------------------------------------------------------------------#
# OFFICIAL DEBIAN REPOS
#------------------------------------------------------------------------------#
###### Debian Main Repos
deb http://deb.debian.org/debian/ stable main contrib non-free
deb-src http://deb.debian.org/debian/ stable main contrib non-free
deb http://deb.debian.org/debian/ stable-updates main contrib non-free
deb-src http://deb.debian.org/debian/ stable-updates main contrib non-free
deb http://deb.debian.org/debian-security stable/updates main
deb-src http://deb.debian.org/debian-security stable/updates main
deb http://ftp.debian.org/debian stretch-backports main
deb-src http://ftp.debian.org/debian stretch-backports main
=========================================
Save the file ! Now install firmware-linux-nonfree:
apt-get update && apt-get install firmware-linux-nonfree
To find out what firmwares are included in this non-free package run:
aptitude show firmware-linux-nonfree
Press Enter, a list appears.
To install the latest Kernel version, type the following command: Change the linux-mage-flavour example,to linux-image-4.18.0-0.bpo.1-amd64.
sudo apt-get install linux-image-4.18.0-0.bpo.1-amd64
Press Enter and wait for it to finish.
Type:
exit
Press Enter to change into your ordinary user.
Press Enter and restart the computer.
Open a terminal window and type:
uname -a
The result, you just installed the latest (Core):
4.18.0-0.bpo.1-amd64 #1 SMP Debian 4.18.6-1~bpo9+1 (2018-09-13) x86_64 GNU/Linux
To correct the problem, all Debian 8 Jessie users must update the kernel to version 4.9.65-3 + deb9u2, which you just did if you followed the above guide.
Congratulations on a successful upgrade !