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" - LTS + features which can be runtime disabled
  • "Android" - Core + additional changes from AOSP

  • "RT" - Core + the RT patch set adding realtime features

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 Development phase is base based on kernel version v4.1/v4.4. 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 [Development phase], both features and bug fixes are integrated and during the second year [Maintenance phase] only bug fixes are integrated. After Maintenance phase, LSK will go to [Archived phase], which has no official support.

Bug reports should be filed against Linaro Stable Kernel project. Any queries should be directed to the Linaro support system in the first instance.

Development phase

Maintenance phase

Archived phase

LSK 4.4

Mar 16 - Feb 17

Mar 17 - Feb 18

Mar 18 -

LSK 4.1

Oct 15 - Sep 16

Oct 16 - Sep 17

Oct 17 -

LSK 3.18

Apr 15 - Mar 16

Apr 16 - Mar 17 *

Apr 17 -

LSK 3.14

Apr 14 - May 15

Jun 15 - Mar 16

Apr 16 -

LSK 3.10

Jul 13 - Jan 15

Feb 15 - Feb 16

Mar 16 -

* During the maintenance phase, we may continue to accept some limited features on a case by case basis.

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

Core

v4.1

linux-linaro-lsk-v4.1

Android

v4.1

linux-linaro-lsk-v4.1-android

RT

v4.1

linux-linaro-lsk-v4.1-rt

Core

v4.4

linux-linaro-lsk-v4.4

Android

v4.4

linux-linaro-lsk-v4.4-android

RT

v4.4

linux-linaro-lsk-v4.4-rt

Releases with release notes are made every month, tagged in the git repository with tags in the form "lsk-flavour-version-YY.MM[-branch]", for example the 15.05 release of the android flavour is tagged "lsk-v3.18-15.05-android".

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.

Features in LSK recent versions

Feature

LSK v3.18

LSK v4.1

LSK v4.4

ARM64 errata framework

yes

yes

yes

ARM64 errata workarounds

yes

yes

yes

DT files for Juno support

yes

yes

yes

KVM

yes

yes

yes

Coresight

15.06

yes

yes

Coresight-TMC/ETM

no

pending

16.06

IPA

15.06

15.06

yes

dm-crypt performance

15.07

yes

yes

OPP v2

16.04

16.04

16.04

PCIe for arm64/Juno R1

15.11

15.11

yes

PAN

15.12

yes

yes

OF-overlay

15.12

yes

yes

PSCI

15.12

16.01

yes

Cgroup-writeback

no

16.03

yes

CgroupV2-writeback

no

16.06

pending

RO-vDSO

no

16.04

16.02

KASan

16.04

16.04

yes

KALSR

no

no

16.05

IOMMU DMA

no

16.05

yes

Hibernate on arm64

no

16.06

pending

Devfreq cooling

no

16.06

yes

PAX Usercopy

no

no

16.09

PAN emulation

no

no

pending

EAS *1

16.02

-

-

OPTEE *2

16.04

no

16.04

*1 EAS (Energy Aware Scheduling) is maintained as a separate branch, v3.18/topic/EAS, out of the LSK mainline. EAS-LSK 4.4

*2 OPTEE(Open Portable Trusted Execution Environment) were maintained as separate branches, [v3.18|v4.4]/topic/optee, out of the LSK mainline.

Detailed information of each feature

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.

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: Mark Brown <broonie 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 normal 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. Exception rules for few extra features which are necessary and not merged in upstream yet:

  • stay out of the LSK mainline by a separate branch, but easy merged into LSK
  • sponsor Linaro group or member company need providing source code and response for quality

Normal feature will be backported on a clean LTS release, like v4.1.14 etc, then attached on LSK as a branch. If there are dependency chain among features, the later feature could base on prior branch instead of LSK mainline. LSK mainline are merged by all upstream backported features, and merge latest LTS weekly.

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.

Archived LSK Versions

Archived LSK Versions

LSK Testing

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.

Test Plan

LSK (last modified 2016-09-13 03:45:06)