Précédent   Forum des professionnels en informatique > Systèmes > Linux > Système
Système Vos questions autour de l'administration système
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/11/2007, 19h52   #1
Inactif
 
Avatar de Hibou57
 
Inscription : mars 2006
Messages : 852
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 852
Points : 398
Points : 398
Par défaut L'implementation des modules est-elle dépendente de celle du kernel ?

Bonsoir,

Une question sur la compilation : L'implementation des modules est-elle dépendente de celle du kernel ? Je veux dire, si je modifie des options spécifiques au kernel, cela va t-il rendre les modules dynamiques incompatibles ?

Je ne parle bien sûr pas d'options qui placeraient certains modules soit en dure soit en chargement dynamique, mais d'options qui ne concernent que le kernel.

Alternativement (et pour ne pas ouvir deux autres fils) : les modules fournis avec le source du noyau représentent-ils la totalité des pilotes disponnibles avec Linux ? Et également, existe t-il un moyen de placer INET en module ? (un patch, ou autre).

Marci pour toutes formes d'informations
Hibou57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2007, 16h06   #2
Membre émérite
 
Avatar de FloMo
 
Inscription : juillet 2004
Messages : 714
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 714
Points : 898
Points : 898
Les modules sont chargés dynamiquement par udev, mais il est possible de forcer leur démarrage et leurs options via /etc/modules sous debian par exemple. Il faut par contre qu'ils soient en phase avec la version du noyau lancée.

Les options du noyau peuvent être passées dynamiquement dans /proc/sys mais aussi être chargées au démarrage via le fichier /etc/sysctl.conf.

Les modules fournis avec le noyau ne représentent pas tous les modules existants. D'autres sont propriétaires et donc non inclus : NVidia et ATI typiquement. D'autres encore ne sont pas suffisamment stables pour rentrer immédiatement dans le source du noyau : Intel par exemple.
Pour faire fonctionner de tels modules, il faut les recompiler pour le noyau utiliser. Les en-têtes du noyau courant doivent donc être installés.

Bon courage pour la suite.
FloMo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/11/2007, 17h35   #3
Inactif
 
Avatar de Hibou57
 
Inscription : mars 2006
Messages : 852
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 852
Points : 398
Points : 398
Hallo FloMo,

Je note, et ça confirme ce qui me semblait logique : les modules ne dépendent que d'une interface, et non pas de détails internes. Mais je préférais être sur.

Citation:
Envoyé par FloMo
Les modules sont chargés dynamiquement par udev
J'ignorais que le chargement automatique des module est un élément ce udev. Je pensais que udev signalait la connexion d'un périphérique, et que c'est le gestionnaire de ce signale qui chargait alors le modules pour le périphérique concerné.

Il me semblait d'ailleur qu'on pouvait implémenter le chargement automatique à l'extérieur du noyau, par exemple en interceptant les événement dans le repertoire /dev/* (il me semble que la fonctionalité signalfd le permet).

Est-ce en fait que udev utilise le chargement automatique, ou que le chargement automatique est un élément de udev ?

Citation:
Envoyé par FloMo
mais il est possible de forcer leur démarrage et leurs options via /etc/modules sous debian par exemple.
Oui, et pas seulement sous Debian d'ailleur, car /etc/modules.conf est un standard des système basé sur un noyau Linux. Par contre il est vrai que les sytèmes basés sur Linux n'applique pas tous cette convention. Slackware par exemple (qui a beaucoup de qualités par ailleurs), ne respect malheureusement pas ce standard, et utilise un fichier /etc/conf.modprob à la place (si je me souviens bien). Dans ce cas là, c'est vrai que le noyau ne peut pas y accéder, puisqu'il ne trouve rien dans le chemin standard. Mais je ne sais d'ailleur pas si c'est le noyau ou modprob qui accède à ce fichier (voir la question suivante).

Je me demandais aussi (et je ne troue réponse null-part), si le chargement automatique des modules est basé sur une implémentation interne de modprob (un programe modprob dans le noyau) ou si le noyau appel /bin/modprob. Personellement, ça m'arrangerait que le noyau appel un modprob implémenté dans le noyau plutôt qu'un modprob extern... mais bon, je crois que c'est malheureusement le deuxième cas qui correspond à la réalité des choses.

Citation:
Envoyé par FloMo
Les options du noyau peuvent être passées dynamiquement dans /proc/sys mais aussi être chargées au démarrage via le fichier /etc/sysctl.conf.
Ah, merci pour l'info, j'ignorais tout ça. Par contre, en ce qui concerne la méthode en elle-même : l'usage de /proc/* et sysctl est apparement maintenant déconseillé, car c'est obsolète. J'ai cru comprendre que /proc/* est maintenant remplacé par /sys/* (dont certaines personnes pensent qu'on aurait du l'appeler /kernel/*). Mais en même temps, j'entend dire aussi que sysfs est maintenant obsolète. Il va falloir que je clarifie tout ça.

Citation:
Envoyé par FloMo
Les modules fournis avec le noyau ne représentent pas tous les modules existants. D'autres sont propriétaires et donc non inclus : NVidia et ATI typiquement. D'autres encore ne sont pas suffisamment stables pour rentrer immédiatement dans le source du noyau : Intel par exemple.
D'accord, ça c'est interessan : je connaissais l'existence de pilotes winmodem payants (20$ environ, ce qui est chèr, puisque cela correspond approximativement au prix de ce type de matériel), mais je pensais que c'était spécifique aux winmodem. Donc la même chose existe pour d'autre périphérique. Je prend note, et j'irai visiter les sites des constructeurs.

Citation:
Envoyé par FloMo
Bon courage pour la suite.
Merci pour le p'tit mot... ça fait zizir Je ne sais pas ce que va être la suite, mais j'espère qu'elle aboutira.
Hibou57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/11/2007, 17h47   #4
Inactif
 
Avatar de Hibou57
 
Inscription : mars 2006
Messages : 852
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 852
Points : 398
Points : 398
Citation:
Envoyé par Hibou57 Voir le message
Par contre, en ce qui concerne la méthode en elle-même : l'usage de /proc/* et sysctl est apparement maintenant déconseillé, car c'est obsolète. J'ai cru comprendre que /proc/* est maintenant remplacé par /sys/* (dont certaines personnes pensent qu'on aurait du l'appeler /kernel/*). Mais en même temps, j'entend dire aussi que sysfs est maintenant obsolète. Il va falloir que je clarifie tout ça.
L'utilisation de /proc/* est bien obsolète depuis le noyau 2.6, mais par contre sysfs ne l'est pas : ce ne sont que certains éléments de sysfs qui le sont. D'aprés la doc du noyau, il s'agit de certains éléments qui exposait certaines choses de l'intérieur de pilotes de périphérique. Donc sysfs n'est évidement pas obsolète (sinon on ne pourrait pas par exemple passer un argument du genre root=/dev/hda1 à la ligne de commande du noyau)
Hibou57 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h31.


 
 
 
 
Partenaires

Hébergement Web