Compiler son noyau

Com­pi­ler son noyau (“ker­nel”) per­met d’ac­ti­ver ou de désac­ti­ver des options dedans. On com­mence par ins­tal­ler les paquets néces­saires :

# 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 pos­sède les dépôts sources d’ac­ti­vés, nous pou­vons éga­le­ment faire :

# apt build-dep linux

Nous pas­sons main­te­nant en tant qu’u­ti­li­sa­teur, nous allons créer un réper­toire pour la com­pi­la­tion

$ mkdir ~/compilation 

$ cd ~/compilation

On télé­charge main­te­nant 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 pou­vons main­te­nant confi­gu­rer notre ker­nel avec les options déjà exis­tantes du ker­nel qui tourne, ce qui per­met­tra d’a­voir au moins notre sys­tème qui fonc­tionne tou­jours, puis d’ac­cep­ter les nou­velles grâce à des valeurs par défaults :

$ make olddefconfig

On pro­cède à la géné­ra­tion des clefs :

$ ./scripts/config -d CONFIG_MODULE_SIG_ALL -d CONFIG_MODULE_SIG_KEY -d CONFIG_SYSTEM_TRUSTED_KEYS

On peut enle­ver la par­tie debug, elle nous fera gagner beau­coup de temps et ne sert en géné­ral qu’aux déve­lop­peurs :

$ ./scripts/config -d CONFIG_DEBUG_INFO

Une fois les chan­ge­ments effec­tués, nous pou­vons le com­pi­ler :

$ make deb-pkg -j"$(nproc)" LOCALVERSION=-"$(dpkg --print-architecture)" KDEB_PKGVERSION="$(make kernelversion)-1"