The Linux Kernel development team has announced the latest stable Kernel version 4.3.0 on November 1, 2015. Linux Torvolds wrote in the release notes:
So it *felt* like the last week of the rc series was busy, to the point where I got a bit worried about the release. But doing the actual numbers shows that that really was just my subjective feeling, probably due to the kernel summit and travel back home from Korea. It wasn't actually a particularly busy week, it's just that the pull requests were more noticeable in the last couple of days. We had a network update and a late fix for a x86 vm86 mode bug introduced by the vm86 cleanups, but other than that it's just a collection of various small oneliners all over. Ok, the vm86 mode thing was a one-liner too, it was just slightly more nerve-wracking because it looked scarier than it was before people (Andy) figured out what was going on. The changes from rc7 are dominated by the network stuff, but as you can tell from the appended shortlog it's not anything particularly scary. So on the whole, this remains a rather calm release cycle until the very end. And with the release of 4.3, obviously the merge window for 4.4 is open, and let's keep our fingers crossed that that will be an equally calm release. Especially since apparently Greg has decided ahead of time (as an experiment brought on by discussion at the kernel summit) that 4.4 will be another LTS release.
Install Linux Kernel 4.3.0
In this tutorial, we will see how to compile and install Linux Kernel 4.3.0 latest stable version in Ubuntu and CentOS.
First, we will see how to install Kernel 4.3.0 in Ubuntu 15.10 server.
1. Install Linux Kernel 4.3.0 in Ubuntu
The following steps are tested in Ubuntu 15.10 server edition. However, the same steps might work on Debian, and other Ubuntu derivatives such as Linux Mint, Elementary OS etc.
Run the following command to find the current Linux kernel version installed on your system:
uname -r
Sample output:stumbleupon
3.13.0-24-generic
As you see in the above input, the currently installed version is 3.13. Let us upgrade it to 4.3.0.
To do that, first download the Kernel 4.3.0 stable version from the official website using the following command.
On 64bit Ubuntu systems:
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.3-wily/linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.3-wily/linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.3-wily/linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_amd64.deb
sudo dpkg -i *.deb
On 32bit Ubuntu systems:
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.3-wily/linux-headers-4.3.0-040300_4.3.0-040300.201511020949_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.3-wily/linux-headers-4.3.0-040300-generic_4.3.0-040300.201511020949_i386.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.3-wily/linux-image-4.3.0-040300-generic_4.3.0-040300.201511020949_i386.deb
sudo dpkg -i *.deb
After downloading the necessary Kernel packages depending upon your Ubuntu system’s architecture, run the following commands to install Kernel 4.3.0:
sudo apt-get install gdebi
sudo gdebi linux-headers-4.2*.deb linux-image-4.2*.deb
Update the Grub boot loader using command:
sudo update-grub
If you use BURG boot loader, then run:
sudo update-burg
That’s it. Reboot your system to log in to your new Kernel.
After successful log in, run the following command to check if the new Kernel has been updated.
uname -r
Sample output:
4.2.3-040203-generic
Or, use -a flag to view the complete details:
stumbleuponuname -a
Sample output:
Linux server 4.2.3-040203-generic #201510030832 SMP Sat Oct 3 12:34:31 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
In case, you have some issues or end up with an unresponsive system after installing new Kernel, just reboot your system and login with your old Kernel.
Select ‘Advanced options for Ubuntu’ from the Boot menu to log in to your old Kernel.
Select the previous working kernel version, which is 3.13 in our case.
Then, run the following command to remove the newly installed Kernel:
sudo apt-get remove linux-header-4.2* linux-image-4.2*
Reboot your Ubuntu system to apply the changes.
2. Install Linux Kernel 4.3.0 in CentOS
Now, we will see how to install/update Linux Kernel 4.3.0 in CentOS. The steps are tested in CentOS 7, however the same steps should work on RHEL 7, Scientific Linux 7 and Fedora etc.
Kernel 4.3.0 is not included in the CentOS default repositories. In order to install the Latest stable Kernel version, we will add ELRepo. ELRepo is an RPM repository for Enterprise Linux packages. ELRepo supports Red Hat Enterprise Linux (RHEL) and its derivatives (Scientific Linux, CentOS & others).
To install ELRepo, follow the steps given below.
First of all, Import the public key:
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
To install ELRepo for RHEL/Scientific Linux/CentOS-7:
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
To make use of ELRepo mirror system, please also install yum-plugin-fastestmirror too.
yum install yum-plugin-fastestmirror
On Fedora 22 or later:
dnf install yum-plugin-fastestmirror
To install ELRepo for RHEL/Scientific Linux/CentOS-6:
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
To make use of ELRepo mirror system, please also install yum-plugin-fastestmirror too.
yum install yum-plugin-fastestmirror
To install ELRepo for RHEL/Scientific Linux/CentOS-5:
rpm -Uvh http://www.elrepo.org/elrepo-release-5-5.el5.elrepo.noarch.rpm
To make use of ELRepo mirror system, please also install yum-plugin-fastestmirror too.
yum install yum-plugin-fastestmirror
After installing ELRepo, let us find out the current Kernel version using command:
uname -r
Sample output:
3.10.0-123.9.3.el7.x86_64
Now, let us install the latest stable Kernel version 4.3.0 using command:
yum --enablerepo=elrepo-kernel install kernel-ml
Note: Here, Kernel-ml refers the current mainline stable version i.e 4.3.0. the letter “ml” is the short form of mainline. The kernel-ml packages are built from the sources available from the “mainline stable” branch of The Linux Kernel Archives.
Sample output:
Type ‘Y’ to continue.
Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: centos.excellmedia.net * elrepo: ftp.nluug.nl * elrepo-kernel: ftp.nluug.nl * extras: centos.excellmedia.net * updates: centos.excellmedia.net Resolving Dependencies --> Running transaction check ---> Package kernel-ml.x86_64 0:4.2.3-1.el7.elrepo will be installed --> Finished Dependency Resolution Dependencies Resolved ======================================================================================================================================================================== Package Arch Version Repository Size ======================================================================================================================================================================== Installing: kernel-ml x86_64 4.2.3-1.el7.elrepo elrepo-kernel 37 M Transaction Summary ======================================================================================================================================================================== Install 1 Package Total download size: 37 M Installed size: 167 M Is this ok [y/d/N]: y
That’s it. Reboot your system after the installation is completed.
Now, you’ll see the Kernel 4.2.3 entry has been added to the Boot menu. Select it and hit enter to log in with new Kernel.
To check the Kernel details, run:
uname -r
Sample output:
4.2.3-1.el7.elrepo.x86_64
Or,
uname -a
Sample output:
Linux server1.unixmen.local 4.2.3-1.el7.elrepo.x86_64 #1 SMP Sat Oct 3 10:19:41 EDT 2015 x86_64 x86_64 x86_64 GNU/Linux
If you have any problem after updating the latest Kernel and want to remove it, then reboot your system. Select your previous working Kernel from the boot menu:
Then, run the following command to remove the newly installed Kernel:
yum remove kernel-ml -y
Reboot once to use the old Kernel.
That’s all for now. Hope this tutorial will be useful for you.
Cheers!