<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" style="task" id="kernels">

  <info>
    <link type="guide" xref="index#kernel"/>

    <credit type="author">
      <name>ⵍⵉⵏⵓⴽⵙ ⵎⴰⵏⵜ</name>
      <email>root@linuxmint.com</email>
    </credit>

    <include xmlns="http://www.w3.org/2001/XInclude" href="legal.xml"/>

    <desc>Kernels and kernel updates</desc>
  </info>

  <title>Kernel updates</title>

  <p>The kernel is the central part of the operating system. Among other things, it is responsible for hardware support.</p>

  <note><p>In Linux Mint, kernel updates bring both security patches and bug fixes (and sometimes even new features), and they impact critical parts of the operating system. This makes kernel updates important from a security point of view, but also prone to regressions which can be hard to fix for novice users.</p></note>

  <p>From a security point of view, it is important to apply kernel updates.</p>

  <p>A kernel regression could however affect your ability to connect to the Internet, to start your desktop environment or even to boot the operating system.</p>

  <p>For this reason it is important to be cautious when applying kernel updates and to know how to revert them when something goes wrong.</p>

  <section id="kernel1">
    <title>Multiple kernels can be installed</title>

    <p>When you apply an update, you replace the old version of the software with the new version.</p>

    <p>Things are different when it comes to kernels. When you apply a "kernel update", you don't actually update the kernel, you install a new kernel alongside the existing one.</p>

    <p>Every time you apply a kernel update, you install a new kernel on the system, without removing the old ones.</p>

    <p>At boot time, the computer selects the most recent one.</p>

  </section>

  <section id="kernel2">
    <title>Identifying the current kernel</title>

    <p>If you want to know which kernel you are currently using, open a terminal and type:</p>

    <screen>uname -a</screen>

  </section>

  <section id="kernel3">
    <title>Installing and removing kernels</title>

    <p>You can install and remove kernels from the Update Manager.</p>

    <p>Select "View" -&gt; "Linux Kernels" in the menu.</p>

    <note><p>You cannot remove the kernel you are currently using. To remove it, you need to reboot and select a different kernel to boot with.</p></note>

  </section>

  <section id="kernel4">
    <title>Selecting a kernel</title>

    <p>You can have multiple kernels installed, but you can only run one kernel at a time.</p>

    <p>When you boot the computer, the very first screen is called the Grub menu. This menu allows you to choose operating systems but you can also use it to select a kernel.</p>

    <note><p>If you only have one operating system installed, your boot sequence might skip the Grub menu. To force the Grub menu to show, boot the computer and keep pressing the left <key>Shift</key> key.</p></note>

    <p>To select a kernel, choose "Advanced options" in the Grub menu. You should see all the kernels currently installed. Select the one you want to use and your computer will boot with that one.</p>

  </section>

  <section id="kernel5">
    <title>Checking the DKMS status</title>

    <p>The kernel includes all open source drivers and these usually work very well. Proprietary drivers (NVIDIA, AMD, Broadcom...etc) are not included and they need to compile themselves against every kernel you install. This is done via a mechanism called DKMS.</p>

    <p>If a proprietary driver isn't properly recompiled with DKMS for one of your kernels, it will not function correctly with that kernel.</p>

    <p>After installing or removing a kernel, you can check your DKMS status, to make sure all proprietary drivers are properly installed for each of your kernels with the following command:</p>

    <screen>dkms status</screen>

    <note><p>New kernel series usually become available before proprietary drivers support them via DKMS. If you are using proprietary drivers, it is recommended to stick to kernel updates and not to install kernels from series which are newer than the series of the recommended kernels.</p></note>

  </section>

  <section id="kernel6">
    <title>Reverting a kernel update</title>

    <p>If something doesn't work with the latest kernel you installed (or the latest kernel update), reboot, select the kernel you were previously using, remove the new kernel and reboot again.</p>

  </section>

</page>
