5 Conseils Utiles Lors de la Compilation de Votre Propre Noyau Linux

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 est encore en développement actif aujourd’hui. Depuis la fin des années 1990, le noyau Linux a été utilisé tant dans des projets intensifs en calcul que dans des applications embarquées minimalistes.
Table des matières
- Qu’est-ce qu’un noyau et pourquoi le configurer ?
- Utilisez le système d’aide
- Désactivez le support HID inutile
- Désactivez le support de système de fichiers inutile
- Désactivez les pilotes graphiques inutiles
- Installez les pilotes en tant que modules
- Questions fréquentes
Lisez aussi : 5 Meilleures Distributions Linux-Libre pour une Meilleure Sécurité
Qu’est-ce qu’un noyau et pourquoi le configurer ?
Malgré tout cela, le noyau Linux est juste 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 de périphériques pour les programmes que vous utilisez chaque jour.
Un exemple de ce lien matériel-logiciel est l’Architecture Avancée de Son Linux (ALSA). ALSA est un cadre de pilote sonore qui est intégré au noyau Linux. Il vous permet, entre autres, d’installer facilement une carte son et de la configurer pour qu’elle fonctionne immédiatement avec votre programme préféré.

Sachant cela, le noyau Linux est un programme largement inconnu de l’utilisateur régulier. Pour la plupart, chaque fois que vous installez une distribution, vous obtenez souvent un noyau qui fonctionnera immédiatement. Cela peut être utile si vous cherchez simplement à faire fonctionner votre système.
Cependant, si vous utilisez des distributions telles qu’Arch et Gentoo, être capable de configurer votre noyau est bénéfique à long terme. Par exemple, activer uniquement les fonctionnalités que vous souhaitez 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.
Remarque : 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. C’est une fonctionnalité intégrée à laquelle vous pouvez accéder depuis le menu de configuration du noyau. Cela vous permet de voir une description de chaque fonctionnalité et pilote que vous pouvez installer dans votre noyau.

Pour utiliser ce système, il vous suffit d’appuyer sur Shift + / tout en mettant en surbrillance une option de noyau particulière. À partir de là, le menu de configuration affichera alors une brève diapositive sur ce que fait cette fonctionnalité. Par exemple, je peux appuyer sur Shift + / sur l’option “Support PCI” 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 qu’une fonctionnalité spécifique nécessite.
Pour ce faire, vous pouvez appuyer sur / pendant que vous êtes dans le menu de configuration. Cela fera apparaître une petite invite où vous pouvez taper le nom d’une option particulière. Par exemple, je peux appuyer sur / puis taper “PCI” pour rechercher des options qui utilisent le drapeau PCI.

Lisez aussi : Qu’est-ce que Gentoo Linux et comment l’installer
2. Désactivez le support HID inutile
Le noyau Linux se vante souvent d’être un logiciel avec un support matériel presque universel. En cela, vous êtes souvent sûr qu’il sera capable de faire fonctionner n’importe quel périphérique que vous y connectez.

Cependant, un problème avec cette approche est que l’inclusion de chaque bit de support augmente la taille et l’empreinte globales du noyau. Cela, à son tour, peut conduire à des binaires lents que des hackers malveillants peuvent facilement exploiter et pénétrer.
Une façon de traiter ce problème est de supprimer le support matériel que vous n’utilisez pas dans 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 est de passer par la section “Pilotes HID spéciaux”. C’est une catégorie à laquelle vous pouvez accéder sous “Pilotes de périphériques” et “Support 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 Shift + / et / pour rechercher chaque option répertoriée dans cette section. Par exemple, je peux sélectionner “Périphériques ELECOM” et appuyer sur Shift + / pour voir ce que fait cette option.

Vous pouvez ensuite sélectionner les périphériques que vous souhaitez et appuyer sur N pour désactiver leurs fonctionnalités. Dans mon cas, je vais désactiver tout le support HID spécial puisque je n’utilise aucun de ces périphériques.

Lisez aussi : 5 des Meilleures Distros Linux pour Développeurs et Programmeurs
3. Désactivez le support de système de fichiers inutile
Une autre façon rapide de réduire la taille de votre noyau est de supprimer le support pour les 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 incluent l’ancien BSD FFS ainsi que certains des systèmes haute performance tels que BTRFS.

