blob: bdf383db74cb22ab8336595730de0e36c4ed06a6 [file] [log] [blame]
op-build Linux Kernel
=====================
The skiroot/Petitboot kernel is currently based on the 5.3 series.
Submitting a patch
------------------
If you require a patch added to the firmware, follow these steps:
1. Submit your patch upstream. It doesnt need to be upstream, but it
should be on its way
2. Send a pull request or a ``git format-patch`` formatted patch series
to openpower-firmware@lists.ozlabs.org, and cc joel@jms.id.au. Be
sure to use ``--suppress-cc=sob`` when generating the patches so we
dont spam the community. The current tree is based on 5.1-stable
(although we will always move to the latest stable kernel ASAP).
Bug fixes
---------
Whenever a stable release is tagged in
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/,
we will rebase our patches on top of that and create a new release.
If you are submitting patches upstream that you want to be included,
then ensure you cc stable as per the
`rules <https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/stable_kernel_rules.txt>`__.
Versioning
----------
Versions are the upstream version number, followed by ``-openpowerN``,
where N is the revision that counts up from 1 for the given upstream
version number. These versions will be present as tags in the git
repository hosted at https://github.com/open-power/linux.
We aim to follow "the latest upstream release".
For op-build stable trees, we follow the latest stable release of the
kernel that particular op-build release was made with. Since op-build
stable releases may outlast how long an upstream kernel is maintain for,
we will move up the kernel version we use until the next LTS kernel.
Once on an LTS kernel, an op-build stable release will stick with that
version.
Tree and patches
----------------
The kernel tree hosted at https://github.com/open-power/linux contains
the current release plus a set of patches that we carry. Ideally there
would be no patches carried, as everything should be upstream.
We take the commits in this tree between the upstream tag and the
openpower tag and generate a series of patches that are imported into
the op-build Buildroot overlay, and placed in
`op-build/openpower/linux <https://github.com/open-power/op-build/tree/master/openpower/linux>`_.
op-build then fetches the upstream tarball and applies these patches.
This way we dont have to clone an entire tree when doing an op-build
build.
All patches are to head upstream *first*. There is a zero chance that
op-build will carry kernel patches for any time greater than "until the
next kernel release", and even then, only in *exceptional* circumstances.
Patches in the tree
-------------------
- xhci: Reset controller on xhci shutdown