Linux Kernel 4.9 was finally released last night as ‘the biggest release’ said in the announcement. Linus Torvalds wrote on lkml.org:
So Linux 4.9 is out, and the merge window for 4.10 is thus open.
With the extra week for 4.9, the timing for the merge window is obviously a bit awkward, and it technically closes in two weeks on Christmas Day. But that is a pure technicality, because I will certainly stop pulling on the 23rd at the latest, and if I get roped into xmas food prep, even that date might be questionable.
I could extend the merge window rather than cut it short, but I’m not going to. I suspect we all want a nice calm winter break, so if your stuff isn’t ready to be merged early, the solution is to just not merge it yet at all, and wait for 4.11. Just so you all know (I already bcc’d the main merge window suspects in a separate mailing last week, I’m just repeating myself here to avoid anybody being confused about timing).
Anyway, back to 4.9 itself.
I’m pretty sure this is the biggest release we’ve ever had, at least in number of commits. If you look at the number of lines changed, we’ve had bigger releases in the past, but they have tended to be due to specific issues (v4.2 got a lot of lines from the AMD GPU register definition files, for example, and we’ve had big re-organizations that caused a lot of lines in the past: v3.2 was big due to staging, v3.7
had the automated uapi header file disintegration, etc). In contrast, 4.9 is just big.
Admittedly a chunk of that is the new greybus staging support, but that really isn’t the bulk of it – it’s just another small detail in the overall “yes, v4.9 is big” picture.
Other than just the size, 4.9 looks fairly normal. A bit over two thirds drivers (staging, GPU and networking are the bulk of it, but it’s all over), with the rest looking fairly normal too: arch updates, documentation, generic networking, filesystems..
The shortlog (16k+ commits, with another 1100 merge commits to round things out) is obviously much too big to put here, and wouldn’t be legible anyway. So as is my wont, I’m appending just the log of my merges.
New Features in Linux Kernel 4.9:
- Virtual Display Support and improved GPU reset for AMDGPU.
- Various fixes and improvements to Intel DRM.
- Memory protection keys (MPK) support.
- Support for vmapped kernel stacks.
- 29 more ARM machines support, including Raspberry Pi Zero, LG Nexus 5, etc.
- Various file-system improvements and more.
How to Install Linux Kernel 4.9:
The Ubuntu kernel team has build the new kernel release, and the binaries are available for download at the link below:
Depends on your OS type, grab and install the packages below one by one:
generic for common system, and
lowlatency for a low latency system (e.g. for recording audio),
amd64 for 64bit system,
i386 for 32bit system, or armhf, arm64, etc for other OS types.
To get the Kernel 4.9 from the command console, run the commands below one by one:
For 64-bit OS:
cd /tmp/ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900_4.9.0-040900.201612111631_all.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb sudo dpkg -i *.deb
for 32-bit OS:
cd /tmp/ wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900_4.9.0-040900.201612111631_all.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900-generic_4.9.0-040900.201612111631_i386.deb wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_i386.deb sudo dpkg -i *.deb
After installed these .debs, restart and enjoy!
Uninstall Linux Kernel 4.9:
Start/restart your machine and select boot with the previous kernel in Grub2 -> Advanced menu. Then use Ubuntu Tweak, or other system tool to remove the Kernel 4.9, or you may see this post that teach you how to remove old kernels.