Compiler son noyau (“kernel”) permet d’activer ou de désactiver des options dedans. On commence par installer les paquets nécessaires :
# apt install linux-source build-essential debconf-utils dpkg-dev debhelper ncurses-dev fakeroot libncurses-dev libglade2-dev flex bison qt5-qmake qt5-qmake-bin libelf-dev rsync libssl-dev qt5* lzop perl bc gnupg dirmngr lsb-release dwarves
Si l’on possède les dépôts sources d’activés, nous pouvons également faire :
# apt build-dep linux
Nous passons maintenant en tant qu’utilisateur, nous allons créer un répertoire pour la compilation
$ mkdir ~/compilation
$ cd ~/compilation
On télécharge maintenant les sources pour ensuite les extraire :
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.14.9.tar.xz
$ tar -xJf linux-5.14.9.tar.xz
$ cd linux-5.14.9/
Nous pouvons maintenant configurer notre kernel avec les options déjà existantes du kernel qui tourne, ce qui permettra d’avoir au moins notre système qui fonctionne toujours, puis d’accepter les nouvelles grâce à des valeurs par défaults :
$ make olddefconfig
On procède à la génération des clefs :
$ ./scripts/config -d CONFIG_MODULE_SIG_ALL -d CONFIG_MODULE_SIG_KEY -d CONFIG_SYSTEM_TRUSTED_KEYS
On peut enlever la partie debug, elle nous fera gagner beaucoup de temps et ne sert en général qu’aux développeurs :
$ ./scripts/config -d CONFIG_DEBUG_INFO
Une fois les changements effectués, nous pouvons le compiler :
$ make deb-pkg -j"$(nproc)" LOCALVERSION=-"$(dpkg --print-architecture)" KDEB_PKGVERSION="$(make kernelversion)-1"