2

There is a serious bug with the intel GPU drivers shipping with Zesty that causes random soft locks and data loss multiple times per day due to double frees. Intel fixed the issue on their end in February as part of a 25-commit patch series and there doesn't seem to be any obvious way to cherry-pick the fix onto the kernel tip. I'd still have the problem even if I compiled my own kernel from ltorvalds' HEAD.

However, yakkety's 4.8.x Ubuntu kernels work perfectly, and as long as yakkety is supported, I can keep getting kernel updates if only I:

  1. add the yakkety sources to my computer (done)
  2. downgrade linux-generic, linux-image-generic, linux-tools-generic and linux-headers-generic to the latest available 4.8 version (done)
  3. prevent any newer kernel from being installed (???)

I've attempted to achieve (3) by Forbidding version packages in Aptitude, but apparently you can only forbid a single version of a package.

I can also put the package on hold, but then I will probably miss out on security upgrades from unattended-upgrades.

Finally I can do this manually, which adds a bit of toil in telling aptitude that no, I really do want to downgrade everything and remove the new things and only keep the old things.

How can I achieve this?

$ apt policy linux-generic
linux-generic:
  Installed: 4.8.0.51.63
  Candidate: 4.10.0.20.22
  Version table:
     4.10.0.20.22 500
        500 http://security.ubuntu.com/ubuntu zesty-security/main amd64 Packages
        500 http://ubuntu.mirrors.uk2.net/ubuntu zesty-updates/main amd64 Packages
     4.10.0.19.21 500
        500 http://ubuntu.mirrors.uk2.net/ubuntu zesty/main amd64 Packages
 *** 4.8.0.51.63 500
        500 http://ubuntu.mirrors.uk2.net/ubuntu yakkety-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     4.8.0.49.61 500
        500 http://security.ubuntu.com/ubuntu yakkety-security/main amd64 Packages
     4.8.0.22.31 500
        500 http://ubuntu.mirrors.uk2.net/ubuntu yakkety/main amd64 Packages
     4.4.0.77.83 500
        500 http://ubuntu.mirrors.uk2.net/ubuntu xenial-updates/main amd64 Packages
     4.4.0.75.81 500
        500 http://security.ubuntu.com/ubuntu xenial-security/main amd64 Packages
     4.4.0.21.22 500
        500 http://ubuntu.mirrors.uk2.net/ubuntu xenial/main amd64 Packages

Yeah, surprise surprise it appears that only aptitude cares about its own version F'orbids.

  • Can you post the output of apt policy linux-generic? – Ravexina May 2 '17 at 13:45
  • I installed Wily on this laptop, and the Intel GPU drivers caused softlocks. Then I upgraded to Xenial, and the display port monitor kept flickering. Yakkety was perfect, but now Zesty has more kernel panics caused by Intel's GPU drivers. I don't want to assign blame, but this is quite disappointing. :( – badp May 2 '17 at 13:46
  • @badp Hardware headaches aren't a 'new' thing. To answer your question without posting an answer, though, you'd have to run a 'custom' Zesty installation with the 4.8 kernel you see there pinned, and the linux-generic software pinned to the specificed version (same for other dependencies and reverse-dependencies). However, you will not get patches or security updates from the repositories or the security team at that point, which can be... problematic... if there's a major security hole that gets patched. (Rolling a custom kernel from the default tends to do this though) – Thomas Ward May 2 '17 at 13:51
  • We can make it to use yakkety for update. – Ravexina May 2 '17 at 13:51
  • @ThomasWard I'm just pointing out that virtually all of my headaches have, well, a common source. I've already been running a yakkety kernel and a zesty userland with no obvious issues for about a month now. – badp May 2 '17 at 13:54
2

First remove unnecessary lines from your sources.list; Only keep yakkety and your own version's lines.

Add this line:

APT::Default-Release "zesty";

to : /etc/apt/apt.conf.

Create a file:

sudo touch /etc/apt/preferences.d/kernel

Add these lines into it:

Package: linux-generic
Pin: release n=zesty
Pin-Priority: -10

Package: linux-generic
Pin: release n=yakkety
Pin-Priority: 900

Package: linux-image-generic
Pin: release n=zesty
Pin-Priority: -10

Package: linux-image-generic
Pin: release n=yakkety
Pin-Priority: 900

Package: linux-headers-generic
Pin: release n=zesty
Pin-Priority: -10

Package: linux-headers-generic
Pin: release n=yakkety
Pin-Priority: 900

Package: linux-tools-common
Pin: release n=zesty
Pin-Priority: -10

Package: linux-tools-common
Pin: release n=yakkety
Pin-Priority: 900

Package: linux-tools-generic
Pin: release n=zesty
Pin-Priority: -10

Package: linux-tools-generic
Pin: release n=yakkety
Pin-Priority: 900

You are running zesty right? if not change zesty with your Ubuntu code name.

Before doing anything check that you don't get a massive update using:

apt update
apt list -u

Further reading

  • I think he'll only need the 900 pin - default pin priority is 500, anything higher is not gonna be looked at. he'll need to update this though too for the other dependencies that might depend on linux-generic as well - just saying. – Thomas Ward May 2 '17 at 14:48
  • I can confirm apt is satisfied that everything is up to date even without the -10 priority pins. – badp May 2 '17 at 14:50
  • I was getting some strange results; So I put them there just in case, @badp thanks for the edit ;) – Ravexina May 2 '17 at 14:53
  • ...and even after removing the manual version forbids from aptitude, aptitude is also satisfied that everything is up to date :) – badp May 2 '17 at 14:55

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.