Dans mon esprit, le seul avantage que vous obtenez vraiment en compilant votre propre noyau Linux est :
Vous apprenez à compiler votre propre noyau Linux.
Ce n'est pas quelque chose dont vous avez besoin à faire pour plus de vitesse/mémoire/xxx peu importe. C'est une chose précieuse à faire si c'est l'étape à laquelle vous vous sentez dans votre développement. Si vous voulez avoir une compréhension plus approfondie de ce qu'est tout ce "open source", comment et quelles sont les différentes parties du noyau, alors vous devriez essayer. Si vous cherchez simplement à accélérer votre temps de démarrage de 3 secondes, alors... à quoi ça sert... allez acheter un ssd. Si vous êtes curieux, si vous voulez apprendre, alors compiler votre propre noyau est une excellente idée et vous en tirerez probablement beaucoup.
Cela dit, il existe des raisons spécifiques pour lesquelles il serait approprié de compiler votre propre noyau (comme plusieurs personnes l'ont souligné dans les autres réponses). Généralement, ceux-ci découlent d'un besoin spécifique que vous avez pour un résultat spécifique, par exemple :
- Je dois faire démarrer/exécuter le système sur du matériel avec des ressources limitées
- Je dois tester un correctif et fournir des commentaires aux développeurs
- Je dois désactiver quelque chose qui provoque un conflit
- J'ai besoin de développer le noyau Linux
- Je dois activer la prise en charge de mon matériel non pris en charge
- Je dois améliorer les performances de x car j'atteins les limites actuelles du système (et je sais ce que je fais)
Le problème consiste à penser qu'il y a un avantage intrinsèque à compiler votre propre noyau alors que tout fonctionne déjà comme il se doit, et je ne pense pas que ce soit le cas. Bien que vous puissiez passer d'innombrables heures à désactiver les choses dont vous n'avez pas besoin et à peaufiner les choses qui peuvent être modifiées, le fait est que le noyau Linux est déjà assez bien réglé (par votre distribution) pour la plupart situations d'utilisation.
La plupart des utilisateurs n'ont pas besoin de compiler leur propre noyau, leur distribution a fait ce travail pour eux. Habituellement, les distributions incluent un ensemble de correctifs à intégrer à certaines parties du fonctionnement de la distribution, des rétroportages de pilotes de périphériques et des correctifs de versions plus récentes mais non publiées du noyau ou des fonctionnalités qu'ils expérimentent avec leurs utilisateurs.
Lorsque vous compilez votre propre noyau, vous avez plusieurs options, vous pouvez compiler un noyau officiel de Linus Torvalds, cela n'inclura aucun des correctifs ou personnalisations qui ont été ajoutés par votre distribution (qui peuvent être bons ou mauvais) ou vous pouvez utilisez l'outil de reconstruction de votre distribution pour construire votre propre noyau.
Les raisons pour lesquelles vous voudrez peut-être reconstruire votre noyau incluent :
- Corriger des bogues ou ajouter une fonctionnalité spécifique à un système de production, où vous ne pouvez pas vraiment risquer de mettre à jour l'ensemble du noyau pour un seul correctif ou deux.
- Pour essayer un pilote de périphérique particulier ou une nouvelle fonctionnalité
- Pour étendre le noyau, travaillez dessus
- tester certains modules ou fonctionnalités "Alpha".
De nombreux développeurs l'utilisent pour créer également des versions personnalisées du noyau pour les systèmes embarqués ou les décodeurs où ils ont besoin de pilotes de périphériques spéciaux, ou ils veulent supprimer des fonctionnalités dont ils n'ont pas besoin.
Compiler le noyau vous-même vous permet de n'inclure que les parties pertinentes pour votre ordinateur, ce qui le rend plus petit et potentiellement plus rapide, en particulier au démarrage. Les noyaux génériques doivent inclure la prise en charge d'autant de matériel que possible; au démarrage, ils détectent quel matériel est connecté à votre ordinateur et chargent les modules appropriés, mais cela prend du temps pour faire tout cela et ils doivent charger des modules dynamiques, plutôt que de faire cuire le code directement dans le noyau. Il n'y a aucune raison pour que votre noyau prenne en charge 400 processeurs différents alors qu'il n'y en a qu'un sur votre ordinateur, ou pour prendre en charge les souris Bluetooth si vous n'en avez pas, c'est de l'espace perdu que vous pouvez libérer