Manjaro Kernels
Overview
As the name would imply, as with the kernel of a seed, the Linux kernel is the core of a Linux operating system. Every other element of a Linux-based operating system is built around the kernel, which acts as an interface between your computer's hardware and the applications that run on it. As hardware and software applications become more complex and sophisticated, so do the kernels to fully utilise them. As such, Linux kernels are continually under development, with new revisions and versions being being regularly released. Further information on the very latest developments in kernel technology can be found at The Linux Kernel Archives
The first Linux kernel was originally developed by Linus Torvalds, the creator of Linux. As an open source project, although modern kernels now contain millions of lines of code generated by thousands of programmers, Linus Torvalds still has the final authority on their development and release.
Identifying the Kernel Being Used
If the existing Kernel being run in Manjaro is not immediately apparent (i.e. through the pre-installed Conky display on your desktop), then it can be shown by opening the terminal and then entering the following command:
uname -r
As seen in the above example, Manjaro is running kernel 3.6.0-1-MANJARO. The information given here is not arbitary; each part means something about the kernel:
- The 3 indicates the version
- The 6 indicates the major revision
- The 0 indicates the minor revision
- The 1 indicates bug fixing
- MANJARO indicates the specific distribution it is used for
Adding New Kernels
Manjaro not only supports the use of multiple kernels (selectable from the boot screen), but allows easy access to the very latest bleeding edge kernels as well. This is undertaken through use of Manjaro's own MHWD-kernel (Manjaro Hard-Ware Detection) command. The syntax of the command is as follows:
sudo mhwd-kernel [current kernel: linux[version]] [new kernel: linux[version]] [uninstall the current kernel: yes or no]
When listing the current and new kernels in the command, it is not necessary to write the entire version numbers. For example, any version of Kernel 3.4 can be listed simply as 'linux34', and any version of Kernel 3.5 can be listed as 'linux35', and so on.
As an example, once the terminal is opened, the following command will install the latest version of kernel 3.6 without deleting the existing kernel version 3.5 currently being used:
sudo mhwd-kernel linux35 linux36 no
Otherwise, the following command will install the latest version of kernel 3.6 to replace the existing kernel version 3.5, which will be deleted:
sudo mhwd-kernel linux35 linux36 yes
Either way, Manjaro will automatically configure the new kernel for you, ready for immediate use. Once completed, close the terminal and re-boot the system for the change to take effect.
Removing Kernels
Where multiple kernels are present on your system, pacman can be used to remove them in the terminal. It may be necessary to delete a total of three elements of the kernel in total to completely remove it:
- The kernel itself
- The kernel's headers
- The kernel's extra modules
Whether or not the headers and extra modules must be deleted depends on whether or not they have been installed. The syntax of the pacman command to remove a kernel is as follows:
1. To delete a kernel, the syntax is:
sudo pacman -R linux[version]
For example, to delete kernel version 3.5 from the system, the following command would be entered:
sudo pacman -R linux35
2. To delete a kernel's headers, the syntax is:
sudo pacman -R linux[version]-headers
For example, to delete the headers of kernel version 3.5 from the system, the following command would be entered:
sudo pacman -R linux35-headers
3. To delete a kernel's extra modules, the syntax is:
sudo pacman -R linux[version]-extramodules
For example, to delete the extra modules of kernel version 3.5 from the system, the following command would be entered:
sudo pacman -R linux35-extramodules
4. To delete all elements of a kernel at the same time - where they are all present on your system - the syntax is:
sudo pacman -R linux[version] linux[version]-headers linux[version]-extramodules
For example, to completely remove all elements of kernel version 3.5, the following command would be entered:
sudo pacman -R linux35 linux35-headers linux35-extramodules
Please note however, that attempting to delete multiple elements at once if they are not present on your system will result in an error message before the operation itself is aborted. It is also worthwhile noting if Manjaro is being run in a virtual machine (e.g. Oracle Virtualbox), you may not be able to delete certain kernels if they contain elements important to the virtualisation process itself.
Selecting Kernels =
All available kernels installed on your system will be presented upon booting up. As illustrated, this includes backup copies of each installed kernel version (which will automatically be removed if or when a kernel is deleted). To select a kernel, simply use the arrow keys to highlight the desired version, and then press <enter>.
Where a selection is not made, Manjaro will usually automatically select a kernel version after waiting five seconds for a key entry. The version automatically selected will usually be the one previously used.