Working with Kernels

Working with Kernels

Wikis > Working with Kernels

Background

Bodhi Linux (Standard/AppPack/Legacy) by default, do not automatically check for kernel updates during apt update. If you want a different kernel, perhaps for security, or perhaps to support some new device or feature that has been added since the kernel was originally installed with Bodhi Linux (or so others don’t hassle you when they see a screenshot with a kernel that isn’t the very latest), there are several options.

Note: Bodhi Linux HWE (Hardware Enablement), does receive kernel updates

Bodhi Linux’s Lead Developer ylee:

“The decision to not forcing kernel updates on users was Jeff Hoogland’s decision made a long time at the beginning of this distro. Traditionally we have left this decision to the end User. Jeff’s reasoning was that kernel updates can sometimes break things, usually as in lose hardware support. I have merely continued this tradition with the two releases I have made.

Are you less secure if you do not update your kernel? In some cases clearly yes. The security of your system is your responsibility. I pay close attention to kernel updates myself. Even read the changelogs. I stick with Ubuntu kernels usually but I do update the kernel.”

Option 1: Upgrade to the latest point release of the version Bodhi Linux shipped with

Point releases fix bugs and address security issues, but rarely add any features or break working hardware. For example Bodhi Linux Standard 6.0.0comes with 5.4.0-72, while this option provides 5.4.0-90.  Keeping this up to date is mainly for security; the only real disadvantage is it takes bandwidth, time, and requires a reboot to take affect.

Option 2: Upgrade to the HWE Rolling Update Kernel

Note: This does not apply to Bodhi Linux 6 Legacy; this section will be updated once out of beta which is using Debian kernel 5.10

The “Hardware Enablementkernel (HWE) is mainly available to support brand new hardware that was not supported when the Bodhi Linux’s original kernel was released, or if a new feature was introduced in a later kernel you want to take advantage of (…or you like bigger numbers when you look at your system info). The only real disadvantage is it takes time, data, and a reboot to update, though it is possible that a newer kernel version could drop support for hardware that was previously supported, or that an older driver does not work with the newer kernel version.

Bodhi Linux 4: 4.15
Bodhi Linux 5: 5.4
Bodhi Linux 6: 5.13 (could possibly increase; previously 5.8 and 5.11)

Option 3: Upgrade to an OEM Kernel

Note: this only applies to 64-bit Bodhi Linux 6.0.0

Ubuntu appears to make these kernels available for equipment manufacturers who need even newer kernel than HWE, updating them every 3 weeks. As of now, there are meta-packages for kernel versions 5.10, 5.13, and 5.14 in Focal repositories.

Option 4: Install any version of mainline kernel compiled by Ubuntu

These are pure upstream kernels (built using Ubuntu kernel configuration files), with very new and very old available. They do not include any Ubuntu-specific drivers or patches, nor any proprietary modules or restricted binary drivers.

How To: GUI Method – Update Manager

 If you do not have it installed already, install Update Manager:

sudo apt install mintupdate

For mainline kernels only (option 4), select Edit > Preferences > Expert and check the box to enable them.

For the older 4.x kernels, also check long term support.

Tools > Kernel Manager



Select the kernel you want and click install. The specific version you select will be installed by the update manager, which will not affect future apt updates.

How To: Alternative Method – Using Command Line

First, using Terminology (or your favorite terminal emulator), make sure your package database is up to date:

sudo apt update

If you follow the instructions in Options 1-3 below, future apt updates will periodically include an updated kernel.  Unlike using MintUpdate (as described above) to install a specific version, or specifying a specific version with apt install, the following method will affect future apt updates.

Option 1: Enable & Install Updates

Note: This does not apply to Bodhi Linux 6 Legacy; this section will be updated once out of beta which is using Debian kernel 5.10

Note 2: This will update Bodhi Linux 5 Legacy from Debian kernel 4.9 to Ubuntu kernel 4.15

sudo apt install linux-image-generic linux-headers-generic

Option 2: Enable & Install HWE Updates

Note: This does not apply to Bodhi Linux 6 Legacy; this section will be updated once out of beta which is using Debian kernel 5.10

Bodhi 4: sudo apt install linux-generic-hwe-16.04 xserver-xorg-hwe-16.04
Bodhi 5: sudo apt install linux-generic-hwe-18.04 xserver-xorg-hwe-18.04
Bodhi 6: sudo apt install linux-generic-hwe-20.04

Option 3: Enable & Install OEM Updates

Note: this only applies to 64-bit Bodhi Linux 6

First check what is available:

apt search linux-oem* "kernel and headers"

Then install the meta package with the kernel you want, for example for kernel version 5.14 on Bodhi Linux 6.0.0:

sudo apt install linux-oem-20.04d

Option 4: Mainline

Download mainline kernel packages from Ubuntu Mainline Kernel Archive, then install manually.

Example installation of 4.19.217 for i386 (Bodhi Linux Legacy)
mkdir /tmp/whatever;cd /tmp/whatever
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.217/amd64/linux-headers-4.19.217-0419217_4.19.217-0419217.202111121443_all.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.217/i386/linux-headers-4.19.217-0419217-generic_4.19.217-0419217.202111121443_i386.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.217/i386/linux-image-4.19.217-0419217-generic_4.19.217-0419217.202111121443_i386.deb
wget https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.217/i386/linux-modules-4.19.217-0419217-generic_4.19.217-0419217.202111121443_i386.deb
sudo apt install ./*

Reboot to Use Replacement Kernel

Regardless how you installed, GRUB will automatically boot the newest kernel of the newest kernel series you have installed*.  If you want to boot an older version, GRUB will not boot it automatically (unless you configure it that way), so select it directly from advanced options.

*Hint: the latest minor version of an older kernel series, can sometimes be newer than the latest minor version of a newer kernel series. In that case, Grub will still automatically boot the latter.

If for some reason your system fails to boot with the alternate kernel, force a reboot and select advanced options from GRUB, find your previous known-working kernel which you can boot, and use it to remove the kernel that does not work.

 

Category: