Linaro Stable Kernel (LSK)

Overview

Linaro Stable Kernel (LSK) aims to provide a stable basis for system integration of ARM hardware, integrating Linaro developed features available in mainline with kernel.org Long Term Stable (LTS) releases to allow integration of those features in production systems.

Most LSK features can be disabled at either build or run time so are included as part of the core LSK functionality. To support those feature sets which have substantial impacts on the kernel and cannot be disabled at build or run time the LSK is provided in multiple flavours. Currently these are:

  • "Core" - features which can be runtime disabled
  • "Android" - additional changes from AOSP

  • "RT" - the RT patch set adding realtime features to the Linux kernel

The number of flavours is kept to a minimum in order to make selection simpler. As much as possible is in the core LSK in order to ensure that features are as widely available as possible.

Currently the LSK release in Feature mode is base based on kernel version v3.18. Note: details for maintenance mode LSK versions can be found below.

Support

Each Linaro Stable Kernel (LSK) is maintained for two years. During the first year [Feature-Mode], both features and bug fixes are integrated and during the second year [Maintenance-Mode] only bug fixes are integrated. Bug reports should be filed against Linaro Stable Kernel project. Any queries should be directed to the Linaro support system in the first instance.

Adding code to LSK

New features for the LSK should be thoroughly reviewed by the LSK maintainers and subsequently approved by the Linaro steering committee (OSC/TSC), these discussions are typically held on the [email protected] mailing list or within the steering committee review forums.

Bug fixes for standard LTS

General bug fixes which apply to the standard kernel and could be included in a kernel.org LTS release should be submitted upstream to the LTS at kernel.org. Of course Linaro is happy to assist with this workflow as necessary.

Features requests specific to the LSK

Code specific to the LSK (bugs and/or features) should be submitted to the LSK team for review by e-mail using standard kernel submission techniques such as patches in e-mail or git pull requests. The addresses to send things to are:

  • LSK Tech Lead: Kevin Hilman <khilman AT linaro DOT org>

  • LSK Engineer: Alex Shi <Alex.Shi AT linaro DOT org>

  • Linaro Kernel mailing list <linaro-kernel AT lists DOT linaro DOT org>

To make sure your requests are expedited, please include "LSK feature request" in the Subject line, or if patches are submitted, subjects should be of the form [PATCH LSK <version>] (where <version> is the LSK version, e.g. v3.18 or v4.1) This will aid ongoing maintenance of the features. Any new features should be discussed with the LSK team in advance to determine the most straightforward approach.

The submission should include information to help track upstream work on the feature, in order of preference: Commit IDs from the upstream kernel in the changelogs of the individual patches. A description of how the equivalent change was made upstream or why it isn't required in LSK (eg, explaining that this is taken care of by features not present in the stable kernel). References to where out of tree development is happening including contact information for followup.

LSK Inclusion considerations

As general rule, the LSK does not integrate board support as this code can change frequently and thus reduce the stability of the stable kernel, on rare occasions, minimal platform support is backported when it is critical to enable test and verification of a feature

  • You can contact Linaro member services for information on additional options for maintaining kernels that are based on the LSK but include your platform support code (including testing within Linaro infrastructure)

the LSK is meant for stability, not early access, thus requested features should be present in an upstream kernel (committed in the mainline kernel, or on a clear path to upstream, i.e. merged into linux-next or applied to a maintainer tree) prior to the request.

Features in LSK active versions [Feature Mode]

Feature

LTS 3.18 / Upstream

LSK v3.18

LTS 4.1 / Upstream

LSK v4.1

ARM64 errata framework

yes

15.05

yes

yes

ARM64 errata workarounds

yes

15.05

yes

yes

DT files for Juno support

yes

15.05

yes

yes

KVM

yes

15.06

yes

yes

Coresight

no

15.06

yes

yes

IPA

yes

15.06

no

target 15.07

Coming soon...

dm-crypt performance

mostly

15.07

yes

yes

Getting LSK

Linaro Stable Kernel (LSK) is available in a git repository on git.linaro.org. There are branches for each flavor of the kernel:

Flavour

Kernel version

Branch

Core

v3.18

linux-linaro-lsk-v3.18

Android

v3.18

linux-linaro-lsk-v3.18-android

RT

v3.18

linux-linaro-lsk-v3.18-rt

Releases with release notes are made every month, available via Linaro releases website and tagged in the git repository with tags in the form "branch-YY.MM", for example the 15.05 release of the core flavour is tagged "linux-linaro-lsk-v3.18-15.05". Extra testing is performed on these releases in addition to the continuous integration done in development.

Using LSK

Linaro Stable Kernel (LSK) is intended to be merged into development trees, integrating the kernel.org LTS releases and updates and fixes to the LSK specific features. The LSK git repository is fast forward only, meaning that there are no rebases or other changes disruptive to merges are done. Updating to a new release should be done using git pull:

   1    git pull git://git.linaro.org/kernel/linux-linaro-stable.git lsk-v3.14-15.05

or updates can be pulled from the branch at any time by replacing the tag with one of the branch names.

LSK Image reports (LAVA test reports)

Much of the automated LSK testing is performed in LAVA and you can use the reports below to view current status. Some of these reports may contain member sensitive information so you may need to request access via Linaro ITS <its @ linaro.org> and the LAVA lab <lava-lab @ linaro.org>

LSK @ kernelci.org

The LSK is also covered by the test system at http://kernelci.org, where the LSK, and the various flavors, are built and boot tested on ARM boards.

Maintenance Mode Version(s) of the LSK

When in maintenance mode, a LSK tree will no longer receive new feature backports, but the trees will continue to be maintained (i.e. LTS and general feature bug fixes). Contact Linaro member services @ [email protected] for questions, requests or to discuss support options that can be offered.

Features in LSK v3.10 & v3.14 [Maintenance Mode]

Unless otherwise noted all features are present in both v3.10, v3.14 and v3.18 versions of the LSK. The core LSK contains:

Feature

Upstream

ARMv8 support

see ARMv8 support

big.LITTLE GTS support (v3.10 LSK only)

No

big.LITTLE IKS (ARMv7 only)

Yes

Big endian support

Yes

Compressed audio DPCM integration

Yes

Enablement for Versatile Express TC2

No

GATOR

No

GICv3

Yes

Mailbox framework

In process

pinctrl group support

Yes

Power efficient workqueues

Yes

Warning fixes

Yes

Device Tree Overlay Support

Yes

OverlayFS

Yes

|| arm64 errata (selected) || Yes ||

The Android LSK adds:

  • AOSP Android patch set
  • Improvements to the interactive governor for use with big.LITTLE

New features must be approved by the TSC, please contact the LSK team to discuss any requirements.

LSK v3.14

Flavour

Kernel version

Branch

Core

v3.14

linux-linaro-lsk-v3.14

Android

v3.14

linux-linaro-lsk-v3.14-android

RT

v3.14

linux-linaro-lsk-v3.14-rt

LSK v3.10

Flavour

Kernel version

Branch

Core

v3.10

linux-linaro-lsk-v3.10

Android

v3.10

linux-linaro-lsk-v3.10-android

RT

v3.10

linux-linaro-lsk-v3.10-rt

LSK Image reports (LAVA test reports)

Much of the automated LSK testing is performed in LAVA and you can use the reports below to view current status. Some of these reports may contain member sensitive information so you may need to request access via Linaro ITS <its @ linaro.org> and the LAVA lab <lava-lab @ linaro.org>

LSK (last modified 2015-07-06 16:33:21)