How to Install Latest Linux Kernel 4.8 on Ubuntu 16.04

Linux kernel 4.8 was released on October 2, 2016. This tutorial is going to show you how to install Linux kernel 4.8 on Ubuntu 16.04 LTS.

Hightlights in this release includes:

  • Microsoft Surface 3 touchscreen support
  • Supports AMD OverDrive technology, which means you can overclock your AMD graphics card with Linux kernel 4.8.
  • The open source Nouveau driver now has initial support for Nvidia Pascal GPU architecture.
  • Raspberry Pi 3 Broadcom BCM2837 SoC is supported.
  • HDMI CEC (Consumer Electronics Control) is supported.
  • Btrfs ENOSPC enhancements

Install Linux Kernel 4.8 on Ubuntu 16.04 LTS

Fire up a terminal window (CTRL+ALT+T) and run the following commands to download Linux kernel 4.8 header and Linux kernel 4.8 image binaries from Ubuntu website.

For 64 bits system:

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8/linux-headers-4.8.0-040800-generic_4.8.0-040800.201610022031_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8/linux-headers-4.8.0-040800_4.8.0-040800.201610022031_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8/linux-image-4.8.0-040800-generic_4.8.0-040800.201610022031_amd64.deb

Once the download is complete, install all of the above kernel packages with dpkg.

sudo dpkg -i linux*4.8*.deb

The Grub boot menu will be automatically updated during installation. Once they are installed, reboot your computer with the following command:

sudo shutdown -r now

The Ubuntu boot entry with Linux kernel 4.8 should be the first in Grub boot menu. To check your Linux kernel version, run this command:

uname -r

linux kernel 4.8 ubuntu 16.04

How to Remove Linux Kernel 4.8

If for any reason you want to uninstall it, then reboot your computer, select a previous kernel version from the Grub boot menu and run the below command to remove 4.8.

sudo apt remove 'linux-headers-4.8*' 'linux-image-4.8*'

How to Rescue the System When Linux Kernel Failed to Install

In rare cases, the Linux kernel might fail to install on the system, after Grub boot loader registered the new kernel. So next time, you can’t boot the system. If you have another Ubuntu-based Linux distro, either on the same computer or on another computer, you can copy the initrd.img and vmlinuz file to the unbootable system under the /boot/ directory, then it will boot successfully.

Install Latest Linux Kernel on Ubuntu LTS (Simple Method)

Ubuntu LTS often ships a stable Linux kernel but not the latest version. If you like to use a newer Linux kernel, run the following command. Replace 24.04 with the version of your Ubuntu system.

sudo apt install linux-image-generic-hwe-24.04

That’s it! As always, if you found this post useful, then subscribe to our free newsletter. Thanks for visiting!

Rate this tutorial
[Total: 19 Average: 3.7]

3 Responses to “How to Install Latest Linux Kernel 4.8 on Ubuntu 16.04

  • Mohammad
    9 years ago

    Selecting previously unselected package linux-headers-4.8.0-040800.
    (Reading database … 187154 files and directories currently installed.)
    Preparing to unpack linux-headers-4.8.0-040800_4.8.0-040800.201610022031_all.deb …
    Unpacking linux-headers-4.8.0-040800 (4.8.0-040800.201610022031) …
    Selecting previously unselected package linux-headers-4.8.0-040800-generic.
    Preparing to unpack linux-headers-4.8.0-040800-generic_4.8.0-040800.201610022031_amd64.deb …
    Unpacking linux-headers-4.8.0-040800-generic (4.8.0-040800.201610022031) …
    Selecting previously unselected package linux-image-4.8.0-040800-generic.
    Preparing to unpack linux-image-4.8.0-040800-generic_4.8.0-040800.201610022031_amd64.deb …
    Examining /etc/kernel/preinst.d/
    run-parts: executing /etc/kernel/preinst.d/intel-microcode 4.8.0-040800-generic /boot/vmlinuz-4.8.0-040800-generic
    Done.
    Unpacking linux-image-4.8.0-040800-generic (4.8.0-040800.201610022031) …
    Setting up linux-headers-4.8.0-040800 (4.8.0-040800.201610022031) …
    Setting up linux-headers-4.8.0-040800-generic (4.8.0-040800.201610022031) …
    Examining /etc/kernel/header_postinst.d.
    run-parts: executing /etc/kernel/header_postinst.d/dkms 4.8.0-040800-generic /boot/vmlinuz-4.8.0-040800-generic
    Error! Bad return status for module build on kernel: 4.8.0-040800-generic (x86_64)
    Consult /var/lib/dkms/bcmwl/6.30.223.248+bdcom/build/make.log for more information.
    Setting up linux-image-4.8.0-040800-generic (4.8.0-040800.201610022031) …
    Running depmod.
    update-initramfs: deferring update (hook will be called later)
    Examining /etc/kernel/postinst.d.
    run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.8.0-040800-generic /boot/vmlinuz-4.8.0-040800-generic
    run-parts: executing /etc/kernel/postinst.d/dkms 4.8.0-040800-generic /boot/vmlinuz-4.8.0-040800-generic
    ERROR: Cannot create report: [Errno 17] File exists: ‘/var/crash/bcmwl-kernel-source.0.crash’
    Error! Bad return status for module build on kernel: 4.8.0-040800-generic (x86_64)
    Consult /var/lib/dkms/bcmwl/6.30.223.248+bdcom/build/make.log for more information.
    run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.8.0-040800-generic /boot/vmlinuz-4.8.0-040800-generic
    update-initramfs: Generating /boot/initrd.img-4.8.0-040800-generic
    W: Possible missing firmware /lib/firmware/radeon/hainan_k_smc.bin for module radeon
    W: Possible missing firmware /lib/firmware/radeon/oland_k_smc.bin for module radeon
    W: Possible missing firmware /lib/firmware/radeon/verde_k_smc.bin for module radeon
    W: Possible missing firmware /lib/firmware/radeon/pitcairn_k_smc.bin for module radeon
    W: Possible missing firmware /lib/firmware/radeon/tahiti_k_smc.bin for module radeon
    W: Possible missing firmware /lib/firmware/radeon/hawaii_k_smc.bin for module radeon
    W: Possible missing firmware /lib/firmware/radeon/bonaire_k_smc.bin for module radeon
    run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.8.0-040800-generic /boot/vmlinuz-4.8.0-040800-generic
    run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.8.0-040800-generic /boot/vmlinuz-4.8.0-040800-generic
    Generating grub configuration file …
    Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
    Found linux image: /boot/vmlinuz-4.8.0-040800-generic
    Found initrd image: /boot/initrd.img-4.8.0-040800-generic
    Found linux image: /boot/vmlinuz-4.4.0-36-generic
    Found initrd image: /boot/initrd.img-4.4.0-36-generic
    done

  • The following set of scripts makes this process MUCH easier:

    https://github.com/mtompkins/linux-kernel-utilities

    • Xiao Guo-An (Admin)
      9 years ago

      Thanks for the suggestion. Mark 🙂 Will look into it.

Leave a Comment

  • Comments with links are moderated by admin before published.
  • Your email address will not be published.
  • Use <pre> ... </pre> HTML tag to quote the output from your terminal/console.
  • Please use the community (https://community.linuxbabe.com) for questions unrelated to this article.
  • I don't have time to answer every question. Making a donation would incentivize me to spend more time answering questions.

The maximum upload file size: 2 MB. You can upload: image. Links to YouTube, Facebook, Twitter and other services inserted in the comment text will be automatically embedded. Drop file here