Archives For Linux Kernel

Linux Kernel

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:

Download Kernel 4.9 (.deb)

Depends on your OS type, grab and install the packages below one by one:

  • linux-headers-4.9.0-xxxxxx_all.deb
  • linux-headers-4.9.0-xxx-generic(/lowlatency)_xxx_amd64(/i386).deb
  • linux-image-4.9.0-xxx-generic(/lowlatency)_xxx_amd64(/i386).deb

Select 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.

Linux Kernel

Linus Torvalds finally announced the release of the Linux Kernel 4.7. He wrote on lkml.org:

So, after a slight delay due to my travels, I’m back, and 4.7 is out.

Despite it being two weeks since rc7, the final patch wasn’t all that big, and much of it is trivial one- and few-liners. There’s a couple of network drivers that got a bit more loving. Appended is the shortlog since rc7 for people who care: it’s fairly spread out, with networking and some intel Kabylake GPU fixes being the most noticeable ones. But there’s random small noise spread all over.

Kernel 4.7 release highlights:

  • open source support for Radeon RX 480 GPUs
  • async discard support by the core block code
  • support for upgrading firmware using the EFI Capsule
  • New Linux Security Module (LSM) “LoadPin”
  • support for generating virtual USB Device Controllers in USB/IP
  • numerous drivers updates and lots of bug-fixes.

How to Install / Upgrade Kernel 4.7 in Ubuntu:

Not recommended for common users, unless there’s must upgrade reasons and you know exactly what you’re doing and how to solve problems.

Ubuntu Kernel Team has made the binary packages for the new kernel release, available for download at the link below:

Download Kernel 4.7 Packages [.deb]

Depends on your OS type, grab and install the packages below one by one:

  1. linux-headers-4.7.0-xxxxxx_all.deb
  2. linux-headers-4.7.0-xxx-generic(/lowlatency)_xxx_amd64(/i386).deb
  3. linux-image-4.7.0-xxx-generic(/lowlatency)_xxx_amd64(/i386).deb

Select generic for common system, and lowlatency for a low latency system (e.g. for recording audio), amd64 for 64bit system and i386 for 32bit system.

You may also download these .deb packages in terminal / command console by running following commands one by one:

For 64-bit system:

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7/linux-headers-4.7.0-040700_4.7.0-040700.201607241632_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7/linux-headers-4.7.0-040700-generic_4.7.0-040700.201607241632_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7/linux-image-4.7.0-040700-generic_4.7.0-040700.201607241632_amd64.deb

sudo dpkg -i *.deb

For 32bit system:

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7/linux-headers-4.7.0-040700_4.7.0-040700.201607241632_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7/linux-headers-4.7.0-040700-generic_4.7.0-040700.201607241632_i386.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.7/linux-image-4.7.0-040700-generic_4.7.0-040700.201607241632_i386.deb

sudo dpkg -i *.deb

Finally restart your computer.

Uninstall Kernel 4.7:

For any reason you want to remove this Kernel, start/restart your machine and select boot with the previous kernel in Grub2 -> Advanced menu. Then remove the 4.7 kernel via Ubuntu Tweak, or just follow this tutorial.

Linux Kernel

The Linux Kernel 4.6 stable has been released. Linus Torvalds announced this kernel release in lkml.org:

    It’s just as well I didn’t cut the rc cycle short, since the last week ended up getting a few more fixes than expected, but nothing in there feels all that odd or out of line. So 4.6 is out there at the normal schedule, and that obviously also means that I’ll start doing merge window pull requests for 4.7 starting tomorrow.

    Since rc7, there’s been small noise all over, with driver fixes being the bulk of it, but there is minor noise all over (perf tooling, networking, filesystems, documentation, some small arch fixes..)

New features in Kernel 4.6:

  • Initial open-source support for GTX 900 series
  • Runtime AHCI power management support for greater power savings
  • Dell laptop support improvements
  • Better security for 32-bit Linux programs.
  • Various open-source AMD graphics driver improvements.
  • A number of new ARM hardware support.

How to Install Kernel 4.6 in Ubuntu:

There are .deb packages for this kernel release available in kernel-ppa/mainline:

Download Kernel 4.6 (.deb)

Download and install the packages named below one by one according to your OS type (i386 for 32-bit, amd64 for 64-bit):

  1. linux-headers-4.6.0-xxx_all.deb
  2. linux-headers-4.6.0-xxx-generic_xxx_i386/amd64.deb
  3. linux-image-4.6.0-xxx-generic_xxx_i386/amd64.deb

For a low latency system (e.g. for recording audio) install following packages instead:

  1. linux-headers-4.6.0-xxx_all.deb
  2. linux-headers-4.6.0-xxx-lowlatency_xxx_i386/amd64.deb
  3. linux-image-4.6.0-xxx-lowlatency_xxx_i386/amd64.deb

You can also download and install these debs by running the commands below in terminal/console:

For 64-bit system:

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6-yakkety/linux-headers-4.6.0-040600_4.6.0-040600.201605151930_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6-yakkety/linux-headers-4.6.0-040600-generic_4.6.0-040600.201605151930_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6-yakkety/linux-image-4.6.0-040600-generic_4.6.0-040600.201605151930_amd64.deb

sudo dpkg -i *.deb

For 32-bit system

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6-yakkety/linux-headers-4.6.0-040600_4.6.0-040600.201605151930_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6-yakkety/linux-headers-4.6.0-040600-generic_4.6.0-040600.201605151930_i386.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.6-yakkety/linux-image-4.6.0-040600-generic_4.6.0-040600.201605151930_i386.deb

sudo dpkg -i *.deb

Restart your computer after installation to apply changes.

Restore:

You can easily switch back to the previous kernel by restart your machine and select boot with old kernel version (available in Advanced options). Then use Ubuntu-Tweak or follow this guide to remove Kernel 4.6.

Linux Kernel

The Linux Kernel has reached the new stable 4.5 release. Linus Torvalds yesterday announced:

    So this is later on a Sunday than my usual schedule, because I just couldn’t make up my mind whether I should do another rc8 or not, and kept just waffling about it. In the end, I obviously decided not to,
    but it could have gone either way.

    We did have one nasty regression that got fixed yesterday, and the networking pull early in the week was larger than I would have wished for. But the block layer should be all good now, and David went through all his networking commits an extra time just to make me feel comfy about it, so in the end I didn’t see any point to making the release cycle any longer than usual.

    And on the whole, everything here is pretty small. The diffstat looks a bit larger for an xfs fix, because that fix has three cleanup refactoring patches that precedes it. And there’s a access type
    pattern fix in the sound layer that generated lots of noise, but is all very simple in the end.


Download and Install Linux Kernel 4.5:

NOT recommended for “normal” users! You MUST know what you’re going to do and how to revert the changes.

Ubuntu Kernel Team has made the binary packages for this kernel release, available for download at the link below:

Download Kernel 4.5 (DEBs)

First check out your OS type, 32-bit, 64-bit, then select install below packages one by one:

  1. linux-headers-4.5.0-xxx_all.deb
  2. linux-headers-4.5.0-xxx-generic_xxx_i386/amd64.deb
  3. linux-image-4.5.0-xxx-generic_xxx_i386/amd64.deb

If you need a low latency system (e.g. for recording audio) then download & install below packages instead:

  1. linux-headers-4.5.0-xxx_all.deb
  2. linux-headers-4.5.0-xxx-lowlatency_xxx_i386/amd64.deb
  3. linux-image-4.5.0-xxx-lowlatency_xxx_i386/amd64.deb

For command line, download and install the kernel debs via:

For 64-bit system:

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-headers-4.5.0-040500_4.5.0-040500.201603140130_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-headers-4.5.0-040500-generic_4.5.0-040500.201603140130_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-image-4.5.0-040500-generic_4.5.0-040500.201603140130_amd64.deb

sudo dpkg -i *.deb

For 32-bit system:

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-headers-4.5.0-040500_4.5.0-040500.201603140130_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-headers-4.5.0-040500-generic_4.5.0-040500.201603140130_i386.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.5-wily/linux-image-4.5.0-040500-generic_4.5.0-040500.201603140130_i386.deb

sudo dpkg -i *.deb

Uninstall Kernel 4.5:

Reboot computer and select boot with previous kernel (under Advanced Options) entry when you’re at Grub bootloader. Finally remove kernel 4.5 via command:

sudo apt-get remove linux-headers-4.5.0-* linux-image-4.5.0-*; sudo update-grub

upgrade Linux Kernel

Linus Torvalds finally announced the release of Linux Kernel 4.4 yesterday afternoon. He wrote on LKML:

Nothing untoward happened this week, so Linux-4.4 is out in all the usual places.

The changes since rc8 aren’t big. There’s about one third arch updates, one third drivers, and one third “misc” (mainly some core kernel and networking), But it’s all small. Notable might be unbreaking the x86-32 “sysenter” ABI, when somebody (*cough*android-x86*cough*) misused it by not using the vdso and
instead using the instruction directly.

Full shortlog appended for people who care or are just curious.

And with this, the merge window for 4.5 is obviously open, even if I won’t start actually pulling until tomorrow.

Linux Kernel 4.4 features:

  • initial AMD Stoney APU Support
  • numerous AMD GPU additions for AMD Carrizo, Tonga, or Fiji graphics processor
  • Raspberry Pi KMS driver for kernel mode-setting
  • VirGL VirtIO 3D GPU driver added to Gallium3D
  • many Network, WiFi, and eBPF updates
  • 64-bit ARM updates, nouveau improvements, and much more.

How to Install Kernel 4.4 in Ubuntu:

Ubuntu Kernel Team has made the binaries a few hours ago, available for download at the link below:

Download Linux Kernel 4.4 DEBs

You may first check out your OS type, 32-bit or 64-bit, (also arm, ppc64 packages available) then download and install below packages one by one:

  1. linux-headers-4.4.0-xxx_all.deb
  2. linux-headers-4.4.0-xxx-generic_xxx_i386/amd64.deb
  3. linux-image-4.4.0-xxx-generic_xxx_i386/amd64.deb

If you need a low latency system (e.g. for recording audio) then download & install below packages instead:

  1. linux-headers-4.4.0_xxx_all.deb
  2. linux-headers-4.4.0-xxx-lowlatency_xxx_i386/amd64.deb
  3. linux-image-4.4.0-xxx-lowlatency_xxx_i386/amd64.deb

For Ubuntu Server or those who prefer Linux commands, run below commands one by one to download and install the kernel binaries:

For 64-bit system:

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-wily/linux-headers-4.4.0-040400_4.4.0-040400.201601101930_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-wily/linux-headers-4.4.0-040400-generic_4.4.0-040400.201601101930_amd64.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-wily/linux-image-4.4.0-040400-generic_4.4.0-040400.201601101930_amd64.deb

sudo dpkg -i *.deb

For 32-bit system:

cd /tmp/

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-wily/linux-headers-4.4.0-040400_4.4.0-040400.201601101930_all.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-wily/linux-headers-4.4.0-040400-generic_4.4.0-040400.201601101930_i386.deb

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.4-wily/linux-image-4.4.0-040400-generic_4.4.0-040400.201601101930_i386.deb

sudo dpkg -i *.deb

Restart computer after installation.

Uninstall the 4.4 Kernel:

For any reason you want to remove this kernel, restart your computer and select boot with the previous Kernel (under Advanced Options) when you’re at Grub boot menu, after logged in run below command in a terminal:

sudo apt-get remove linux-headers-4.4.0-* linux-image-4.4.0-*; sudo update-grub