OEMKernel

Differences between revisions 2 and 3
Revision 2 as of 2019-03-14 08:45:24
Size: 4075
Editor: anthonywong
Comment:
Revision 3 as of 2019-03-14 09:07:21
Size: 4675
Editor: anthonywong
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:
== What is OEM kernel == == What is OEM kernel? ==
Line 38: Line 38:
== Should I run it on my machine ==
Why not? :) Although the OEM kernel is targeted for OEM projects, it is not a private kernel at all. The kernel package is available publicly in the Ubuntu archive and anyone can install and run it. However, if it is run on hardware that is not certified by Canonical, we cannot guarantee it works without issues.
== Should I run it on my machine? ==
Why not? :)
Line 41: Line 41:
maintenance follows Ubuntu kernel best practices, timely security updates, publicly maintained, peer reviewed, tracked by public bugs. Although the OEM kernel is targeted for OEM projects, it is not a private kernel at all. The kernel package is publicly available in the Ubuntu archive and anyone can install and run it.
Line 43: Line 43:
The model is not too much different from what Canonical did before. However, if it is run on hardware that is not certified by Canonical, we cannot guarantee it works without issues. That being said, there is absolutely nothing added to the OEM kernel that we think will break other hardware. When we accept patches for the OEM kernel, we do our best to ensure they are regression free for any hardware, and are peer reviewed in the kernel mailing list. The maintenance follows other Ubuntu kernel's best practices, security updates are applied timely, and all bugs are tracked in the public Launchpad.
Line 45: Line 45:
Therefore, it is very safe to run it on any machine.
Line 47: Line 48:
{{{apt install linux-oem}}}
Line 49: Line 51:
Report bug to linux-oem. Report bug against the linux-oem package on command line by running:

{{{apport-bug linux-oem}}}

or go to [[this link|https://bugs.launchpad.net/ubuntu/+source/linux-oem/+filebug]] to report with your web browser.

All linux-oem bugs can be viewed at [[bug page|https://bugs.launchpad.net/ubuntu/+source/linux-oem]].

OEM Kernel

What is OEM kernel?

OEM kernel is an Ubuntu derivative kernel, specifically for use in OEM projects. The rationales for creating yet another Ubuntu kernel are:

  • Standard Ubuntu kernels have a 3-week SRU cadence. OEM projects require fix schedules that often do not align well with that.
  • Hardware devices that are not supported by linux kernel directly require the use of DKMS packages, but DKMS package has its own downside. By including the functionalities of such DKMS packages into OEM kernel eliminate the need for using DKMS packages, so that we can provide a much better out-of-the-box user experience to end users, no matter for the pre-installed image or stock Ubuntu.

The OEM kernel was used to be called OEM staging kernel, because the delta in OEM kernel should all be merged to the generic kernel in the next Ubuntu release, so it is essentially a staging code base.

Differences from Other Ubuntu Kernels

The delta between the OEM and stock Ubuntu kernel falls into one of these categories:

oem-kernel.png

1. Additional device drivers, e.g. i915 drivers to support new Intel graphics, iwlwifi to support new wireless cards or new realtek card reader. 1. New features, e.g. to support Thunderbolt security level or power saving for an existing device driver. 1. Bug fixes. In many cases, fixes come from upstream, and so they will not only be applied to OEM kernel but also to stock Ubuntu kernel through the Kernel SRU (stable release update) process. 1. Temporary workarounds. For critical issues where a fix does not yet exist at upstream, either the issue is newly found or the proposed fix has not been accepted by upstream, a workaround will be used to fix the issue temporarily, and will be replaced by a proper fix later, which is usually a fix that has been sanctioned by upstream.

In many ways, the OEM kernel is very similar or even identical to the stock Ubuntu kernel. As OEM kernel is based on the stock Ubuntu kernel, it inherits all its updates, from regular updates that come from upstream stable kernel, to all kernel CVE security vulnerability patches. The OEM kernel keeps in sync with the stock Ubuntu kernel by pulling in any new changes (in Git parlance, “rebase”) for every 3 weeks. This way the OEM kernel will always have only a limited delta compare with stock Ubuntu kernel, and not moving farther away from it.

Support lifecycle

The OEM kernel has the same life cycle as the Ubuntu kernel that it bases on. For instance, 4.13 linux-oem in Artful has 9 months of support, while 4.15 linux-oem in Bionic has 5 years.

Before the kernel reaches end-of-life, all of the changes made to the OEM kernel will be reviewed to make sure that the kernel in the next Ubuntu release already has the changes it needs. For instance, a driver we integrate in the OEM kernel should also exist in the next kernel. This ensures users a smooth upgrade path — systems that upgrade to the next Ubuntu release will not lose any functionalities or features, nor have any new regression.

Release cadence

Obtaining the OEM Kernel

Sending Patches to OEM Kernel

Should I run it on my machine?

Why not? Smile :)

Although the OEM kernel is targeted for OEM projects, it is not a private kernel at all. The kernel package is publicly available in the Ubuntu archive and anyone can install and run it.

However, if it is run on hardware that is not certified by Canonical, we cannot guarantee it works without issues. That being said, there is absolutely nothing added to the OEM kernel that we think will break other hardware. When we accept patches for the OEM kernel, we do our best to ensure they are regression free for any hardware, and are peer reviewed in the kernel mailing list. The maintenance follows other Ubuntu kernel's best practices, security updates are applied timely, and all bugs are tracked in the public Launchpad.

Therefore, it is very safe to run it on any machine.

How to install it?

apt install linux-oem

What if I found any issues?

Report bug against the linux-oem package on command line by running:

apport-bug linux-oem

or go to https://bugs.launchpad.net/ubuntu/+source/linux-oem/+filebug to report with your web browser.

All linux-oem bugs can be viewed at https://bugs.launchpad.net/ubuntu/+source/linux-oem.


CategoryKernel CategoryUbuntuTeams

Kernel/OEMKernel (last edited 2024-03-20 02:32:36 by anthonywong)