PVE linux kernel for ThunderX CPU
Find a file
Fabian Mastenbroek 908898491e
Fix instructions for cloning repository
This change fixes the instructions for cloning the repository which
apparently did not work (#11).
2020-09-16 20:07:12 +02:00
.github/workflows Update Github Actions workflows 2020-08-09 13:45:53 +02:00
debian Add Linux 5.8 2020-08-09 22:31:15 +02:00
patches Add Linux 5.8 2020-08-09 22:31:15 +02:00
submodules Add Linux 5.8 2020-08-09 22:31:15 +02:00
.gitignore add *.prepared to .gitignore 2019-02-06 11:43:29 +01:00
.gitmodules Track Ubuntu Mainline repository 2020-07-12 17:01:04 +02:00
abi-blacklist buildsys: simplify abi-check 2017-03-24 14:14:10 +01:00
abi-prev-5.4.44-2-pve update ABI file for 5.4.44-2-pve 2020-07-02 07:16:12 +02:00
fwlist-previous fwlist: update to reflect dropped FW references 2020-06-12 09:47:04 +02:00
Makefile Add Linux 5.8 2020-08-09 22:31:15 +02:00
README.md Fix instructions for cloning repository 2020-09-16 20:07:12 +02:00

Proxmox Edge kernels

Custom Linux kernels for Promox VE 6.

Versions

  1. Linux 5.6
  2. Linux 5.7
  3. Linux 5.8

Flavors

  1. Proxmox
  2. Navi Reset

Microarchitectures

  1. Generic
  2. Zen 2
  3. Cascade Lake

Installation

Select from the Releases page the kernel version you want to install and download the appropriate deb package. Then, you can install the package as follows:

apt install ./pve-edge-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:

## Pin feature set (avoid regressions when policy is lagging behind
## the kernel)
# lxc-pve diverts to old feature file that is incompatible with kernel
# features-file=/usr/share/apparmor-features/features
features-file=/usr/share/apparmor-features/features.stock

Building manually

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 packages installed:

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

In case you are building a kernel version >= 5.8, make sure you have installed at least dwarves >= 1.16.0.

Obtaining the source

git clone https://github.com/fabianishere/pve-edge-kernel
cd pve-ede-kernel
git submodule update --init --depth=1 --recursive submodules/ubuntu-mainline
git submodule update --init --recursive

Afterwards, select the branch of your likings (e.g. v5.8.x).

Building

Invoking the following command will build the kernel and its associated packages:

make

The Makefile provides several environmental variables to control:

  1. PVE_BUILD_FLAVOR
    The name of the kernel flavor which represents a selection of kernel functionality (e.g. hardened or zen). 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.
  2. PVE_BUILD_TYPE (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 the default value.
  3. PVE_BUILD_CC
    The compiler to use for the kernel build.
  4. PVE_BUILD_CFLAGS
    The compilation options to use for the kernel build. Use this variable to specify the optimization level or micro architecture to build for.

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.