Le noyau Linux est une brillante pièce d’ingénierie logicielle. Avec plus d’un million de lignes de code, c’est sans doute l’un des programmes les plus complexes qui soit encore en développement actif aujourd’hui. Depuis la fin des années 1990, le noyau Linux a été utilisé à la fois dans des projets à forte intensité de calcul et dans des applications embarquées barebones.
Qu’est-ce qu’un noyau et pourquoi le configurer ?
Malgré tout cela, le noyau Linux n’est qu’un programme qui sert de lien entre le matériel de votre ordinateur et le logiciel que vous utilisez au quotidien. C’est ce qui vous permet d’utiliser une large gamme d’appareils pour les programmes que vous utilisez au quotidien.
Un exemple de cette liaison matériel-logiciel est l’Advanced Linux Sound Architecture (ALSA). ALSA est un framework de pilote audio intégré au noyau Linux. Il vous permet, entre autres, d’installer facilement une carte son et de la configurer pour qu’elle s’exécute immédiatement avec votre programme préféré.
Sachant cela, le noyau Linux est un programme largement inconnu de l’utilisateur régulier. Dans la plupart des cas, chaque fois que vous installez une distribution, vous obtenez souvent un noyau prêt à l’emploi. Cela peut être utile si vous cherchez simplement à faire fonctionner votre système.
Cependant, si vous utilisez des distributions telles que Arch et Gentoo, la possibilité de configurer votre noyau est bénéfique à long terme. Par exemple, activer uniquement les fonctionnalités souhaitées peut accélérer les temps de démarrage.
Avec cela, cet article vise à fournir cinq conseils utiles lors de la compilation de votre propre noyau Linux.
Noter: Consultez cet article pour savoir comment commencer à compiler votre propre noyau.
1. Utilisez le système d’aide
L’une des fonctionnalités les plus utiles lors de la configuration de votre noyau Linux est le système d’aide. Il s’agit d’une fonctionnalité intégrée à laquelle vous pouvez accéder depuis le menu de configuration du noyau. En cela, cela vous permet d’afficher une description de chaque fonctionnalité et pilote que vous pouvez installer dans votre noyau.
Pour utiliser ce système, il suffit d’appuyer sur Décalage + / tout en mettant en évidence une option particulière du noyau. À partir de là, le menu de configuration imprimera une brève diapositive de ce que fait cette fonctionnalité. Par exemple, je peux appuyer sur Décalage + / à l’option « PCI Support » pour voir toutes les options que je dois activer pour l’utiliser.
Avec cela, vous pouvez également utiliser le même système d’aide pour rechercher des informations sur des fonctionnalités particulières du noyau. Cela peut être particulièrement utile si vous souhaitez en savoir plus sur toutes les options requises par une fonctionnalité spécifique.
Pour ce faire, vous pouvez appuyer sur / dans le menu de configuration. Cela fera alors apparaître une petite invite où vous pourrez taper le nom d’une option particulière. Par exemple, je peux appuyer sur / puis tapez « PCI » pour rechercher les options qui utilisent le drapeau PCI.
2. Désactiver le support HID inutile
Le noyau Linux se présente souvent comme un logiciel avec un support matériel quasi universel. En cela, vous êtes souvent sûr qu’il sera capable de piloter n’importe quel appareil que vous lui connectez.
Cependant, un problème avec cette approche est que l’inclusion de chaque bit de support augmente la taille globale et l’empreinte du noyau. Ceci, à son tour, peut conduire à des binaires lents que les pirates malveillants peuvent facilement exploiter et pénétrer.
Une façon de résoudre ce problème consiste à supprimer le support matériel que vous n’utilisez pas sur votre machine. Par exemple, le noyau Linux inclut le support Firewire dans sa configuration par défaut. Malgré cela, la plupart des machines de nos jours n’incluent pas de port Firewire par défaut.
Sachant cela, un moyen rapide de voir quels périphériques matériels vous pouvez désactiver consiste à parcourir la section « Pilotes HID spéciaux ». Il s’agit d’une catégorie à laquelle vous pouvez accéder sous « Pilotes de périphérique » et « Prise en charge HID » dans le menu de configuration. Ici, le noyau listera tous les périphériques rares et inhabituels qu’il peut prendre en charge.
Avec cela, vous pouvez également utiliser Décalage + / et / pour rechercher chaque option répertoriée dans cette section. Par exemple, je peux sélectionner « Appareils ELECOM » et appuyer sur Décalage + / pour voir ce que fait cette option.
Vous pouvez ensuite sélectionner les appareils que vous voulez et appuyer sur N pour désactiver leurs fonctionnalités. Dans mon cas, je désactiverai tout le support HID spécial puisque je n’utilise aucun de ces appareils.
3. Désactiver la prise en charge inutile du système de fichiers
Un autre moyen rapide de réduire la taille de votre noyau consiste à supprimer la prise en charge des systèmes de fichiers que vous n’utilisez pas. Par défaut, le noyau Linux est construit avec un support optionnel pour la plupart des types de systèmes de fichiers. Ceux-ci comprennent l’ancien FFS BSD ainsi que certains des systèmes hautes performances tels que BTRFS.
Pour la plupart, un utilisateur régulier n’utilise vraiment qu’une poignée de systèmes de fichiers pour une utilisation quotidienne. Par exemple, un système Linux utilise généralement EXT2, EXT4, FAT32 et NTFS pour l’ensemble de son stockage de données. En tant que tel, il est possible de supprimer la prise en charge d’autres systèmes de fichiers et d’obtenir une quantité raisonnable de performances supplémentaires du noyau.
Pour supprimer la prise en charge inutile des systèmes de fichiers dans le noyau, il vous suffit d’aller dans la catégorie « Systèmes de fichiers ».
À partir de là, vous pouvez ensuite sélectionner les systèmes de fichiers que vous souhaitez supprimer de votre système en les mettant en surbrillance et en appuyant sur N. Dans mon cas, je ne laisserai que le support pour EXT2, EXT3, EXT4 et JFS.
4. Désactivez les pilotes graphiques inutiles
En plus de désactiver la prise en charge de HID spécial et des systèmes de fichiers, vous pouvez également utiliser le menu de configuration pour supprimer tous les pilotes graphiques que vous n’utilisez pas. En effet, les bundles du noyau Linux prennent en charge la plupart des périphériques graphiques modernes. Cela signifie que même si votre machine n’utilise pas de carte graphique, votre noyau fonctionnera toujours comme si vous en aviez une.
Comme ci-dessus, cela se traduit par un binaire du noyau qui exécute des fonctionnalités dont vous n’avez pas nécessairement besoin. Ceci, à son tour, peut être un problème si vous utilisez Linux sur du matériel ancien ou faible.
Afin de supprimer la prise en charge graphique inutile, vous devez d’abord accéder à la section « Pilotes de périphérique » du menu de configuration. À partir de là, vous devez ensuite faire défiler vers le bas et sélectionner « Support graphique ».
Une fois cela fait, le noyau affichera alors une liste de tout le matériel graphique pour lequel il fournit un pilote. À partir de là, vous pouvez soit appuyer sur Oui ou N pour activer ou désactiver un pilote particulier.
Dans mon cas, je n’activerai à la fois que « Intel 8XX Graphics » et « Intel GMA500 Framebuffer », car ce sont les seuls périphériques graphiques présents sur mon ordinateur portable.
5. Installez les pilotes en tant que modules
Enfin, l’une des meilleures caractéristiques du noyau Linux est sa capacité à supprimer des parties de lui-même et à les recharger en tant que modules. Cette approche réduit non seulement la taille du noyau, mais vous permet également d’être flexible avec les fonctionnalités du noyau.
Par exemple, vous pouvez transformer votre pilote sans fil en un module qui vous permet de le mettre à jour sans recompiler le noyau. En tant que tels, les modules peuvent être particulièrement utiles pour les utilisateurs qui souhaitent disposer d’un noyau rapide mais qui souhaitent également conserver la compatibilité matérielle stellaire de Linux.
Pour convertir les fonctionnalités intégrées en modules, vous devez accéder à la section et à l’option que vous souhaitez convertir en module. Par exemple, pour convertir mon pilote sans fil, je dois aller dans la section « Networking Support » puis « Wireless ».
De là, je peux alors appuyer sur M sur les pilotes « cfg80211 » pour les convertir en module noyau.
Une fois terminé, vous pouvez appuyer sur Esc six fois pour quitter le menu de configuration. Cela, à son tour, fera apparaître une invite qui vous demandera si vous souhaitez enregistrer les modifications que vous avez apportées. Dans mon cas, je sélectionnerai « Oui ».
Cela fait, vous pouvez maintenant compiler une version du noyau Linux avec les fonctionnalités souhaitées en exécutant la commande suivante:
make && make modules_install make install
Questions fréquemment posées
Est-il possible de connaître les pilotes de périphériques dont mon noyau Linux a besoin ?
Oui! Un obstacle pour les utilisateurs qui commencent tout juste à compiler leur propre noyau est de connaître le type exact de matériel qu’ils utilisent. Bien que cela puisse sembler une tâche difficile, il existe un tas de programmes que vous pouvez maintenant utiliser pour faciliter ce processus.
Par exemple, vous pouvez utiliser les deux lspci
et lsusb
pour regarder tous les périphériques matériels connectés à votre machine. De plus, vous pouvez également exécuter la commande sudo dmesg
pour vérifier si le noyau lit correctement vos appareils.
Est-il possible de rétablir une fonctionnalité que j’ai supprimée du noyau Linux ?
Oui! Il est possible de réinstaller une fonctionnalité une fois que vous l’avez supprimée du noyau Linux. Pour ce faire, vous devez revenir au menu de configuration et appuyer soit sur Oui ou M sur la fonctionnalité que vous souhaitez réactiver. Cela indiquera au noyau d’inclure cette fonctionnalité particulière soit en tant que module intégré, soit en tant que module.
Cela fait, vous devez ensuite recompiler le noyau pour créer un binaire avec toutes les nouvelles fonctionnalités. Pour ce faire, vous devez enregistrer et quitter le menu de configuration en appuyant sur Esc six fois. À partir de là, vous pouvez maintenant commencer à recompiler le noyau en exécutant make
.
Quand dois-je installer une fonctionnalité du noyau Linux en tant que module ?
L’installation de fonctionnalités en tant que modules dépendra en grande partie de ce dont vous avez besoin de votre noyau. Sachant cela, une bonne règle de base est que vous ne devez créer des modules que pour les fonctionnalités qui ne sont pas critiques pour le processus de démarrage.
En effet, à la base, le noyau Linux repose sur la possibilité de démarrer en tant qu’image unique. Par exemple, la suppression de parties critiques telles que la prise en charge multiprocesseur peut conduire à une situation dans laquelle votre noyau devient impossible à démarrer.
Pour cette raison, les composants du noyau qui deviennent généralement des modules sont soit des graphiques et d’autres pilotes matériels, soit des interfaces réseau.