Lpic

Résolu/Fermé
riro - 13 oct. 2011 à 22:00
mamiemando Messages postés 32303 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 mars 2023 - 15 oct. 2011 à 00:22
salut ,

SVP, j'ai besoin de connaitre que le ou les fichiers que vous pourriez modifier pour changer les options qui sont automatiquement transmis aux modules du noyau?

merci d'avance

2 réponses

mamiemando Messages postés 32303 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 mars 2023 7 576
14 oct. 2011 à 09:58
Le fichier de configuration de ton boot loader (/etc/lilo.conf, /etc/default/grub, /boot/grub/menu.lst selon ce que tu utilises) permet de passer des options au noyau.

Sous Debian et distribution qui en dérive, les options passées aux modules par défaut sont définies dans /etc/modprobe.d/.

Quelque soit le linux, on peut passer des options à un module si on le charge manuellement avec la commande modprobe.

Bonne chance
0
Mais ?!!!
J'ai une confusion entre ces choix en dessous ,tu peux me explique svp !!!
A.Fichiers dans le répertoire / etc / modules.d
B. modules.dep dans le répertoire des modules
C.. Config dans le répertoire du noyau
D. / etc / modules.conf

merci Beaucoup :)
0
D'autre façon , quelle est la réponse la plus proche parmi les choix précédent !!!!

Désolé pour la dérangement..
Merci pour votre attention..
0
merci pour votre explication :)
donc la réponse est A :" les fichiers dans le répertoire /etc/modules.d " !!!!
0
mamiemando Messages postés 32303 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 mars 2023 7 576
15 oct. 2011 à 00:15
Parfait, merci pour ces précisions et bonne continuation.
0
merci :))

si tu ne dérange pas j'ai un autre question !!!!!
0
mamiemando Messages postés 32303 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 mars 2023 7 576
14 oct. 2011 à 21:25
Un noyau est la couche logicielle que tu choisis au démarrage. Un noyau a un numéro de version du genre 2.6.38 ou 3.0.1 de nos jours. Il est compilé pour une architecture matérielle donnée (comme tout le reste d'ailleurs), par exemple i686, amd64 etc... Pour basculer sur un autre noyau, tu dois redémarrer..

On peut passer des options à un noyau en corrigeant l'entrée correspondante de noyau (dans la configuration de grub ou lilo), ou alors en basculant en mode "interactif" dans grub/lilo (typiquement en appuyant sur e dans grub pour préciser cette option à la volée.

Concrètement un noyau est représenté par un ensemble de fichiers présents dans /boot (typiquement un couple initrd et vmlinuz, ou bien une bzImage) :

(mando@aldur) (~) $ ls /boot/
config-3.0.0-1-amd64  grub  initrd.img-3.0.0-1-amd64  System.map-3.0.0-1-amd64  vmlinuz-3.0.0-1-amd64


Un module est un "morceau de noyau" que tu peux charger à décharger à volonté. Il faut que ce noyau soit compatible avec le noyau sur lequel tu as démarré. Concrètement c'est un fichier ".ko" rangé dans /lib/modules.

(mando@aldur) (~) $ find /lib/modules/$(uname -r) | grep ".ko$"
/lib/modules/3.0.0-1-amd64/kernel/drivers/staging/usbip/usbip-host.ko
/lib/modules/3.0.0-1-amd64/kernel/drivers/staging/usbip/usbip-core.ko
/lib/modules/3.0.0-1-amd64/kernel/drivers/staging/usbip/vhci-hcd.ko
/lib/modules/3.0.0-1-amd64/kernel/drivers/staging/lirc/lirc_ttusbir.ko
/lib/modules/3.0.0-1-amd64/kernel/drivers/staging/lirc/lirc_sir.ko
/lib/modules/3.0.0-1-amd64/kernel/drivers/staging/lirc/lirc_serial.ko
/lib/modules/3.0.0-1-amd64/kernel/drivers/staging/lirc/lirc_igorplugusb.ko
/lib/modules/3.0.0-1-amd64/kernel/drivers/staging/lirc/lirc_bt829.ko
/lib/modules/3.0.0-1-amd64/kernel/drivers/staging/lirc/lirc_zilog.ko
/lib/modules/3.0.0-1-amd64/kernel/drivers/staging/lirc/lirc_imon.ko
...


Un module est un peu comme un pilote sous windows, à ceci prêt que tu peux l'activer ou le désactiver (en général) en le chargeant ou le déchargeant et que tu peux lui passer des options au moment de le charger. Par exemple le module lirc prend en charge les télécommandes et bttv gère une carte télé.

Le fait de charger le module lirc va permettre de supporter les signaux émis par une télécommande. Le décharger permettra d'ignorer ce que fait la télécommande.

Idem avec bttv pour une carte tv. Mais on se doute que toutes les cartes tv et télécommandes ne fonctionnent pas pareil, et qu'il va peut être falloir donner des informations supplémentaires au module pour qu'il sache quel matériel il doit gérer (ou plutôt comment il doit le gérer).

À tout moment, tu peux voir les modules chargés avec :

lsmod


Pour les charger et les décharger, cf modprobe et rmmod.

man modprobe
man rmmod


Par exemple pour charger /lib/modules/3.0.0-1-amd64/kernel/drivers/staging/lirc/lirc_sir.ko je devrai taper en root :

modprobe lirc_sir


Un module peut être chargé

(1) automatiquement
- par le noyau
- au démarrage, si celui est référencé dans un fichier dédié, par exemple /etc/modules sous Debian.

Dans ce cas, il sera chargé sans option. Ceci peut être gênant car parfois il faut passer des options au module pour qu'il fonctionne correctement. Nous allons voir dans ce qui suit que ce problème peut être levé grâce aux options configurées dans /etc/modprobe.d/*.conf sous Debian.

(2) manuellement on peut préciser à modprobe non seulement le module, mais aussi les options à passer au module.

Exemple : je veux charger le module bttv.ko qui est contenu dans /lib/modules. Alors en temps normal je peux taper (en root ou avec sudo) :

modprobe bttv


Quand on veut passer des options au module c'est un peu différent. Chaque option dépend évidemment du module. Par exemple, le moduel bttv supporte les options card, tuner (etc...). On peut préciser ces deux options et lancer un truc du genre :

modprobe bttv radio=0 card=39 tuner=3 gbuffers=4


À terme, je peux vouloir que quand je tape "modprobe bttv" je puisse sous entendre ces options. C'est ce que je peux faire en créant /etc/modprobe.d/bttv.conf et en écrivant dans ce fichier :

options bttv radio=0 card=39 tuner=3 gbuffers=4


Du coup ces deux commandes seront équivalentes :

modprobe bttv
modprobe bttv radio=0 card=39 tuner=3 gbuffers=4


Supposons que je rajoute dans /etc/modules une ligne ou est écrite "bttv". Ceci signifie sur un système debian "charge le module bttv au démarrage du système". Par défaut debian fera un "modprobe bttv". Mais grâce à /etc/modprobe.d/bttv.conf, il va en réalité déclencher "modprobe bttv radio=0 card=39 tuner=3 gbuffers=4"

Si on revient à ton problème, la question à laquelle tu dois répondre c'est à quoi ce rapporte cette option. À ton noyau ? À un module ? Si c'est un module, à quel module ?

Bonne chance
0