PVE linux kernel for ThunderX CPU
Find a file
Fabian Mastenbroek a3db7c8863
Use olddefconfig for configuring kernel
This change updates the build script to use olddefconfig to use the old
.config file in the directory and use default values for unspecified
configuration options.

Fixes #335
2022-11-03 22:46:50 +01:00
.github Update GitHub Actions workflows 2022-10-27 10:50:18 +02:00
debian Use olddefconfig for configuring kernel 2022-11-03 22:46:50 +01:00
linux@4fe89d07dc Add Linux 6.0 2022-10-27 10:50:18 +02:00
scripts Do not prepend 'v' before target Git tag 2021-05-02 14:38:44 +02:00
zfs@6a6bd49398 Update to ZFS 2.1.6 2022-10-27 10:50:18 +02:00
.gitignore Ignore build artifacts 2020-09-17 17:11:23 +02:00
.gitmodules Switch to https submodule 2022-03-21 12:13:09 +01:00
crack.bundle Add Linux 6.0 2022-10-27 10:50:18 +02:00
README.md Drop support for Proxmox VE 6 2022-10-27 10:50:18 +02:00

Proxmox Edge kernels

Custom Linux kernels for Proxmox VE 7.

Available Versions

  1. Linux 6.0
  2. Linux 5.19 [EOL]

Older builds are still available at the Releases page.

Installation

Hosted By: Cloudsmith

First, set up our Debian repository on your Proxmox installation:

  1. Add the repository's GPG key:
    curl -1sLf 'https://dl.cloudsmith.io/public/pve-edge/kernel/gpg.8EC01CCF309B98E7.key' | gpg --dearmor -o /usr/share/keyrings/pve-edge-kernel.gpg
    
  2. Set up the pve-edge-kernel repository:
    echo "deb [signed-by=/usr/share/keyrings/pve-edge-kernel.gpg] 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:
    apt update
    apt install pve-kernel-6.0-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.

Manual

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

Building manually

You may also choose to manually build one of these kernels yourself.

Prerequisites

Make sure you have at least 10 GB of free space available and have the following packages installed:

apt install devscripts debhelper equivs git

Obtaining the source

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. v6.0.x) and update the submodules:

git checkout v6.0.x
git submodule update --init --depth=1 --recursive linux
git submodule update --init --recursive

Building

First, generate the Debian control file for your kernel by running the following in your command prompt:

debian/rules debian/control

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:

  1. PVE_KERNEL_CC
    The compiler to use for the kernel build.
  2. PVE_KERNEL_CFLAGS
    The compilation options to use for the kernel build. Use this variable to specify the optimization level or micro architecture to build for.

Kernel options may be controlled from debian/config/config.pve. To build with additional patches, you may add them to the debian/patches/pve directory and update the series file accordingly.

Removal

Use apt to remove individual kernel packages from your system. If you want to remove all packages from a particular kernel release, use the following command:

apt remove pve-kernel-6.0*edge pve-headers-6.0*edge

Contributing

Questions, suggestions and contributions are welcome and appreciated! You can contribute in various meaningful ways:

  • Report a bug through Github issues.
  • Propose new patches and flavors for the project.
  • Contribute improvements to the documentation.
  • Provide feedback about how we can improve the project.