Commit graph

850 commits

Author SHA1 Message Date
Andrii Moiseiev
35badf1804
Disable UBSAN (#163)
The upstream Ubuntu kernel enables UBSAN on 5.14+ and 5.13.14+ builds, leading
to boot issues on servers depending on the hardware or module configuration.

With hundreds of different kernel modules and thousands different
configuration, this change in its current stage is high risk and questionable
in general.

These issues are impossible to predict and hard to troubleshoot.
Therefore, I believe it is worth disabling for now.

Resolves #164 and #200
2021-11-10 10:15:10 +01:00
Fabian Mastenbroek
9614ffe091
Add Linux 5.15
This change adds a release for Linux 5.15 for the Proxmox Edge kernels.
In addition, this change also includes ZFS 2.1.1 which follows the
upstream Proxmox repository.
2021-11-02 10:07:37 +01:00
Fabian Mastenbroek
2fd3f183c1
Document support for Proxmox VE 7 2021-10-20 09:41:44 +02:00
Fabian Mastenbroek
4c6ae4f5fc
Stop building Linux 5.10
This change stops the Linux 5.10 release branch for this repository.
Proxmox has currently moved on to Linux 5.11, so this Linux 5.10 cannot really
be considered "edge" anymore.

In case you need a long-term support kernel, I recommend moving back to
the stock Proxmox kernel.
2021-09-24 12:14:55 +02:00
Fabian Mastenbroek
0d77a5efea
Mark Linux 5.13 as EOL 2021-09-24 12:12:43 +02:00
Fabian Mastenbroek
04df02380d
Update to ZFS 2.1.1
This change updates the ZFS version to 2.1.1 which supports kernels 3.10
to 5.14.
2021-09-24 11:42:22 +02:00
Fabian Mastenbroek
3986964ccb
Allow CI builds for external contributors
This change enables external contributors to run CI builds after
approval from the repository maintainer.
2021-09-05 11:58:57 +02:00
Fabian Mastenbroek
087e08adb8
Re-enable CI builds for release branches
This reverts commit 01cbdebf0a.
Although almost all release builds succeed, there have been cases where
new stable releases actually cause the build to fail or other cases
where we need to test changes on the release branch.
2021-09-05 11:56:17 +02:00
Fabian Mastenbroek
efb8844e8c
Remove kernel release from kernel version
This change removes the kernel release from the full kernel version.
This is used by Proxmox to identify differences in the kernel ABI.
However, since this project does not track these changes, we remove the
kernel release number altogether.
2021-09-05 11:56:17 +02:00
Fabian Mastenbroek
1a5b2830d0
Add release for Linux 5.14
This change adds the initial release of Linux 5.14 for the Proxmox Edge
kernels.
2021-08-30 11:01:30 +02:00
Fabian Mastenbroek
7bdb828f2f
Add release for Linux 5.14
This change adds the initial release of Linux 5.13 for the Proxmox Edge
kernels.
2021-08-30 10:50:59 +02:00
Fabian Mastenbroek
7e6346ae26
Update to ZFS 2.1.0 2021-08-30 10:50:57 +02:00
Fabian Mastenbroek
502732f054
Remove Linux 5.12 from watchlist 2021-08-08 11:09:16 +02:00
Fabian Mastenbroek
7963748fd0
Mark Linux 5.12 as end-of-life 2021-07-29 16:59:49 +02:00
Fabian Mastenbroek
2bb89ae564
Build perf tools using Python 3
This change updates the Debian build rules to build the Linux perf tools
using Python 3 as opposed to Python 2.7 that is currently specified in
the rules. Python 2.7 was already dropped from the build requirements,
but this line was not updated in the process.
2021-07-27 17:00:52 +02:00
Fabian Mastenbroek
ce7514fc1e
Disable Lintian for release builds
This change disables the Lintian for release builds, since the linting
process takes a lot of time and is already done when the branch is
created.
2021-06-29 15:13:55 +02:00
Fabian Mastenbroek
e7d77dd2a5
Add builds for Proxmox VE 7 BETA
This change adds kernel builds for the Proxmox VE 6 BETA version that is
available now. These kernels are built using Debian Bullseye instead of
Buster.
2021-06-29 14:57:29 +02:00
Fabian Mastenbroek
09b09f0836
Add Linux 5.13 (#125)
This pull request adds the necessary changes for the new Linux release
version 5.13.
2021-06-28 17:57:16 +02:00
Fabian Mastenbroek
77d3d7fcc2
Add release for Linux 5.13
This change adds the initial release of Linux 5.13 for the Promox Edge
kernels.
2021-06-28 17:03:20 +02:00
Fabian Mastenbroek
a68b498de2
Update to ZFS 2.1.0-rc7 2021-06-28 17:03:17 +02:00
Fabian Mastenbroek
5845ba257b
Update to Linux 5.13 2021-06-28 16:40:19 +02:00
Fabian Mastenbroek
01cbdebf0a
Run CI build only for master branch
This change updates the CI build workflow to only trigger on pull
requests to the master branch. The release branches almost never cause
build errors, so we can skip that check.
2021-06-14 13:35:17 +02:00
Fabian Mastenbroek
a6651c553d
Fix Proxmox Debian release
This change updates the repository url to reference Debian Buster as
opposed to Debian Bullseye, since the former is the release that Proxmox
is currently tracking.
2021-06-14 13:32:54 +02:00
Fabian Mastenbroek
50e088367d
Release kernels via Cloudsmith (#116)
This pull request updates the repository to release new kernel releases to a Cloudsmith Debian repository.
With this, users can just add a repository and install the packages from there. This is graciously made possible by the Open Source tier from Cloudsmith. 

Resolves #12
2021-06-13 15:46:43 +02:00
Fabian Mastenbroek
a9ac4fd6fb
Add usage instructions for Cloudsmith Debian repository
This change adds instructions for how to use thhe Cloudsmith Debian
repository to install the Proxmox Edge kernels.
2021-06-13 15:39:00 +02:00
Fabian Mastenbroek
e33e999d2c
Add workflow step to publish to CloudSmith
This change adds a workflow step to release the Debian packages to
CloudSmith, which will host Debian packages for Open Source projects for
free.
2021-06-13 15:33:21 +02:00
Fabian Mastenbroek
6ca487bca9
Add metapackage to track Linux kernel series
This change adds a metapackage that allows users to track the latest
Linux kernel version for a Linux stable branch.
2021-06-13 15:26:45 +02:00
Fabian Mastenbroek
870a62f633
Add Linux 5.12
This change updates the kernel to Linux 5.12 with support from the new
OpenZFS v2.1.0-rc5.
2021-05-24 14:24:46 +02:00
Fabian Mastenbroek
ce12197c57
Update to OpenZFS 2.1.0-rc5
This change updates OpenZFS 2.1.0-rc5 in order to add support for Linux
5.12.
2021-05-24 14:08:58 +02:00
Fabian Mastenbroek
485fa0c636
Mark v5.11 as end-of-life
This change marks the Linux v5.11 branch as end-of-life since it does
not receive any updates anymore.
2021-05-24 14:05:13 +02:00
Fabian Mastenbroek
e1a0974313
Include documentation scripts in header package
This change adds the documentation scripts located in Documentation of
the Linux source root to the header package, as they are necessary for
some modules to build.
2021-05-03 10:25:29 +02:00
Fabian Mastenbroek
7ef4e4c09a
Clarify build step on generating control file 2021-05-02 21:05:35 +02:00
Fabian Mastenbroek
888e5a6f4d
Include necessary Makefiles in header package
This change adds the necessary Makefiles in the header package.
2021-05-02 15:38:48 +02:00
Fabian Mastenbroek
8b6ff9e36a
Trigger release on pull request completion
This change updates the release workflow to properly trigger when a pull
request on the appropriate branch is merged.
2021-05-02 15:27:07 +02:00
Fabian Mastenbroek
43407aed66
Update README
This change makes some small fixes to the README.
2021-05-02 14:42:49 +02:00
Fabian Mastenbroek
badadcba8c
Do not prepend 'v' before target Git tag
This change updates an issue with the update script that not the actual
tag was fetched, but that the character 'v' was prepended before the
target Git tag.
2021-05-02 14:38:44 +02:00
Fabian Mastenbroek
fcea73266d
Include libc-dev only once in release 2021-04-22 17:29:05 +02:00
Fabian Mastenbroek
55fcab9f40
Fix update script for new build process
This change updates the update script to support the new build process.
2021-04-22 14:23:57 +02:00
Fabian Mastenbroek
33e4754e26
Load submodules during watch workflow 2021-04-20 21:03:51 +02:00
Fabian Mastenbroek
6700ce5364
Automatically tag and build releases on merge commit
This change updates the release workflow of the repository that can
automatically tag the releases after merging a pull request and build
the artifacts.
2021-04-19 23:14:34 +02:00
Fabian Mastenbroek
c63bdfa130
Build with default GCC
This change updates the build pipeline to build the kernel with the
default GCC version on Debian Buster. This is more safe for people
running custom kernel modules.
2021-04-19 20:01:06 +02:00
Fabian Mastenbroek
afe2ba30ae
Reduce the number of build dependencies 2021-04-19 19:44:25 +02:00
Fabian Mastenbroek
53e1806ff3
Support cloning submodules without SSH key
This change updates the submodule URL of the ZFS repository to allow
users without a configured SSH key to also clone the repository.
2021-04-19 15:44:35 +02:00
Fabian Mastenbroek
ca42b43d54
Migrate to Github PAT for triggering workflows 2021-04-19 15:17:55 +02:00
Fabian Mastenbroek
72a250dedc
Improve build process
This pull request attempts to improve the build process of the project.
These changes include:

1. Obtain kernel sources from kernel.org as opposed to the Ubuntu Mainline
   repository. The repository from kernel.org is much faster.
2. Build directly in-tree to reduce the amount of copies made
   (and in turn reduce the amount of IO)
3. Disable debug info from the kernel (since it is stripped afterwards and we
   do not provide debug symbols).
4. Build ZFS directly from upstream so that we are not tied to Proxmox's
   release scheme.
5. Derive version from kernel sources and changelog directly
6. Remove custom build profiles to reduce maintaining effort.
2021-04-19 14:47:18 +02:00
Fabian Mastenbroek
e2cd388c2b
Do not build custom build profiles anymore
This change removes the custom build profiles from the CI pipeline.
Previously, this repository offered kernels that were specifically
compiled for a certain microarchitecture.

However, since the effect of such optimizations for the kernel is rather
neglible and due to the increased cost of maintaining several build profiles,
I have decided to stop offering these as pre-builts.
2021-04-19 14:47:02 +02:00
Fabian Mastenbroek
3650d4343a
Support in-tree builds
This change updates the build code to support in-tree builds. This is
easier to manage for CI builds and reduces the amount of IO operations
necessary for the build process.
2021-04-19 14:47:00 +02:00
Fabian Mastenbroek
7d07970695
Move common definitions in separate file 2021-04-19 12:34:45 +02:00
Fabian Mastenbroek
65aa877bb0
Simplify header packaging process
This change simplifies the process for packaging the Linux headers.
Instead of copying the Linux tree and building the headers separately,
this change just installs the headers during the install process only.
2021-04-18 18:09:40 +02:00
Fabian Mastenbroek
d8dafbe5c4
Build ZFS directly from upstream
This change updates the build process to directly build the kernel from
upstream sources, as opposed to requiring the Proxmox zfsonlinux
repository to build the patched sources.
2021-04-18 13:34:08 +02:00