1

The official Ubuntu apt sources offer multiple editions of the kernel like generic, lowlatency, aws, azure, etc. E.g.:

$ apt-cache show linux-image-5\* | grep Package:
...
Package: linux-image-5.4.0-1036-gcp
Package: linux-image-5.4.0-1037-aws
Package: linux-image-5.4.0-1037-oracle
Package: linux-image-5.4.0-1039-azure
Package: linux-image-5.4.0-37-generic
Package: linux-image-5.4.0-37-lowlatency

How do these editions differ?

  • Is it merely a different configuration used during the compile of the kernel to tune specific parameters?
  • Are different kernel modules enabled/embedded by default?
  • Is the kernel source patched with different code?
  • Are they regularly rebased on a common mainline or did they diverge long ago and are now only mostly similar to each other?

How could I understand these differences myself?

  • Is there a public forum where the maintainers of these packages discuss why the gcp edition should vary from generic?
  • Is the source code, configuration and build process of each variant maintained publicly for comparison against a baseline?

I've struggled to find these answers myself but I likely haven't found the right place to look. From what I've seen so far, it appears we're just expected to run the azure variant of the kernel on Azure VMs , and run the aws variant on EC2, and not worry about why, or what the consequences might be of just using generic in all the cloud providers.

Update 1: Another StackExchange question does a decent job of explaining generic vs lowlatency but doesn't cover any of the cloud provider variants of the kernel.

Jason Stangroome
  • 502
  • 5
  • 10
  • 1
    Does this answer your question? [Why choose a low latency kernel over a generic or real-time kernel?](https://askubuntu.com/questions/126664/why-choose-a-low-latency-kernel-over-a-generic-or-real-time-kernel) – guiverc Feb 10 '21 at 03:25
  • With the low-latency kernel, it's generally advised to use the generic kernel unless you absolutely need to use low-latency, as some features of the OS won't work with low-latency (esp. kernel modules or *drivers*) – guiverc Feb 10 '21 at 03:27
  • Does this answer your question? [Where exactly is all the source code on Launchpad browseable?](https://askubuntu.com/questions/979048/where-exactly-is-all-the-source-code-on-launchpad-browseable) – muru Feb 10 '21 at 04:26
  • For e.g., AWS, the sources are at https://git.launchpad.net/~canonical-kernel/ubuntu/+source/linux-aws/+git/xenial/tree/debian.aws – muru Feb 10 '21 at 04:33
  • @muru how did you locate this source? I followed https://packages.ubuntu.com/bionic/linux-image-5.4.0-1037-aws to launchpad and only found an empty repo and one named `usd-import-team` which has various import commit messages and doesn't seem to be where the work actually happens. – Jason Stangroome Feb 10 '21 at 05:22
  • I went to the source package (e.g., https://packages.ubuntu.com/source/bionic/linux-aws-5.4), scrolled to the bottom, where there's a command to clone the packaging source. I took the URL and swapped `https` for `git`. – muru Feb 10 '21 at 08:58

0 Answers0