Un noyau 3 * stable et ordinaire fait environ 70 mb maintenant. Mais il y a peu de distributions linux de 30-10 Mo avec des logiciels et autres choses qui ne fonctionnent pas.
Comment le noyau Linux peut-il être si petit dans ces distributions? Le fait de supprimer uniquement les modules et les pilotes inutiles peut-il réduire considérablement la taille? Que fait-on pour réduire la taille du noyau?
Réponses:
Oui. Si vous les supprimez (compilez / créez uniquement les modules dont vous avez besoin), compressez le noyau (optimisez en fonction de la taille) ... vous obtiendrez un noyau de cette taille. Vous pouvez en créer des encore plus petites, pour un système ciblé. Comme je connais mon PC, je connais mes affaires. Donc, je vais juste compiler ce dont j'ai besoin. Comme mes propres pilotes SATA, pilotes pour USB, etc. Rien d’autre. Pas de webcam, pas de vieux lecteurs IDE, rien.
Aussi: Les plus gros que vous rencontrez sont le noyau WHOLE (qu'il n'est jamais nécessaire d'utiliser). Même les ordinateurs de bureau contiennent (la plupart du temps, sous forme de modules) BEAUCOUP de choses inutiles. Mais les débutants s'attendent à ce que tous les types de matériel auxquels ils se connectent fonctionnent.
(Notez que les modules ne seront pas chargés tant qu'ils ne seront pas utilisés. Il y a 3 états:
[ ]
- Ne sera pas compilé, ne fera pas partie de votre noyau.[M]
- Sera compilé en tant que module.(Vous pouvez le modifier , ou votre système le chargera automatiquement quand il le faudra. Cela
dépend du système, de l’utilisateur.)
[X]
- Il sera compilé dans le noyau ET sera présent - toujours.Distros avec petit noyau:
la source
Les premières distributions Linux telles que Tom's Root-Boot , MuLinux , Diet-router , (le défunt LOAF ) et bien d’autres partaient à présent, toutes installaient un système Linux opérationnel sur une ou deux disquettes de 1,44 Mo.
Le noyau Linux a grandi mais n'oubliez pas qu'il est modulaire, les modules du noyau sont chargés selon vos besoins. Ainsi, il est toujours possible de produire une distribution Linux avec un très faible encombrement.
Voir: Guide de réglage de la taille du noyau - eLinux.org
Si vous lisez Linux_tiny.pdf, vous verrez ceci
la source
La configuration du noyau par défaut est configurée pour prendre en charge autant de matériel que possible. Un noyau non dépouillé avec une configuration par défaut donnait une taille de 1897996 Ko (noyau + modules). En supprimant de nombreux pilotes et options inutiles (pourquoi aurais-je besoin d'un module HP si je possède un ordinateur portable Clevo), nous avons obtenu une taille de 892892 Ko, ce qui représente une réduction de taille de 53% par rapport au noyau standard.
Lors de l’installation des modules du noyau, ajoutez l’
INSTALL_MOD_STRIP=1
option. Cela supprimera tous les symboles de débogage et réduira la taille de 92% pour moi (de 892892 kB à 69356 kB). Notez que cela ne concerne que les modules à installer et pas le noyau (vmlinuz) lui-même:De Documentation / kbuild / kbuild.txt :
la source
La plupart des distributions majeures configurent leurs noyaux avec une prise en charge matérielle maximale afin que tout fonctionne normalement avec la plupart des ordinateurs et tout ce que vous branchez plus tard. Ils utilisent également un système initrd qui n'est pas nécessaire dans la plupart des cas. Il existe également des options dans la configuration du noyau qui optimisent le processus de construction en fonction de la taille, et une meilleure méthode de compression (bien que plus lente) peut également être sélectionnée. Enfin, si vous examinez la taille du code source du noyau, n'oubliez pas qu'il inclut également la prise en charge de plusieurs architectures autres que x86 / amd64, les protocoles réseau, les systèmes de fichiers et d'autres fonctionnalités que vous n'utiliserez probablement jamais et qui peuvent vous aider. être désactivé.
la source
C'est assez simple, un système minimal a juste besoin de bootloader + kernel bien qu'il soit presque inutile. La plupart des commandes utilisées quotidiennement sont des fichiers binaires optionnels pour le système, tels que sh, ls, etc. Si vous êtes intéressé par les composants internes, Linux From Scratch! est un bon point de départ.
la source