Pour la plupart, un utilisateur régulier n’utilise réellement qu’une poignée de systèmes de fichiers pour un usage quotidien. Par exemple, un système Linux utilise généralement EXT2, EXT4, FAT32 et NTFS pour tout son stockage de données. Ainsi, il est possible de supprimer le support pour d’autres systèmes de fichiers et d’obtenir un gain de performance raisonnable du noyau.
Pour supprimer le support de systèmes de fichiers inutiles dans le noyau, il vous suffit d’aller dans la catégorie “Systèmes de fichiers”.

À partir de là, vous pouvez 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 le support HID spécial et le support des systèmes de fichiers, vous pouvez également utiliser le menu de configuration pour supprimer tous les pilotes graphiques que vous n’utilisez pas. Cela est dû au fait que le noyau Linux regroupe le support pour la plupart des dispositifs 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.

Similaire à ce qui précède, cela entraîne un binaire de noyau qui exécute des fonctionnalités dont vous n’avez pas nécessairement besoin. Cela, à son tour, peut poser un problème si vous exécutez Linux sur du matériel ancien ou faible.
Pour supprimer le support graphique inutile, vous devez d’abord aller dans la section “Pilotes de périphériques” du menu de configuration. À partir de là, vous devez 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 appuyer sur Y ou N pour activer ou désactiver un pilote particulier.
Dans mon cas, je vais uniquement activer les “Graphiques Intel 8XX” et “Intel GMA500 Framebuffer” puisque ce sont les seuls dispositifs graphiques présents dans mon ordinateur portable.

Lisez aussi : 9 des Meilleures Distros Linux pour Utilisateurs Windows
5. Installez les pilotes en tant que modules
Enfin, l’une des meilleures fonctionnalités du noyau Linux est sa capacité à retirer 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, ce qui vous permet de le mettre à jour sans recompilation du noyau. Ainsi, les modules peuvent être particulièrement utiles pour les utilisateurs qui souhaitent avoir un noyau rapide tout en conservant la compatibilité matérielle exceptionnelle de Linux.

Pour convertir des fonctionnalités intégrées en modules, vous devez aller à 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 “Support réseau” puis “Sans fil”.

À partir de là, je peux appuyer sur M sur les pilotes “cfg80211” pour les convertir en un module de noyau.

Une fois cela fait, vous pouvez appuyer sur Esc six fois pour quitter le menu de configuration. Cela fera alors 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”.

Avec cela fait, vous pouvez maintenant compiler une version du noyau Linux avec les fonctionnalités que vous souhaitez en exécutant la commande suivante :
make&&make modules_install
makeinstall
Lisez aussi : 5 Outils pour Créer Facilement une Distribution Linux Personnalisée
Questions fréquentes
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 à 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 certain nombre de programmes que vous pouvez maintenant utiliser pour faciliter ce processus.
Par exemple, vous pouvez utiliser à la fois lspci et lsusb pour voir 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 dispositifs.
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 sur Y ou M sur la fonctionnalité que vous souhaitez réactiver. Cela indiquera au noyau d’inclure cette fonctionnalité particulière soit en tant qu’intégrée, soit en tant que module.
Une fois cela fait, vous devez recompresser 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 à recompresser le noyau en exécutant make.
Quand devrais-je installer une fonctionnalité du noyau Linux en tant que module ?
L’installation de fonctionnalités en tant que modules dépendra largement de ce que vous attendez de votre noyau. Sachant cela, une bonne règle de base est que vous ne devriez créer des modules que pour des fonctionnalités qui ne sont pas critiques pour le processus de démarrage.
C’est parce qu’à son cœur, le noyau Linux repose sur la capacité de démarrer en tant qu’image unique. Par exemple, supprimer des parties critiques telles que le support multiprocesseur peut entraîner une situation où votre noyau devient non amorçable.
En raison de cela, les composants du noyau qui deviennent souvent des modules sont soit des pilotes graphiques et autres pilotes matériels, soit des interfaces réseau.
Crédit image : Unsplash