1 votes

Pourquoi les noyaux linux incluent-ils des fichiers pour tous les périphériques ?

Le noyau de mon appareil comprend tellement de fichiers pour d'autres appareils et situations que mon appareil ne peut pas utiliser. Le noyau transporte les fichiers pour tout et est beaucoup plus important que les fichiers pour mon appareil.

Quelle en est la raison ? Pourquoi ne pas supprimer les fichiers inutiles et avoir un noyau beaucoup plus petit ?

0 votes

Parce que la complexité de la distribution serait atroce et que chacun devrait compiler son propre noyau à chaque fois qu'il aurait besoin d'une mise à jour, ce qui poserait un sérieux problème de support. pour les appareils embarqués qui sont rarement mis à jour, il devient intéressant de compiler son propre noyau avec uniquement les composants que l'on souhaite.

0 votes

Ne serait-ce pas mieux pour unix.SE ?

6voto

Chochos Points 3364

Vous pourriez en fait construire un noyau pour votre matériel spécifique si vous le vouliez. Je pense qu'une bonne distribution pour illustrer cela est gentoo - vous pouvez utiliser des noyaux adaptés à votre matériel ou utiliser genkernel.

Vous pouvez utiliser un noyau générique, qui est plus gros, ou construire un noyau selon vos besoins. Oubliez quelque chose qui ne peut pas être chargé comme un module, et vous reconstruisez le noyau entier.

Il y a bien sûr les modules du noyau (c'est ainsi que de nombreux pilotes tiers sont empaquetés), mais l'intérêt d'avoir un ensemble de modules du noyau par défaut est de pouvoir savoir que votre système a des chances raisonnables de fonctionner. Imaginez devoir passer quelques heures à compiler votre noyau parce que vous avez oublié d'activer X (cela m'est arrivé, la dernière fois que j'ai essayé d'installer gentoo) !

Vous n'avez pas, cependant, les pilotes pour 何れも les périphériques - vous finissez souvent par installer les pilotes vous-même - par exemple, nvidia a des pilotes séparés en dehors des paquets noveau que beaucoup de distros ont (et ceci en dehors du noyau) et la même chose est vraie pour beaucoup de cartes réseau. Il existe également des mécanismes qui chargent simplement les modules nécessaires en fonction des besoins.

Si vous veulent un ensemble minimal de pilotes, sur un noyau mince, construit selon les spécifications de votre propre système, faites-le. Rappelez-vous simplement que c'est beaucoup de travail, et que le noyau générique est généralement un ensemble sain de compromis que les développeurs de la distribution ont choisi parce qu'il est fiable.

0 votes

Les noyaux Android sont de l'ordre de 5 Mo, quelle serait la taille d'un noyau s'il était réduit pour un seul appareil, sans ajouts supplémentaires ? Quel serait l'espace mémoire économisé ? L'effort en vaudrait-il la peine ?

0 votes

Le paquetage du noyau d'Ubuntu se situe entre 90 et 120 Mo. packages.ubuntu.com/lucid/linux-image-2.6.32-22-generic donc, dans certains cas, cela en vaut la peine.

0 votes

J'ai été assez paresseux lorsqu'il s'agit de mettre à jour mon noyau, mais les noyaux que j'ai construits pour mon x86_64 font environ 3,5 Mo (vmlinuz) + 1,8 Mo (System.map) (à partir de versions du noyau comprises entre 2.6.37 et 3.2.1). La plupart des pilotes sont intégrés. Je vois que mon /lib/modules fait 44MB cependant... (Oui, j'utilise Gentoo :) )

2voto

mine Points 197

Parce que, les développeurs ne savent jamais quel matériel VOUS allez utiliser pour votre linux. Et oui, vous pouvez personnaliser vos fichiers en fonction de votre matériel.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X