1. Environment preparing
sudo apt-get install build-essential libncurses5-dev fakeroot wget bzip2
export CONCURRENCY_LEVEL=2
export CHOST="x86_64-pc-Linux-gnu"
export CFLAGS="-march=native -O2 -pipe"
export CXXFLAGS="$CFLAGS"
mkdir kernel
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.81.tar.xz
tar -vxf linux-5.15.81.tar.xz -C kernel
2. Kernel configuration
cd kernel/linux-5.15.81.tar.xz
cp /boot/config-`uname -r` ./.config
make oldconfig
make localmodconfig
make menuconfig
deselecting the Module Signature verification option within the Enable loadable kernel module menu option.
3. Kernel compiling and installation
make
make modules
sudo make modules_install
sudo make install
sudo update-grub(optional)
4. Errors Fixing
scripts/sign-file.c:25:10: fatal error: openssl/opensslv.h: No such file or directory
sudo apt-get install libssl-dev
<stdin>:1:10: fatal error: libelf.h: No such file or directory
elf.h:10:10: fatal error: gelf.h: No such file or directory
sudo apt install libelf-dev
No rule to make target 'debian/canonical-revoked-certs.pem', needed by 'certs/x509_revocation_list'. Stop.
scripts/config --disable SYSTEM_REVOCATION_KEYS
BTF: .tmp_vmlinux.btf: pahole (pahole) is not available
Failed to generate BTF for vmlinux
scripts/config --disable CONFIG_DEBUG_INFO_BTF