# How to install upstream kernel on debian testing

Sometimes you need to install the latest and greatest kernel image on you Debian testing installation. In most cases that is to support some newer hardware piece, or to get latest features. You have two choices here: You can either compile it from sources, or you can just take it from the Debian experimental repository. There are plenty guides online on how to build you kernel from sources, so we won’t go into it. Instead i will explain how you can grab a ready build from Debian and save all this time configuring and compiling kernel source code.

This is how you can add experimental repository preferences to you Debian testing  installation, install upstream kernel and keep it up to date with apt:

1. First let’s add preferences for experimental repository, so it would be used only when specified manually
2. cat &gt;&gt; /etc/apt/preferences.d/experimental &lt;&lt; EOF
Package: *
Pin: release o=Debian,a=experimental
Pin-Priority: 102
EOF

3. Then lets add an experimental repo to sources list

echo "deb http://ftp.debian.org/debian experimental main contrib non-free" >> /etc/apt/sources.list #chose your mirror

4. update packages db

apt-get update

5. search for kernel of you choice. In my case i wanted linux-image-4.17.0-rc3-amd64

apt-cache search linux-image # find your image

6. i also needed firmware-realtek, firmware-linux-nonfree and intel-microcode for hardware compatibility since i use intel core

7. than just install every thing from experemental repo

apt-get -t experimental install firmware-linux-nonfree intel-microcode firmware-realtek amd64-microcode llinux-image-4.4.0-trunk-arm64 linux-headers-4.4.0-trunk-arm64

8. Live long and prosper