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.
This commit is contained in:
parent
3650d4343a
commit
e2cd388c2b
2 changed files with 46 additions and 42 deletions
6
.github/workflows/release.yml
vendored
6
.github/workflows/release.yml
vendored
|
@ -16,12 +16,6 @@ jobs:
|
|||
- build_profile: 'generic'
|
||||
build_cc: gcc-10
|
||||
build_cflags: ''
|
||||
- build_profile: zen2
|
||||
build_cc: gcc-10
|
||||
build_cflags: '-march=znver2'
|
||||
- build_profile: cascadelake
|
||||
build_cc: gcc-10
|
||||
build_cflags: '-march=cascadelake'
|
||||
steps:
|
||||
- name: Clean Workspace
|
||||
run: rm -rf *.deb *.ddeb *.build *.buildinfo *.changes
|
||||
|
|
68
README.md
68
README.md
|
@ -2,35 +2,28 @@
|
|||
Custom Linux kernels for Promox VE 6.
|
||||
|
||||
#### Versions
|
||||
1. Linux 5.6 (EOL)
|
||||
2. Linux 5.7 (EOL)
|
||||
3. Linux 5.8 (EOL)
|
||||
4. Linux 5.9 (EOL)
|
||||
5. Linux 5.10
|
||||
6. Linux 5.11
|
||||
1. Linux 5.11 (Stable)
|
||||
2. Linux 5.10 (Long-term)
|
||||
|
||||
#### Flavors
|
||||
1. Proxmox
|
||||
2. [Navi Reset](https://github.com/fabianishere/pve-edge-kernel/issues/5)
|
||||
|
||||
#### Microarchitectures
|
||||
1. Generic
|
||||
2. Zen 2
|
||||
3. Cascade Lake
|
||||
|
||||
## Installation
|
||||
Select from the [Releases](https://github.com/fabianishere/pve-edge-kernel/releases) page the kernel version
|
||||
you want to install and download the appropriate deb package. Then, you can install the package as follows:
|
||||
Select from the [Releases](https://github.com/fabianishere/pve-edge-kernel/releases)
|
||||
page the kernel version you want to install and download the appropriate Debian package.
|
||||
Then, you can install the package as follows:
|
||||
|
||||
```sh
|
||||
apt install ./pve-kernel-VERSION-MARCH_VERSION_amd64.deb
|
||||
```
|
||||
|
||||
## AppArmor issues
|
||||
When using these kernels, Proxmox's AppArmor profiles may fail to load since it uses an older AppArmor feature set
|
||||
which is not supported by these kernels anymore. This issue also appears when launching LXC containers.
|
||||
To fix this, tell AppArmor to use the stock features file as opposed to Proxmox's features file, which is done
|
||||
by updating `/etc/apparmor/parser.conf` as follows:
|
||||
When using these kernels, Proxmox's AppArmor profiles may fail to load since it
|
||||
uses an older AppArmor feature set which is not supported by these kernels anymore.
|
||||
This issue also appears when launching LXC containers.
|
||||
To fix this, tell AppArmor to use the stock features file as opposed to
|
||||
Proxmox's features file, which is done by updating `/etc/apparmor/parser.conf` as follows:
|
||||
|
||||
```
|
||||
## Pin feature set (avoid regressions when policy is lagging behind
|
||||
|
@ -44,20 +37,25 @@ features-file=/usr/share/apparmor-features/features.stock
|
|||
You may also choose to manually build one of these kernels yourself.
|
||||
|
||||
#### Prerequisites
|
||||
Make sure you have at least 30GB of free space available and have the following
|
||||
Make sure you have at least 10GB of free space available and have the following
|
||||
packages installed:
|
||||
|
||||
```bash
|
||||
apt install devscripts asciidoc-base automake bc bison cpio dh-python flex git kmod libdw-dev libelf-dev libiberty-dev libnuma-dev libpve-common-perl libslang2-dev libssl-dev libtool lintian lz4 perl-modules python2-minimal rsync sed sphinx-common tar xmlto zlib1g-dev dwarves
|
||||
apt install devscripts debuild equivs
|
||||
```
|
||||
In case you are building a kernel version >= 5.8, make sure you have installed at least [dwarves >= 1.16.0](https://packages.debian.org/bullseye/dwarves).
|
||||
Unfortunately, this version is currently only available in the Debian Testing and Debian Unstable repositories. To work around this issue, we describe two options:
|
||||
In case you are building a kernel version >= 5.8, make sure you have installed
|
||||
at least [dwarves >= 1.16.0](https://packages.debian.org/bullseye/dwarves).
|
||||
Unfortunately, this version is currently only available in the Debian Testing
|
||||
and Debian Unstable repositories. To work around this issue, we describe two options:
|
||||
|
||||
1. You may add the Debian Testing repository to your APT sources as described [here](https://serverfault.com/a/382101) and install the newer `dwarves` package as follows:
|
||||
1. You may add the Debian Testing repository to your APT sources as described
|
||||
[here](https://serverfault.com/a/382101) and install the newer `dwarves` package as follows:
|
||||
```shell
|
||||
apt install -t testing dwarves
|
||||
```
|
||||
2. Alternatively, you may [download](https://packages.debian.org/bullseye/dwarves) the newer `dwarves` (>= 1.16) package from the Debian website and install the package manually, for example:
|
||||
2. Alternatively, you may [download](https://packages.debian.org/bullseye/dwarves)
|
||||
the newer `dwarves` (>= 1.16) package from the Debian website and install the
|
||||
package manually, for example:
|
||||
```shell
|
||||
wget http://ftp.us.debian.org/debian/pool/main/d/dwarves-dfsg/dwarves_1.17-1_amd64.deb
|
||||
apt install ./dwarves_1.17-1_amd64.deb
|
||||
|
@ -67,7 +65,7 @@ apt install ./dwarves_1.17-1_amd64.deb
|
|||
Obtain the source code as follows:
|
||||
```bash
|
||||
git clone https://github.com/fabianishere/pve-edge-kernel
|
||||
cd pve-ede-kernel
|
||||
cd pve-edge-kernel
|
||||
```
|
||||
Then, select the branch of your likings (e.g. `v5.10.x`) and update the submodules:
|
||||
```bash
|
||||
|
@ -77,9 +75,16 @@ git submodule update --init --recursive
|
|||
```
|
||||
|
||||
#### Building
|
||||
Invoking the following command will build the kernel and its associated packages:
|
||||
First, create the control file for your kernel:
|
||||
```bash
|
||||
debian/rules debian/control
|
||||
```
|
||||
Before we build, make sure you have installed the build dependencies:
|
||||
```bash
|
||||
sudo mk-build-deps --install debian/control
|
||||
```
|
||||
Invoking the following command will build the kernel and its associated packages:
|
||||
```bash
|
||||
debuild --jobs=auto -ePVE* -b -uc -us
|
||||
```
|
||||
The Makefile provides several environmental variables to control:
|
||||
|
@ -90,7 +95,7 @@ The Makefile provides several environmental variables to control:
|
|||
This name is part of the kernel version and package name, which means that you
|
||||
can have multiple flavors of the same kernel installed alongside each other.
|
||||
Note that the name itself does not control the selection of kernel functionality.
|
||||
2. `PVE_BUILD_TYPE` (default `generic`)
|
||||
2. `PVE_BUILD_PROFILE` (default `generic`)
|
||||
The name of the kernel build type which represents the compilation options of
|
||||
the kernel (e.g. optimization level or micro architecture).
|
||||
This name is appended as suffix to the Debian package version in case it is not
|
||||
|
@ -105,6 +110,11 @@ Kernel options may be controlled from [debian/config/config.pve](debian/config/c
|
|||
additional patches, you may add them to the [debian/patches/pve](debian/patches/pve) directory
|
||||
and update the [series](debian/patches/series.linux) file accordingly.
|
||||
|
||||
## Questions
|
||||
If you have any questions or want to see additional versions, flavors or micro architectures being built, feel
|
||||
free to open an issue on Github.
|
||||
## Contributing
|
||||
Questions, suggestions and contributions are welcome and appreciated!
|
||||
You can contribute in various meaningful ways:
|
||||
|
||||
* Report a bug through [Github issues](https://github.com/fabianishere/pve-edge-kernel/issues).
|
||||
* Propose new patches and flavors for the project.
|
||||
* Contribute improvements to the documentation.
|
||||
* Provide feedback about how we can improve the project.
|
Loading…
Reference in a new issue