Compiler un noyau : comment le faire sur une distribution de base Debian ?

Compiler un noyau : comment le faire sur une distribution de base Debian ?

Compiler un noyau : comment le faire sur une distribution de base Debian ?

Dans notre entrée précédente, appelez "Le noyau Linux : bases du noyau" nous abordons certains bases théoriques essentielles sur Noyaux du système d'exploitation, en général; et le Noyau Linux, spécifique.

Et comme nous l'avons exprimé dans celui-ci, dans celui-ci, nous compléterons dit bases théoriques essentielles avec d'autres concepts et informations importants, en plus de montrer la procédure actuelle pour atteindre "compiler un noyau Linux" à partir de zéro, sur un Distribution Debian GNU/Linux 11 (Bullseye) ou basé sur celui-ci.

Le noyau Linux : bases du noyau

Le noyau Linux : bases du noyau

Et, avant de commencer à lire cet article sur "compiler un noyau" Linux En général, nous laisserons quelques liens vers posts connexes précédents pour une lecture ultérieure :

Le noyau Linux : tout savoir sur le noyau du système d'exploitation libre
Article connexe:
Le noyau Linux : bases du noyau
vulnérabilité
Article connexe:
Jusqu'à présent ce mois-ci, plusieurs vulnérabilités trouvées dans le noyau Linux ont déjà été révélées

Construire un noyau : tutoriel de création

Construire un noyau : tutoriel de création

Que signifie compiler un programme ?

En gros ça processus technique (également appelé emballage) consiste à réaliser conversion du code source d'un programme ou partie de logiciel, depuis sa source (langage de programmation utilisé pour s'écrire) jusqu'à un produit lisible (langage de programmation de haut niveau interprétable) par un ordinateur.

c'est-à-dire atteindre transformer à partir de votre code source jusqu'à ce qu'il devienne un programme exécutable et fonctionnel, en utilisant un processeur (logiciel compilateur) pour la conversion du langage de programmation utilisé vers un code de type binaire et assembleur.

Et quand il s'agit de développer et compiler tout type de package, application et programme, basique et natif, comme le graines sur Debian GNU / Linux, les forfaits suivants sont adaptés et nécessaires pour obtenir un bon base de soutien au développement, et ce sont:

apt install autoconf automake autotools-dev build-essential dh-make debhelper debmake devscripts dpkg fakeroot file gfortran git gnupg fp-compiler lintian patch pbuilder perl python quilt xutils-dev
Optimisez vos paquets GNU/Linux : Debian pour développer des applications
Article connexe:
Optimisez vos paquets GNU/Linux : Debian pour développer des applications

Avantages et inconvénients de la compilation d'un noyau Linux à partir de zéro

Lorsque nous compilons et configurons de manière personnalisée, à partir de zéro, un noyau spécifique pour un certain ordinateur, nous pouvons obtenir les avantages suivants :

  • Obtenez de meilleures performances et une consommation CPU moindre.
  • Obtenez une meilleure optimisation et une moindre consommation de mémoire RAM.
  • Améliorer l'adaptabilité et la compatibilité du système d'exploitation.
  • Augmenter l'efficacité et la productivité du système d'exploitation.

Alors qu'au contraire, nous pourrions générer les inconvénients suivants :

  • Défaillances opérationnelles et de disponibilité des ressources et des services souhaités sur l'ordinateur utilisé, en raison de mauvaises configurations et de problèmes survenus lors de la compilation.
  • Un travail constant, long et fastidieux au début pour le générer, puis plus tard, pour le maintenir à jour manuellement. Ce qui peut aller de quelques minutes à quelques heures, selon le matériel utilisé.
  • De longues heures d'étude et de tests, car un haut niveau de connaissance est nécessaire à la fois sur les options de configuration disponibles dans le noyau et sur l'ordinateur (matériel final) sur lequel il sera exécuté.

Catégories de noyau disponibles

Catégories de noyau disponibles

Pour compiler un noyau, la première chose que nous devons savoir est quel noyau choisir. Pour ce faire, nous devons aller à site officiel des noyaux, et choisissez-en une parmi les catégories existantes. Quels sont les suivants :

  • Axe principal de développement (Mainline): Cette catégorie comprend les noyaux en phase de développement, par conséquent, ils contiennent de nouvelles fonctionnalités et fonctions qui doivent être testées avant de pouvoir être mises dans une version stable. Ceux-ci sont maintenus et publiés directement par Linus Torvalds, et sont publiés tous les 2-3 mois en moyenne.
  • Écurie: Cette catégorie comprend les noyaux qui, après avoir passé les tests du long processus de développement, deviennent stables, ils ne sont donc sujets à des corrections que par l'intermédiaire d'un mainteneur officiel désigné. De plus, ils n'ont que quelques versions de correctifs de bogues jusqu'à ce que la prochaine ligne principale soit disponible.
  • Long terme: Cette catégorie comprend les noyaux qui, après avoir passé les tests du long processus de développement, deviennent stables, mais sont pris en charge par des corrections de bogues et une maintenance pendant une période extrêmement longue (des années). Raison pour laquelle, d'importantes corrections de bogues sont appliquées, ce qui peut devenir très fréquent.

