Maintaining linux-raspberrypi 4.1.y

Making the most of a Raspberry Pi device requires using the official linux-raspberrypi kernel repository for this device. This repository adds extra patches to the mainline Linux kernel and is a pretty typical vendor-kernel for an embedded Linux platform. This repository contains several branches corresponding to the different Linux kernel versions but only one of them is really 'supported' at a time. Once the supported branch changes, the older branch doesn't seem to get any further commits and backports aren't performed. Even if the upstream linux-stable branch for that version is still being updated, the linux-raspberrypi branch essentially becomes frozen. The upstream repository has recently moved from the 4.1.y series to the 4.4.y series, leaving the 4.1.y branch frozen. Oryx Linux will be using the 4.1.y series and so will be un-freezing this branch with our own maintenance releases.

The linux-raspberrypi approach makes sense from a point of view of an 'official' kernel repository with a finite number of engineers to throw at the problem but it does leave people behind who want to use a Long-Term Stable (LTS) kernel release for an extended period of time.

With Oryx Linux the plan is to standardise on a single kernel major version across all supported platforms for each release, as far as possible. For the initial development the targeted kernel version will be 4.1.y. The 4.1.y branch of linux-raspberrpi is now frozen upstream as described above - development has moved on to the 4.4.y branch. However we don't really want to use a frozen version of the Linux kernel within Oryx as that results in known CVEs going unpatched and known bugs being left open.

To solve this it's been decided that Oryx Linux will maintain a 4.1.y branch of the linux-raspberrypi kernel tree, with a few minor modifications to help automate the process and integrate patches which never made it upstream. This repository is called linux-oryx-rpi and sets EXTRAVERSION to "-oryx-rpi" so that it can be identified in uname output. Release versions will follow the pattern "4.1.y-oryx-rpi", starting with 4.1.22-oryx-rpi.

Each release of linux-oryx-rpi will be made by merging in the latest release of the linux-stable 4.1.y series and it's expected that there will be one linux-oryx-rpi release for each linux-stable release in the 4.1.y series from 4.1.22 onwards. Most changes to linux-oryx-rpi will come from this merge as there are no plans to manually backport anything from the linux-raspberrypi 4.4.y tree unless necessary. If bugs are found which aren't fixed in the linux-stable tree (eg. because they're specific to the linux-raspberrypi tree) then such backports will be considered. However there isn't much manpower and testing resources behind this project at the minute so it will be down to any users of this branch to keep an eye out for bugs and report them!

The linux-stable 4.1.y series has a projected EOL of September 2017 and so the linux-oryx-rpi 4.1.y series will initially aim to work to a similar EOL date. This may change depending on full Oryx Linux releases, other commitments, etc so if this branch is important to you please let us know and give us a hand maintaining it.

The linux-oryx-rpi repository will initially track this development in the 'master' branch. That might get changed to a 4.1.y branch in the future if we go on to maintain other versions. Releases will be made in the form of tags on the git repository as well as tar archives uploaded to the release directory on the Oryx Linux website.

Hopefully this maintenance branch will be useful to other people :)