2020-04-28 13:14:26 +00:00
|
|
|
# Proxmox Edge kernels
|
2021-10-20 07:41:44 +00:00
|
|
|
Custom Linux kernels for Proxmox VE.
|
2020-07-06 21:00:35 +00:00
|
|
|
|
2021-11-28 13:31:24 +00:00
|
|
|
#### Available Versions
|
|
|
|
1. Linux 5.15
|
|
|
|
2. Linux 5.14 **[EOL]**
|
2020-07-06 21:00:35 +00:00
|
|
|
|
2021-11-28 13:31:24 +00:00
|
|
|
Older builds are still available at the [Releases](https://github.com/fabianishere/pve-edge-kernel/releases) page.
|
2020-07-06 21:00:35 +00:00
|
|
|
|
|
|
|
## Installation
|
2021-06-13 11:51:14 +00:00
|
|
|
[![Hosted By: Cloudsmith](https://img.shields.io/badge/OSS%20hosting%20by-cloudsmith-blue?logo=cloudsmith&style=flat-square)](https://cloudsmith.com)
|
|
|
|
|
|
|
|
First, set up our Debian repository on your Proxmox installation:
|
2021-10-20 07:41:44 +00:00
|
|
|
1. **Add the repository's GPG key:**
|
|
|
|
```bash
|
|
|
|
curl -1sLf 'https://dl.cloudsmith.io/public/pve-edge/kernel/gpg.8EC01CCF309B98E7.key' | apt-key add -
|
|
|
|
```
|
|
|
|
2. **Set up the `pve-edge-kernel` repository:**
|
|
|
|
If you are still on _Proxmox VE 6_, pick the Buster-based repository:
|
|
|
|
```bash
|
|
|
|
echo "deb https://dl.cloudsmith.io/public/pve-edge/kernel/deb/debian buster main" > /etc/apt/sources.list.d/pve-edge-kernel.list
|
|
|
|
```
|
|
|
|
If you are already on _Proxmox VE 7_, pick the Bullseye-based repository:
|
|
|
|
```bash
|
|
|
|
echo "deb https://dl.cloudsmith.io/public/pve-edge/kernel/deb/debian bullseye main" > /etc/apt/sources.list.d/pve-edge-kernel.list
|
|
|
|
```
|
|
|
|
3. **Install a kernel package:**
|
|
|
|
```bash
|
|
|
|
apt update
|
|
|
|
apt install pve-kernel-5.12-edge
|
|
|
|
```
|
2021-06-13 11:51:14 +00:00
|
|
|
|
|
|
|
Package repository hosting is graciously provided by [Cloudsmith](https://cloudsmith.com).
|
|
|
|
Cloudsmith is the only fully hosted, cloud-native, universal package management solution, that
|
|
|
|
enables your organization to create, store and share packages in any format, to any place, with total
|
|
|
|
confidence.
|
|
|
|
|
|
|
|
### Manual
|
|
|
|
Alternatively, you may manually install the kernels. Select from the [Releases](https://github.com/fabianishere/pve-edge-kernel/releases)
|
2021-06-14 11:32:54 +00:00
|
|
|
page the kernel version you want to install and download the appropriate Debian package.
|
2021-04-19 08:12:03 +00:00
|
|
|
Then, you can install the package as follows:
|
2020-07-06 21:00:35 +00:00
|
|
|
|
|
|
|
```sh
|
2021-05-02 12:42:49 +00:00
|
|
|
apt install ./pve-kernel-VERSION_amd64.deb
|
2020-07-06 21:00:35 +00:00
|
|
|
```
|
|
|
|
|
2022-01-05 20:44:08 +00:00
|
|
|
## AppArmor intervention
|
|
|
|
Previously, these kernels required changing the AppArmor feature file to a non-default version.
|
|
|
|
This issue has been fixed since version 5.16.
|
|
|
|
If you have used the workaround, please update back to the default configuration in `/etc/apparmor/parser.conf` as follows:
|
2020-07-06 21:00:35 +00:00
|
|
|
```
|
|
|
|
## Pin feature set (avoid regressions when policy is lagging behind
|
|
|
|
## the kernel)
|
2022-01-05 20:44:08 +00:00
|
|
|
features-file=/usr/share/apparmor-features/features
|
2020-07-06 21:00:35 +00:00
|
|
|
```
|
|
|
|
|
2020-08-10 14:32:29 +00:00
|
|
|
## Building manually
|
|
|
|
You may also choose to manually build one of these kernels yourself.
|
|
|
|
|
|
|
|
#### Prerequisites
|
2021-05-02 12:42:49 +00:00
|
|
|
Make sure you have at least 10 GB of free space available and have the following
|
2020-08-10 14:32:29 +00:00
|
|
|
packages installed:
|
|
|
|
|
|
|
|
```bash
|
2021-04-19 14:36:40 +00:00
|
|
|
apt install devscripts debhelper equivs git
|
2020-09-16 18:34:27 +00:00
|
|
|
```
|
2021-04-19 08:12:03 +00:00
|
|
|
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).
|
2021-04-19 14:36:40 +00:00
|
|
|
This version is currently is not available in the main repository.
|
|
|
|
To work around this issue, we describe two options:
|
2021-04-19 08:12:03 +00:00
|
|
|
|
2021-04-19 14:36:40 +00:00
|
|
|
1. You may add the Debian Buster Backports repository to your APT sources as described
|
|
|
|
[here](https://backports.debian.org/Instructions/) and install the
|
|
|
|
newer `dwarves` package as follows:
|
2021-04-19 08:12:03 +00:00
|
|
|
```shell
|
2021-04-19 14:36:40 +00:00
|
|
|
apt install -t buster-backports dwarves
|
2021-04-19 08:12:03 +00:00
|
|
|
```
|
|
|
|
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
|
|
|
|
```
|
2020-08-10 14:32:29 +00:00
|
|
|
|
|
|
|
#### Obtaining the source
|
2021-04-18 17:55:44 +00:00
|
|
|
Obtain the source code as follows:
|
2020-08-10 14:32:29 +00:00
|
|
|
```bash
|
|
|
|
git clone https://github.com/fabianishere/pve-edge-kernel
|
2021-04-19 08:12:03 +00:00
|
|
|
cd pve-edge-kernel
|
2021-04-18 17:55:44 +00:00
|
|
|
```
|
|
|
|
Then, select the branch of your likings (e.g. `v5.10.x`) and update the submodules:
|
|
|
|
```bash
|
|
|
|
git checkout v5.10.x
|
2021-03-15 19:34:24 +00:00
|
|
|
git submodule update --init --depth=1 --recursive linux
|
2020-09-16 18:07:02 +00:00
|
|
|
git submodule update --init --recursive
|
2020-08-10 14:32:29 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
#### Building
|
2021-05-02 19:05:35 +00:00
|
|
|
First, generate the Debian control file for your kernel by running the following
|
|
|
|
in your command prompt:
|
2020-08-10 14:32:29 +00:00
|
|
|
```bash
|
2021-04-18 17:55:44 +00:00
|
|
|
debian/rules debian/control
|
2021-04-19 08:12:03 +00:00
|
|
|
```
|
|
|
|
Before we build, make sure you have installed the build dependencies:
|
|
|
|
```bash
|
2021-04-19 14:36:40 +00:00
|
|
|
sudo mk-build-deps -i
|
2021-04-19 08:12:03 +00:00
|
|
|
```
|
|
|
|
Invoking the following command will build the kernel and its associated packages:
|
|
|
|
```bash
|
2021-04-19 14:36:40 +00:00
|
|
|
debuild -ePVE* --jobs=auto -b -uc -us
|
2020-08-10 14:32:29 +00:00
|
|
|
```
|
|
|
|
The Makefile provides several environmental variables to control:
|
|
|
|
|
2021-11-28 13:10:53 +00:00
|
|
|
1. `PVE_KERNEL_CC`
|
2020-08-10 14:32:29 +00:00
|
|
|
The compiler to use for the kernel build.
|
2021-11-28 13:10:53 +00:00
|
|
|
2. `PVE_KERNEL_CFLAGS`
|
2020-08-10 14:32:29 +00:00
|
|
|
The compilation options to use for the kernel build. Use this variable to specify
|
|
|
|
the optimization level or micro architecture to build for.
|
|
|
|
|
2021-04-18 17:55:44 +00:00
|
|
|
Kernel options may be controlled from [debian/config/config.pve](debian/config/config.pve). To build with
|
2021-03-28 19:51:08 +00:00
|
|
|
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.
|
2020-09-16 18:39:12 +00:00
|
|
|
|
2021-04-19 08:12:03 +00:00
|
|
|
## 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.
|
2021-05-02 19:05:35 +00:00
|
|
|
* Provide feedback about how we can improve the project.
|