2024-10-07 08:48:35 -04:00
# Proxmox Thunderx kernels
Custom Linux kernels for Proxmox VE arm64 ThunderX (CN88xx) system based on Ubuntu linux
2020-07-06 23:00:35 +02:00
2021-11-28 14:31:24 +01:00
#### Available Versions
2024-10-07 08:48:35 -04:00
1. Linux 5.15 -> branch:v5.15
2. Linux 6.5 -> branch:v6.5
3. Linux 6.8 -> master
2020-07-06 23:00:35 +02:00
## Installation
2023-04-22 17:17:54 +08:00
add arm64 kernel repo.
```sh
2024-10-07 08:48:35 -04:00
curl https://ayakael.net/api/packages/forge/debian/repository.key -o /etc/apt/keyrings/forgejo-forge.asc
echo "deb [signed-by=/etc/apt/keyrings/forgejo-forge.asc] https://ayakael.net/api/packages/forge/debian bookworm main" | tee -a /etc/apt/sources.list.d/forgejo.list
2023-04-22 17:17:54 +08:00
apt update
apt search pve-kernel
2023-08-02 11:41:34 +08:00
apt install pve-kernel-xxxx
2020-07-06 23:00:35 +02:00
```
2020-08-10 16:32:29 +02:00
## Building manually
You may also choose to manually build one of these kernels yourself.
#### Prerequisites
2021-05-02 14:42:49 +02:00
Make sure you have at least 10 GB of free space available and have the following
2020-08-10 16:32:29 +02:00
packages installed:
```bash
2021-04-19 16:36:40 +02:00
apt install devscripts debhelper equivs git
2020-09-16 20:34:27 +02:00
```
2020-08-10 16:32:29 +02:00
#### Obtaining the source
2021-04-18 19:55:44 +02:00
Obtain the source code as follows:
2020-08-10 16:32:29 +02:00
```bash
2024-10-07 08:48:35 -04:00
git https://ayakael.net/forge/pve-kernel-thunderx
cd pve-kernel-thunderx
2021-04-18 19:55:44 +02:00
```
2024-10-07 08:48:35 -04:00
Then, select the branch of your likings (e.g. `v5.15` ) and update the submodules:
2021-04-18 19:55:44 +02:00
```bash
2023-08-02 11:41:34 +08:00
git checkout master
2021-03-15 20:34:24 +01:00
git submodule update --init --depth=1 --recursive linux
2020-09-16 20:07:02 +02:00
git submodule update --init --recursive
2020-08-10 16:32:29 +02:00
```
#### Building
2021-05-02 21:05:35 +02:00
First, generate the Debian control file for your kernel by running the following
in your command prompt:
2020-08-10 16:32:29 +02:00
```bash
2021-04-18 19:55:44 +02:00
debian/rules debian/control
2021-04-19 10:12:03 +02:00
```
Before we build, make sure you have installed the build dependencies:
```bash
2021-04-19 16:36:40 +02:00
sudo mk-build-deps -i
2021-04-19 10:12:03 +02:00
```
2023-02-09 17:18:44 +08:00
merge your confile,if your kernel config is `/boot/config-5.10.167-edge` ,do
```bash
cat /boot/config-5.10.167-edge >> debian/config/config.pve
```
2021-04-19 10:12:03 +02:00
Invoking the following command will build the kernel and its associated packages:
```bash
2021-04-19 16:36:40 +02:00
debuild -ePVE* --jobs=auto -b -uc -us
2020-08-10 16:32:29 +02:00
```
The Makefile provides several environmental variables to control:
2021-11-28 14:10:53 +01:00
1. `PVE_KERNEL_CC`
2020-08-10 16:32:29 +02:00
The compiler to use for the kernel build.
2021-11-28 14:10:53 +01:00
2. `PVE_KERNEL_CFLAGS`
2020-08-10 16:32:29 +02: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 19:55:44 +02:00
Kernel options may be controlled from [debian/config/config.pve ](debian/config/config.pve ). To build with
2021-03-28 21:51:08 +02: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 20:39:12 +02:00
2022-09-19 21:35:32 +02:00
## 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:
```bash
2024-10-07 08:48:35 -04:00
apt remove pve-kernel-6.8* pve-headers-6.8*
2022-09-19 21:35:32 +02:00
```
2021-04-19 10:12:03 +02:00
## Contributing
Questions, suggestions and contributions are welcome and appreciated!
You can contribute in various meaningful ways:
2024-10-07 08:48:35 -04:00
* Report a bug by email < dev @ayakael .net >
2021-04-19 10:12:03 +02:00
* Propose new patches and flavors for the project.
* Contribute improvements to the documentation.
2021-05-02 21:05:35 +02:00
* Provide feedback about how we can improve the project.