Comment compiler un noyau dans une distribution GNU/Linux Debian Bullseye ?

Comment compiler un noyau dans une distribution GNU/Linux Debian Bullseye ?

Ayant choisi un version spécifique du noyau, sur le site officiel, et sachant déjà (copier) votre chemin de téléchargement à travers bouton tarball de même, il ne reste plus qu'à effectuer la procédure suivante, que nous montrerons en prenant comme exemple, le Noyau Linux stable version 6.0.8:

Étape 1

cd /usr/src
wget -c https://mirrors.edge.kernel.org/pub/linux/kernel/v6.x/linux-6.0.8.tar.xz
sudo unxz linux-6.0.8.tar.xz
sudo tar xvf linux-6.0.8.tar
sudo ln -s linux-6.0.8 linux
cd /usr/src/linux
sudo make clean && make mrproper
sudo cp /boot/config-`uname -r`* .config
make menuconfig

L'exécution de cette dernière commande lance le "Menu de configuration du noyau", où vous pouvez configurer (personnaliser) les paramètres votre préférence ou votre besoin. De plus, ici il est essentiel de ne pas oublier qu'il faut cochez ou décochez l'option noyau 64 bits, selon ce qui est souhaité ou requis. Et aussi, après avoir effectué toutes les modifications apportées, vous devez appuyez sur le bouton Enregistrer et ensuite le Bouton Quitter.

Menu de configuration du noyau

Étape 2

A ce stade il y a 2 chemins possibles à prendre:

Installation du noyau uniquement
sudo make
sudo make modules_install
sudo make install
sudo update-grub; sudo update-grub2; sudo update-initramfs -u
sudo apt clean; sudo apt autoclean; sudo apt autoremove; sudo apt remove; sudo apt purge

Installation du noyau et génération de fichiers .deb

Installation du noyau et génération de fichiers .deb

Pour exécuter cette étape, il est pertinent d'avoir l'installation du package appelé paquet-noyau. Par conséquent, la procédure est la suivante et commence comme suit :

sudo wget -c http://ftp.us.debian.org/debian/pool/main/k/kernel-package/kernel-package_13.018+nmu1~bpo9+1_all.deb
sudo apt install ./kernel-package_13.018+nmu1~bpo9+1_all.deb
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
cd /usr/src
sudo dpkg -i *.deb

Au cas où, pendant le processus de compilation, vous obtenez un erreur liée aux certificats du noyau, il reste en option de pouvoir exécuter les opérations suivantes ordre de commande pour le réparer automatiquement:

sed -i '/CONFIG_SYSTEM_TRUSTED_KEYS/s/^/#/g' .config

Oui, tout s'est bien terminé, il ne reste plus qu'à redémarrer notre ordinateur et tester le fonctionnement de notre système d'exploitation avec le nouveau Kernel. Comme il est montré avant et après, dans les captures d'écran suivantes :

Avant l'installation du noyau

Avant l'installation

Après l'installation du noyau

Après l'installation

Article connexe:
Fast Kernel Headers, un ensemble de correctifs qui accélèrent la compilation du noyau de 50 à 80 %
Article connexe:
Kerla : un nouveau noyau écrit en Rust et compatible avec l'ABI Linux

Résumé : poste de bannière 2021

Résumé

En résumé, nous espérons que ce tutoriel vous sera très utile, tant pour Utilisateurs avancés côme une Développeurs de Distros ou Respins. qui nécessitent généralement "compiler un noyau" spécifique sur un système d'exploitation GNU/Linux actuellement installé ou généré à partir de zéro, afin d'incorporer une meilleures performances et optimisation sur du matériel spécifique. Surtout, dans le but d'atteindre un moins de consommation CPU et RAM.

Bien que, si quelqu'un en connaît un autre moyen utile d'effectuer ladite procédure ou connaissez-vous suggestion, recommandation ou correction à ce qui est fourni ici, vous êtes invités à le faire à travers les commentaires. Et oui, vous avez simplement aimé cette publication, n'arrêtez pas de la commenter et de la partager avec les autres. Pensez également à visiter notre «page d'accueil» pour explorer plus d'actualités et rejoindre notre chaîne officielle de Télégramme de DesdeLinux, Ouest groupe pour plus d'informations sur le sujet d'aujourd'hui.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.