Custom Linux kernels for Proxmox VE 6.
First, set up our Debian repository on your Proxmox installation:
curl -1sLf 'https://dl.cloudsmith.io/public/pve-edge/kernel/gpg.8EC01CCF309B98E7.key' | apt-key add -
echo "deb https://dl.cloudsmith.io/public/pve-edge/kernel/deb/debian buster main" > /etc/apt/sources.list.d/pve-edge-kernel.list
apt update apt install pve-kernel-5.12-edge
Package repository hosting is graciously provided by Cloudsmith. 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.
Alternatively, you may manually install the kernels. Select from the Releases page the kernel version you want to install and download the appropriate Debian package. Then, you can install the package as follows:
apt install ./pve-kernel-VERSION_amd64.deb
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
You may also choose to manually build one of these kernels yourself.
Make sure you have at least 10 GB of free space available and have the following packages installed:
apt install devscripts debhelper equivs git
In case you are building a kernel version >= 5.8, make sure you have installed at least dwarves >= 1.16.0. This version is currently is not available in the main repository. To work around this issue, we describe two options:
dwarvespackage as follows:
apt install -t buster-backports dwarves
dwarves(>= 1.16) package from the Debian website and install the package manually, for example:
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
Obtain the source code as follows:
git clone https://github.com/fabianishere/pve-edge-kernel cd pve-edge-kernel
Then, select the branch of your likings (e.g.
v5.10.x) and update the submodules:
git checkout v5.10.x git submodule update --init --depth=1 --recursive linux git submodule update --init --recursive
First, generate the Debian control file for your kernel by running the following in your command prompt:
Before we build, make sure you have installed the build dependencies:
sudo mk-build-deps -i
Invoking the following command will build the kernel and its associated packages:
debuild -ePVE* --jobs=auto -b -uc -us
The Makefile provides several environmental variables to control:
Questions, suggestions and contributions are welcome and appreciated! You can contribute in various meaningful ways: