0

I try to understand the structure of the ubuntu kernel-ppa since I need to upgrade my vanilla kernel. Given the MainlineBuild manual, there exist three packages for installation (e.g. in 4.15.18):

  • linux-headers-*-generic-*-all
  • linux-headers-*-generic-*-<arch>
  • linux-image-*-generic-*-<arch>

But that is not true for all builds (e.g. 4.14.39 has four packages):

  • linux-headers-*-generic-*-all
  • linux-headers-*-generic-*-<arch>
  • linux-image-unsigned-*-generic-*-<arch>
  • linux-modules-*-generic-*-<arch>

What's the deal behind this structure, since it is not explained in the MainlineBuild manual? Are all modules in unsigned kernels build out-of-tree? What is the benefit and how to install these unsigned kernels properly?

Tik0
  • 327
  • 1
  • 7
  • 18
  • This should also have the mainline-kernel tag. Tried to submit and edit but apparently, the text has to change too. No biggie but I'd imagine certain kernel devs look for that tag. Missed it from my post as well so oh well :) – guyfleeman May 23 '18 at 04:28
  • linux-modules was introduced with kernel 4.14.36 / 4.16.3 and 4.17-rc2 and crashed for me during install. See: https://askubuntu.com/questions/1027767/cannot-remove-apt-package-unmet-dependencies/1029546#1029546 and https://askubuntu.com/questions/1030043/unable-to-upgrade-kernel-after-4-16-3/1030377#1030377 – WinEunuuchs2Unix May 23 '18 at 04:49

1 Answers1

1

Okay so I run mainline Kernels and just hit this snag.

First off, if you do this regularly, I highly recommend using this script Ubuntu Mainline Kernel Updater. These changes actually broke the script, but I have an open PR that fixes it and you can pull from my repo. This will automatically install new kernels and has an assortment of flags to grab the one you want.

Second, this is stemming from an effort to, as far as I can tell, rebrand security. Previously if you wanted a signed kernel from Canonical you grabbed the linux-signed-image package. Now they want kernels signed by default, so stable kernels are just linux-image (signed) and intermediate kernels are linux-image-unsigned. Because Canonical doesn't guarantee they are stable, they are not signed. Modules are also separated but I'm not sure why yet. I haven't found anything in the Kernel Team archives, but admittedly I haven't looked that deeply yet. For now, it seems the changes are mostly cosmetic as far as we are concerned, but I still feel ignorant as the wider implications.

My Similar Ask Ubuntu Thread (one the of Ubuntu Kernel has a brief response).

TLDR

Download all four and run dpkg -i *.deb. It's the new workflow as far as I can tell.