GNU/Linux >> Tutoriels Linux >  >> Linux

Comment un noyau Linux peut-il être si petit ?

Oui. Si vous les supprimez (compilez/créez uniquement les éléments dont vous avez besoin), compressez le noyau (optimisez la taille) ... cela donnera un si petit noyau. Vous pouvez en faire des encore plus petits, pour un système ciblé. Comme je connais mon PC, je connais mes affaires. Je vais donc compiler ce dont j'ai besoin. Comme mes propres pilotes SATA, pilote pour USB, etc. Rien d'autre. Pas de webcam, pas d'anciens disques IDE, rien.

Aussi:Les plus gros que vous rencontrez sont le noyau ENTIER (que l'on n'a jamais besoin d'utiliser). Même ceux de bureau contiennent (la plupart du temps, sous forme de modules) BEAUCOUP DE choses inutiles. Mais les débutants s'attendent à ce que chaque type de matériel qu'ils plug-in fonctionnent.

(Notez que les modules ne seront pas chargés tant qu'ils ne seront pas nécessaires. 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 modprobe, ou votre système le chargera automatiquement en cas de besoin.
Dépend du système, de l'espace utilisateur.)
[X] - Il sera compilé dans le noyau ET sera présent - toujours.

Distributions avec petit noyau :

  • Tiny Core Linux, Micro Core Linux, 12 Mo Linux GUI Desktop, Live, Frugal, Extensible
  • Accueil de la communauté Puppy Linux – Premiers pas

Les premières distributions Linux telles que Tom's Root-Boot, MuLinux, Diet-router, LOAF (aujourd'hui disparu) et bien d'autres maintenant disparues, s'adaptent toutes à un système Linux fonctionnel sur une ou deux disquettes de 1,44 Mo.

Le noyau Linux a grandi mais il est modulaire :les modules du noyau sont chargés selon les 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

  • noyau 0.99pl15 historique :Slackware 1.1.2, 1994 :301K
  • Fedora Core 2 :1,2 million
  • SuSE 9.1 :1,5 million
  • Configuration de test 2.6.5-tiny1 :IDE, ext2, TCP, NIC :363K

La configuration par défaut du noyau est configurée pour prendre en charge autant de matériel que possible. Un noyau non dépouillé avec une configuration par défaut a donné une taille de 1897996 Ko (y compris noyau + modules). Lors de la suppression de nombreux pilotes et options inutiles (pourquoi aurais-je besoin d'un module HP si je possède un ordinateur portable Clevo), cela a entraîné une taille de 892892 Ko, soit une réduction de taille de 53 % par rapport au noyau d'origine.

Lors de l'installation des modules du noyau, ajoutez le INSTALL_MOD_STRIP=1 option. Cela supprimera tous les symboles de débogage et réduira la taille de 92% pour moi (de 892892 Ko à 69356 Ko). Notez que cela n'affectera que les modules à installer et non le noyau (vmlinuz) lui-même :

make INSTALL_MOD_STRIP=1 modules_install

Depuis Documentation/kbuild/kbuild.txt :

INSTALL_MOD_STRIP
--------------------------------------------------
INSTALL_MOD_STRIP, if defined, will cause modules to be
stripped after they are installed.  If INSTALL_MOD_STRIP is '1', then
the default option --strip-debug will be used.  Otherwise,
INSTALL_MOD_STRIP value will be used as the options to the strip command.

Linux
  1. Modules du noyau Linux sans lesquels nous ne pouvons pas vivre

  2. Comment vérifier la version du noyau sous Linux

  3. Comment recharger les modules de noyau modifiés

  4. Comment puis-je reprendre une tâche arrêtée sous Linux ?

  5. Comment puis-je réserver un bloc de mémoire à partir du noyau Linux ?

Comment charger ou décharger un module du noyau Linux

Comment charger et décharger les modules du noyau sous Linux

Comment vérifier la version du noyau sous Linux

Comment construire le noyau Linux à partir de zéro

Comment vérifier si KPTI est activé sous Linux ?

Combien de cœurs le noyau Linux peut-il gérer ?