How to Use the Command `eselect kernel` (with Examples)
- Linux
- December 17, 2024
eselect kernel
is a command used within Gentoo Linux, a popular source-based Linux distribution. The command is part of the eselect
tool, which simplifies the management of symbolic links and other configuration files on your system. Specifically, eselect kernel
is employed to manage the symbolic link located at /usr/src/linux
, which points to the kernel source directory currently in use or intended for use.
Managing this symlink is crucial for developers and system administrators working with custom kernels, as it ensures that various tools and utilities operate with the expected version of the kernel source. This command allows users to easily see which kernels are available, set the symlink to a specific version or update it to match the currently running kernel, which streamlines system maintenance and configuration.
Use Case 1: List Available Kernel Symlink Targets with Their Numbers
Code:
eselect kernel list
Motivation:
Running this command provides you with a list of all available kernel source directories present on your system, each identified by a unique number. This is particularly useful if you have multiple kernel versions installed and need to know their identifiers to switch between them or to understand what options you have for setting or updating the symbolic link.
Explanation:
eselect
: The central command line interface for managing various symlinks, settings, and environment configurations in Gentoo.kernel
: Specifies the eselect module related to the kernel.list
: This sub-command lists all recognized kernel source directories within/usr/src
. Each directory is displayed with an associated number, which is helpful when planning to switch kernels.
Example Output:
Available kernel symlink targets:
[1] linux-5.10.27-gentoo
[2] linux-5.4.97-gentoo *
[3] linux-5.11.0-rc7
In the above output, the asterisk (*) next to linux-5.4.97-gentoo
indicates the currently selected kernel source that the /usr/src/linux
symlink points to.
Use Case 2: Set the /usr/src/linux
Symlink by Name or Number from the list
Command
Code:
eselect kernel set 1
Motivation:
Once you’ve listed your available kernel targets with their numbered indexes, you can use this command to set the /usr/src/linux
symlink to point to the desired kernel source. This is essential when you wish to compile against a specific kernel or ensure that the system is using the correct kernel headers for development or configuration tasks.
Explanation:
eselect
: Calls the eselect command line interface.kernel
: Specifies that you want to manipulate the kernel symlink.set
: Indicates that you want to set the symlink to a specific kernel source.1
: This argument is the number corresponding to your target kernel source directory from the list. It identifies the kernel version you want the symlink to point to.
Example Output:
Setting kernel as /usr/src/linux-5.10.27-gentoo
The output indicates that the symlink has been successfully updated to point to the version specified by the number chosen.
Use Case 3: Show What the Current Kernel Symlink Points To
Code:
eselect kernel show
Motivation:
Use this command when you need to verify which kernel source directory /usr/src/linux
is currently pointing to. This can help you confirm if recent changes to the symlink were successful or to simply ascertain which kernel source is set by default in your Gentoo system.
Explanation:
eselect
: The base command for managing symbolic links in Gentoo.kernel
: Specifies operation on the kernel symlink.show
: Displays the current target of the/usr/src/linux
symlink.
Example Output:
/usr/src/linux -> /usr/src/linux-5.4.97-gentoo
This output explicitly shows that /usr/src/linux
links to linux-5.4.97-gentoo
, indicating which kernel source is currently active.
Use Case 4: Set the Kernel Symlink to the Currently Running Kernel
Code:
eselect kernel update
Motivation:
This convenient command enables you to automatically sync the /usr/src/linux
symlink to point to the source of the kernel that is currently running. This ensures that any kernel module compilations or configurations will occur against the exact version currently in operation, minimizing potential inconsistencies or errors.
Explanation:
eselect
: The Gentoo management tool command.kernel
: Specifies that you are managing the kernel source link.update
: Automatically sets/usr/src/linux
to point to the kernel source that matches the currently running kernel version.
Example Output:
Updating symlink to currently running kernel: /usr/src/linux-5.11.0-rc7
With this output, the system indicates that the symlink has been updated to the currently running kernel source, displayed as linux-5.11.0-rc7
.
Conclusion:
Managing the symbolic link at /usr/src/linux
is a routine yet crucial task for any Gentoo user working with the system’s kernel. The eselect kernel
command greatly simplifies this process by providing mechanism to list available versions, select a desired version or update to the running kernel. As illustrated, each sub-command serves a specific purpose that can help Gentoo users maintain their systems efficiently and accurately.